diff options
Diffstat (limited to 'kernel/task/sched.c')
-rw-r--r-- | kernel/task/sched.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/kernel/task/sched.c b/kernel/task/sched.c index 1ffd369..da7b59d 100644 --- a/kernel/task/sched.c +++ b/kernel/task/sched.c @@ -2,7 +2,6 @@ #include "task/task.h" #include "task/sched.h" #include "mcu/task/context.h" -#include "mcu/task/context.h" struct tcb_t* volatile current = 0; @@ -11,8 +10,6 @@ static struct tcb_t* volatile idle = 0; struct list_head ready = LIST_HEAD_INIT(ready); -void* volatile kstack; - void spawn(struct tcb_t* const tcb) { tcb->sp = stack_init(tcb->mem_low, tcb->mem_high, tcb->entry, tcb->id); INIT_LIST_HEAD(&tcb->queue); @@ -26,32 +23,25 @@ void spawn_idle(struct tcb_t* const tcb) { } void yield(void) { - cli(); context_save(); schedule(); context_restore(); - sei(); ret(); } - void sched_init() { - kstack_init(&kstack); schedule(); context_restore(); sei(); ret(); } - #include <avr/io.h> void toggle_led() { DDRB |= (1 << 7); PORTB ^= (1 << 7); } - - void schedule() { toggle_led(); if(!list_empty(&ready)) { |