Files
2026-02-05 00:58:38 +01:00

19 lines
526 B
C

#include <zinnia/status.h>
#include <zinnia/syscall_numbers.h>
#include <kernel/compiler.h>
#include <kernel/syscalls.h>
#include <kernel/types.h>
zn_status_t syscall_dispatch(reg_t num, reg_t a0, reg_t a1, reg_t a2, reg_t a3, reg_t a4, reg_t a5) {
switch (num) {
case ZN_SYSCALL_PANIC:
syscall_panic((zn_status_t)a0);
case ZN_SYSCALL_LOG:
return syscall_log((__user const char*)a0, a1);
case ZN_SYSCALL_ARCHCTL:
return syscall_archctl(a0, a1);
}
return ZN_ERR_BAD_SYSCALL;
}