diff options
author | Ian Moffett <ian@osmora.org> | 2025-06-29 20:51:57 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-06-29 20:51:57 -0400 |
commit | 78fe4f99b6cb6c85be3d28fdb7ee8ac6de55575e (patch) | |
tree | d2cc2b9ab9fafaa2c54936d2bd624243d32fea18 /sys/kern/kern_syscall.c | |
parent | 1551310aa5484a483cad4e6ae4a358cb509cbef8 (diff) |
kernel: Introduce SYS_inject syscall
The SYS_inject syscall will allow the user to inject Kernel Runtime Quantums
(KRQs) into the running kernel. As of now, set paths are not supported and the
initial implementation includes a NULL path used to load all deferrable drivers.
Previously during kernel startup, all deferrable drivers were loaded
automatically. This commit makes it so that they are only loaded when
sys_inject() is called with a NULL path.
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/kern/kern_syscall.c')
-rw-r--r-- | sys/kern/kern_syscall.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_syscall.c b/sys/kern/kern_syscall.c index b1deb7a..292fa56 100644 --- a/sys/kern/kern_syscall.c +++ b/sys/kern/kern_syscall.c @@ -35,6 +35,7 @@ #include <sys/mman.h> #include <sys/proc.h> #include <sys/vfs.h> +#include <sys/krq.h> scret_t(*g_sctab[])(struct syscall_args *) = { NULL, /* SYS_none */ @@ -52,6 +53,7 @@ scret_t(*g_sctab[])(struct syscall_args *) = { sys_access, /* SYS_access */ sys_lseek, /* SYS_lseek */ sys_sleep, /* SYS_sleep */ + sys_inject, /* SYS_inject */ }; const size_t MAX_SYSCALLS = NELEM(g_sctab); |