From 28c3d9e8174eea70d3e230d6c34875b1374627be Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Mon, 12 Sep 2022 23:14:45 -0400 Subject: [PATCH] minor rework --- Kernel.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/Kernel.c b/Kernel.c index 4b0acb5..9a8fd27 100644 --- a/Kernel.c +++ b/Kernel.c @@ -15,9 +15,11 @@ */ -#define COND_WAIT_TIMEOUT_MS 100u -#define WORD_SIZE sizeof(void*) -#define WORD_ALIGN(x) (((x) + WORD_SIZE) & ~(WORD_SIZE)) +#define WAIT_TIMEOUT_MS 100u +#define WORD_SIZE sizeof(void*) + +#define WORD_ALIGN(x) \ + (((x) + WORD_SIZE) & ~(WORD_SIZE)) typedef struct Task_T { long* stack_top; // top of task's stack @@ -267,7 +269,7 @@ static void CpuIdle(void* arg) { Kernel_Yield(); AcquireLock(); - WaitForCondition(&ScheduleCond, &ScheduleLock, COND_WAIT_TIMEOUT_MS); + WaitForCondition(&ScheduleCond, &ScheduleLock, WAIT_TIMEOUT_MS); ReleaseLock(); } } @@ -298,7 +300,7 @@ void Kernel_Run(void) while(1) { AcquireLock(); - WaitForCondition(&ScheduleCond, &ScheduleLock, COND_WAIT_TIMEOUT_MS); + WaitForCondition(&ScheduleCond, &ScheduleLock, WAIT_TIMEOUT_MS); if (!ReadyQueue.head) { bool done = true; @@ -327,6 +329,20 @@ void* Kernel_Allocate(size_t sz) return ptr; } +#if 0 +long Kernel_MsgSend(Task_T* task, const void* sdata, size_t nsdata, void* rdata, size_t nrdata) +{ +} + +long Kernel_MsgReceive(void* rdata, size_t nrdata) +{ +} + +long Kernel_MsgReply(long status, void* sdata, size_t nsdata) +{ +} +#endif + /*************************************** Main Routine ***************************************/ -- 2.54.0