From 78fe4f99b6cb6c85be3d28fdb7ee8ac6de55575e Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sun, 29 Jun 2025 20:51:57 -0400 Subject: 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 --- sys/kern/kern_syscall.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/kern/kern_syscall.c') 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 #include #include +#include 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); -- cgit v1.2.3