summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-10-17 16:21:55 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-10-17 16:21:55 -0400
commitb2920331b103d43793ac8be927a80a593ce0be5a (patch)
treea91934ff588ffe02697b530899c8c0227521e04a /api
parentd8aca3ff2501f9a77e22e5afb7a30380aed205af (diff)
downloadjove-kernel-main.tar.gz
jove-kernel-main.tar.bz2
jove-kernel-main.zip
add pcb stop syscall and scheduler dequeueingHEADmain
Diffstat (limited to 'api')
-rw-r--r--api/process.h4
-rw-r--r--api/syscall.h6
2 files changed, 7 insertions, 3 deletions
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)