diff options
author | Nicolas Van Bossuyt <nvanbossuyt@underside.be> | 2022-10-07 16:49:04 +0200 |
---|---|---|
committer | Nicolas Van Bossuyt <nvanbossuyt@underside.be> | 2022-10-07 16:49:18 +0200 |
commit | 31b6386722ef32b6d5074ea286d2e38cae5c289a (patch) | |
tree | 71de7e22b185139d09cdf5d16a0e46b1befdd64b | |
parent | b50755d0fa99e3e5af20deb16dddc65e62dc5695 (diff) |
meta: Fix build under llvm 15.
-rw-r--r-- | sources/kernel/arch.h | 3 | ||||
-rw-r--r-- | sources/kernel/syscalls.c | 38 |
2 files changed, 21 insertions, 20 deletions
diff --git a/sources/kernel/arch.h b/sources/kernel/arch.h index 19f6c162..e86e1abd 100644 --- a/sources/kernel/arch.h +++ b/sources/kernel/arch.h @@ -3,11 +3,12 @@ #include <bal/abi.h> #include <bal/boot.h> #include <brutal-io> + #include "kernel/tasking.h" IoWriter arch_debug(void); -void arch_entry_main(); +void arch_entry_main(Handover *handover, uint64_t magic); void arch_entry_other(void); diff --git a/sources/kernel/syscalls.c b/sources/kernel/syscalls.c index 4447ead0..b9af0a0b 100644 --- a/sources/kernel/syscalls.c +++ b/sources/kernel/syscalls.c @@ -481,26 +481,26 @@ BrResult sys_out(BrIoArgs *args) return BR_SUCCESS; } -typedef BrResult BrSyscallFn(); +typedef BrResult BrSyscallFn(void *args); BrSyscallFn *syscalls[BR_SYSCALL_COUNT] = { - [BR_SC_LOG] = sys_log, - [BR_SC_NOW] = sys_now, - [BR_SC_MAP] = sys_map, - [BR_SC_UNMAP] = sys_unmap, - [BR_SC_CREATE] = sys_create, - [BR_SC_DUP] = sys_dup, - [BR_SC_START] = sys_start, - [BR_SC_EXIT] = sys_exit, - [BR_SC_IPC] = sys_ipc, - [BR_SC_DROP] = sys_drop, - [BR_SC_CLOSE] = sys_close, - [BR_SC_BIND] = sys_bind, - [BR_SC_UNBIND] = sys_unbind, - [BR_SC_ACK] = sys_ack, - [BR_SC_INSPECT] = sys_inspect, - [BR_SC_IN] = sys_in, - [BR_SC_OUT] = sys_out, + [BR_SC_LOG] = (BrSyscallFn *)sys_log, + [BR_SC_NOW] = (BrSyscallFn *)sys_now, + [BR_SC_MAP] = (BrSyscallFn *)sys_map, + [BR_SC_UNMAP] = (BrSyscallFn *)sys_unmap, + [BR_SC_CREATE] = (BrSyscallFn *)sys_create, + [BR_SC_DUP] = (BrSyscallFn *)sys_dup, + [BR_SC_START] = (BrSyscallFn *)sys_start, + [BR_SC_EXIT] = (BrSyscallFn *)sys_exit, + [BR_SC_IPC] = (BrSyscallFn *)sys_ipc, + [BR_SC_DROP] = (BrSyscallFn *)sys_drop, + [BR_SC_CLOSE] = (BrSyscallFn *)sys_close, + [BR_SC_BIND] = (BrSyscallFn *)sys_bind, + [BR_SC_UNBIND] = (BrSyscallFn *)sys_unbind, + [BR_SC_ACK] = (BrSyscallFn *)sys_ack, + [BR_SC_INSPECT] = (BrSyscallFn *)sys_inspect, + [BR_SC_IN] = (BrSyscallFn *)sys_in, + [BR_SC_OUT] = (BrSyscallFn *)sys_out, }; BrResult syscall_dispatch(BrSyscall syscall, BrArg args) @@ -512,7 +512,7 @@ BrResult syscall_dispatch(BrSyscall syscall, BrArg args) task_begin_syscall(); - BrResult result = syscalls[syscall](args); + BrResult result = syscalls[syscall]((void *)args); if (result != BR_SUCCESS && result != BR_TIMEOUT) { |