From b2920331b103d43793ac8be927a80a593ce0be5a Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Sat, 17 Oct 2026 16:21:55 -0400 Subject: add pcb stop syscall and scheduler dequeueing --- api/process.h | 4 ++-- api/syscall.h | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'api') diff --git a/api/process.h b/api/process.h index 05b7632..52e787e 100644 --- a/api/process.h +++ b/api/process.h @@ -8,11 +8,11 @@ typedef intmax_t pid_t; enum pcb_state { _PCB_STATE_INVALID = 0, - PCB_STATE_DEAD, + PCB_STATE_STOPPED, PCB_STATE_EMBRYO, PCB_STATE_READY, PCB_STATE_RUNNING, - PCB_STATE_WAITING, + PCB_STATE_BLOCKED_KOBJ, PCB_STATE_BLOCKED_MAIL }; diff --git a/api/syscall.h b/api/syscall.h index 62b9917..4a5d3e4 100644 --- a/api/syscall.h +++ b/api/syscall.h @@ -208,6 +208,8 @@ enum SYSCALL_PCB_SWAP, SYSCALL_PCB_STACK, SYSCALL_PCB_READY, + SYSCALL_PCB_STOP, + SYSCALL_PCB_STATE, }; #define SYSCALL_PERM_PCB_PID (JOVE_PERM_READ) @@ -216,7 +218,9 @@ enum #define SYSCALL_PERM_PCB_RECV (JOVE_PERM_READ | JOVE_PERM_WRITE) #define SYSCALL_PERM_PCB_SWAP (SYSCALL_PERM_PCB_SEND | SYSCALL_PERM_PCB_RECV) #define SYSCALL_PERM_PCB_STACK (JOVE_PERM_WRITE | JOVE_PERM_MUTATE) -#define SYSCALL_PERM_PCB_READY (JOVE_PERM_ALL) +#define SYSCALL_PERM_PCB_READY (JOVE_PERM_WRITE | JOVE_PERM_MUTATE) +#define SYSCALL_PERM_PCB_STOP (JOVE_PERM_WRITE | JOVE_PERM_MUTATE) +#define SYSCALL_PERM_PCB_STATE (JOVE_PERM_READ) #define SYSCALL_PERM_PCB_SEND_OBJDIR (JOVE_PERM_WRITE) #define SYSCALL_PERM_PCB_RECV_DST (JOVE_PERM_MUTATE) -- cgit v1.2.3