From d07a644f542a7344941d1e4fed28c09531ba12c2 Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Fri, 18 Feb 2022 21:19:27 +0000 Subject: thread switching and sleeping appears to be working --- kc/core/task.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'kc/core/task.h') diff --git a/kc/core/task.h b/kc/core/task.h index 346630a..bea4756 100644 --- a/kc/core/task.h +++ b/kc/core/task.h @@ -5,8 +5,8 @@ enum kc_thread_status { READY, - STARTED, - YIELDED, + RUNNING, + SLEEPING, BLOCKED, TERMINATED }; @@ -20,9 +20,9 @@ struct kc_thread_state struct kc_thread { - struct kc_thread *prev; struct kc_thread *next; uint64_t time_elapsed; + uint64_t sleep_expiration; enum kc_thread_status status; struct kc_thread_state state; }; @@ -33,4 +33,5 @@ extern void cpu_set_thread( uint64_t *cpu_tss_rsp0); void task_init(void); +void task_schedule(void); -- cgit v1.3.1-1-g115d