summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Van Bossuyt <nvanbossuyt@underside.be>2022-10-07 16:49:04 +0200
committerNicolas Van Bossuyt <nvanbossuyt@underside.be>2022-10-07 16:49:18 +0200
commit31b6386722ef32b6d5074ea286d2e38cae5c289a (patch)
tree71de7e22b185139d09cdf5d16a0e46b1befdd64b
parentb50755d0fa99e3e5af20deb16dddc65e62dc5695 (diff)
meta: Fix build under llvm 15.
-rw-r--r--sources/kernel/arch.h3
-rw-r--r--sources/kernel/syscalls.c38
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)
{