aboutsummaryrefslogtreecommitdiff
path: root/kernel/task/sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/task/sched.c')
-rw-r--r--kernel/task/sched.c10
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)) {