From cc23ea5a4b38807e79aceb23e6f43e965926618f Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Fri, 9 Oct 2026 10:24:41 -0400 Subject: add basic scheduler logic. rename init rootdir indexes --- sys/syscall_pcb.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'sys/syscall_pcb.c') diff --git a/sys/syscall_pcb.c b/sys/syscall_pcb.c index b77be95..a37e4bb 100644 --- a/sys/syscall_pcb.c +++ b/sys/syscall_pcb.c @@ -1,14 +1,21 @@ #include "api/error.h" +#include "jove.h" #include "lib/printf.h" +#include "proc/process.h" +#include "proc/scheduler.h" #include "syscall.h" +#include "errno.h" int s_syscall_pcb_yield(jove_owned_obj_t *pcb_obj, size_t bytes_left, void *payload_data) { - kprintf("%s: Stub!\n", __func__); - return 0; + size_t bytes_needed = sizeof(pid_t); + CHECK_TOOSMALL(bytes_needed, bytes_left, "Message too small for payload"); + + pid_t subject_pid = *((pid_t*)payload_data); + return scheduler_yield(subject_pid); } int -- cgit v1.2.3