From b2978f087f2df226dc877d3c881d1e0df2fbfd41 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Fri, 26 Apr 2024 16:43:21 -0400 Subject: kernel: sched: Move sys_exit() from kern_syscall.c Signed-off-by: Ian Moffett --- sys/include/sys/sched.h | 4 ++++ sys/kern/kern_sched.c | 7 +++++++ sys/kern/kern_syscall.c | 7 ------- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/sys/include/sys/sched.h b/sys/include/sys/sched.h index 6689e3b..8245120 100644 --- a/sys/include/sys/sched.h +++ b/sys/include/sys/sched.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -43,6 +44,9 @@ void sched_exit(void); void sched_context_switch(struct trapframe *tf); void sched_rest(void); +__noreturn +uint64_t sys_exit(struct syscall_args *args); + __noreturn void sched_init_processor(struct cpu_info *ci); diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c index 1b4c987..c073224 100644 --- a/sys/kern/kern_sched.c +++ b/sys/kern/kern_sched.c @@ -457,6 +457,13 @@ sched_context_switch(struct trapframe *tf) sched_oneshot(false); } +uint64_t +sys_exit(struct syscall_args *args) +{ + sched_exit(); + __builtin_unreachable(); +} + void sched_init(void) { diff --git a/sys/kern/kern_syscall.c b/sys/kern/kern_syscall.c index e892c39..b575346 100644 --- a/sys/kern/kern_syscall.c +++ b/sys/kern/kern_syscall.c @@ -35,13 +35,6 @@ #include #include -__noreturn static uint64_t -sys_exit(struct syscall_args *args) -{ - sched_exit(); - __builtin_unreachable(); -} - uint64_t(*g_syscall_table[__MAX_SYSCALLS])(struct syscall_args *args) = { sys_exit, sys_write, -- cgit v1.2.3