From f153886c81c7d11b8e249fa769265646216d5584 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 22 Jun 2025 12:07:42 +0200 Subject: feat: kernel: HAL: reworked `kerncall` system. how: - By taking additional arguments according to DDKKit. - Adding a `HAL_KERNEL_DISPATCH_ENTRY` and `rt_kerncall_proc` Signed-off-by: Amlal El Mahrouss --- dev/kernel/ArchKit/ArchKit.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'dev/kernel/ArchKit') diff --git a/dev/kernel/ArchKit/ArchKit.h b/dev/kernel/ArchKit/ArchKit.h index a9dca240..04af0918 100644 --- a/dev/kernel/ArchKit/ArchKit.h +++ b/dev/kernel/ArchKit/ArchKit.h @@ -77,9 +77,20 @@ struct HAL_DISPATCH_ENTRY final { operator bool() { return fHooked; } }; + +typedef Kernel::Void (*rt_kerncall_proc)(Kernel::SizeT, Kernel::VoidPtr, Kernel::SizeT); + +struct HAL_KERNEL_DISPATCH_ENTRY final { + Kernel::UInt64 fHash; + Kernel::Bool fHooked; + rt_kerncall_proc fProc; + + operator bool() { return fHooked; } +}; + inline Kernel::Array kSysCalls; -inline Kernel::Array kKernCalls; +inline Kernel::Array kKernCalls; #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ -- cgit v1.2.3