diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-10-04 10:49:41 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-10-04 10:49:41 -0400 |
| commit | 8d48bbd9746228b63bafa5f92b621998d7d8f3d3 (patch) | |
| tree | fbaba69059c2e28d5098da4c9be357c38e406626 /sys/syscall_pcb.c | |
| parent | 465cba0c00bfc5d89bf10ce353b0adf40bdc098d (diff) | |
| download | jove-kernel-8d48bbd9746228b63bafa5f92b621998d7d8f3d3.tar.gz jove-kernel-8d48bbd9746228b63bafa5f92b621998d7d8f3d3.tar.bz2 jove-kernel-8d48bbd9746228b63bafa5f92b621998d7d8f3d3.zip | |
move init fully to proc. remove init pages prealloc. prepare for scheduling
Diffstat (limited to 'sys/syscall_pcb.c')
| -rw-r--r-- | sys/syscall_pcb.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sys/syscall_pcb.c b/sys/syscall_pcb.c new file mode 100644 index 0000000..b77be95 --- /dev/null +++ b/sys/syscall_pcb.c @@ -0,0 +1,26 @@ +#include "api/error.h" +#include "lib/printf.h" +#include "syscall.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; +} + +int +_syscall_handle_pcb(syscall_context_t *ctx) +{ + switch(ctx->header->callid) { + case SYSCALL_PCB_YIELD: + if(ctx->target.permissions & SYSCALL_PERM_PCB_YIELD) + return s_syscall_pcb_yield(ctx->target.obj, ctx->bytes_left, ctx->payload); + return -EPERM; + + default: + return -EBADCALL; + } +} |
