aboutsummaryrefslogtreecommitdiff
path: root/src/sys/core.c
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-01-11 09:32:31 -0700
committerChristian Cunningham <cc@localhost>2022-01-11 09:32:31 -0700
commit516df5812ac64d87ac2e32ebf0211534ea0abaa7 (patch)
tree2850df144c282e96dfa15a6413b3ba0a29cdf9c4 /src/sys/core.c
parent6d4d2fe7fc4a0d2c70b64d9c232ef2758dd8bf80 (diff)
Update stuff
Diffstat (limited to 'src/sys/core.c')
-rw-r--r--src/sys/core.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/sys/core.c b/src/sys/core.c
index e590e5c..b492548 100644
--- a/src/sys/core.c
+++ b/src/sys/core.c
@@ -50,19 +50,16 @@ void sysinit(void)
lfb_init();
lfb_showpicture();
+ // Start Scheduler
+ init_scheduler();
+
// Enable IRQ & FIQ
enableirq();
enablefiq();
- // Start Scheduler
- init_scheduler();
add_thread(testlocal, 0);
add_thread(testlocal, 1);
add_thread(testlocal, 3);
- //delay(0x20000000);
- schedule();
- heap_info();
- sched_info();
}
struct Mutex testm = {.addr = (void*)0xDEADBEEF, .pid = NULL_PID};
@@ -95,5 +92,23 @@ void testlocal(void)
add_thread(testlocal1, 1);
schedule();
}
- uart_string("Done!\n");
+ if (t->data.pid == 3) {
+ yield();
+ yield();
+ yield();
+ yield();
+ yield();
+ yield();
+ yield();
+ // Example
+ /*
+ while (uart_tx_full) {
+ t->data.status = THREAD_WAITING;
+ schedule();
+ } // Will wait until uart_tx is not full
+ */
+ }
+ uart_string("Done! ");
+ uart_10(t->data.pid);
+ uart_char('\n');
}