From 9de9cc652377a15b2713b80bdad0f6b97e59d655 Mon Sep 17 00:00:00 2001 From: Gregory Bowne Date: Wed, 19 Nov 2025 08:44:15 -0800 Subject: [PATCH] Update scheduler.h --- kernel/scheduler.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/kernel/scheduler.h b/kernel/scheduler.h index d6b6515..80aaed2 100644 --- a/kernel/scheduler.h +++ b/kernel/scheduler.h @@ -4,18 +4,21 @@ #include #define MAX_TASKS 8 -#define STACK_SIZE 1024 +#define STACK_SIZE 1024 // in bytes typedef struct task { uint32_t id; - void (*entry)(void); - uint32_t *stack_ptr; + + // The most important field: + // Where was the stack pointer when we last left this task? + uint32_t *stack_ptr; + struct task *next; } task_t; void scheduler_init(); void scheduler_add_task(void (*entry)(void)); void scheduler_schedule(); -void scheduler_yield(); // Optional for cooperative scheduling +void scheduler_yield(); #endif // SCHEDULER_H