diff options
author | Christian Cunningham <cc@localhost> | 2022-02-13 01:54:51 -0700 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-02-13 01:54:51 -0700 |
commit | 958696be616aaaa4fe18fc2b886216f191bb6f9b (patch) | |
tree | 1bdef3ca97744487cfaad680665adce83dc60d47 /include/sys | |
parent | fcf70bcd6a2b2d3bbf76280041438fb1abf33d52 (diff) |
Mutex Waiting Implemented
Svc 4 and 5
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/schedule.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/sys/schedule.h b/include/sys/schedule.h index cb784c5..336ab4a 100644 --- a/include/sys/schedule.h +++ b/include/sys/schedule.h @@ -27,12 +27,12 @@ struct Thread { void* pc; void* sp; // Store r0-r12,lr on stack unsigned long sp_base; - void* mptr; + unsigned long cpsr; unsigned long pid; unsigned char priority; unsigned char preempt; unsigned short status; - unsigned long cpsr; + void* mptr; }; struct ThreadRotBuffer { @@ -60,10 +60,12 @@ void add_thread(void* pc, void* arg, unsigned char priority); void draw_stacks(void); void uart_scheduler(void); struct Thread* next_thread(void); -/// TODO: ENSURE IRQ/ FIQ entry switches +/// TODO: ENSURE IRQ/ FIQ entry switches /// to user mode then calls the SVC call extern void schedule(void); extern void cleanup(void); void yield(void); +void sched_mutex_yield(void* m); +void sched_mutex_resurrect(void* m); #endif |