From a61201b8047ebe278cfb281723a4bf6c82556472 Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Thu, 6 Jan 2022 15:51:48 -0800 Subject: Scheduling --- src/sys/core.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'src/sys/core.c') diff --git a/src/sys/core.c b/src/sys/core.c index 6bd2abf..204eb55 100644 --- a/src/sys/core.c +++ b/src/sys/core.c @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include @@ -10,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +22,8 @@ char* os_info_v = "?"; char* os_info_v = VERSION; #endif +void testlocal(void); + // Initialize IRQs void sysinit(void) { @@ -53,4 +55,28 @@ void sysinit(void) enablefiq(); // Start Scheduler + init_scheduler(); + add_thread(testlocal, 0); + add_thread(testlocal, 1); + add_thread(testlocal, 3); + add_thread(testlocal, 0); + add_thread(testlocal, 5); + add_thread(testlocal, 8); + delay(0x80000000); + schedule(); +} + +struct Mutex testm = {.addr = (void*)0xDEADBEEF, .pid = NULL_PID}; +void testlocal(void) +{ + unsigned char testd = 0xDE; + struct Thread* t = scheduler.rthread_ll->data; + delay(0x04000000); + testd -= 50; + uart_string("Ran Thread "); + delay(0x04000000); + uart_10(t->data.pid); + uart_char(' '); + uart_10(testd); + uart_char('\n'); } -- cgit v1.2.1