diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-06-22 12:07:42 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-06-22 12:08:06 +0200 |
| commit | f153886c81c7d11b8e249fa769265646216d5584 (patch) | |
| tree | 7007822bed34b11cb6f450e39e867063a56404f5 /dev/kernel/ArchKit/ArchKit.h | |
| parent | c50ae11abc23c0ea5d79fd7044273685c73990d1 (diff) | |
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 <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/ArchKit/ArchKit.h')
| -rw-r--r-- | dev/kernel/ArchKit/ArchKit.h | 13 |
1 files changed, 12 insertions, 1 deletions
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<HAL_DISPATCH_ENTRY, kMaxDispatchCallCount> kSysCalls; -inline Kernel::Array<HAL_DISPATCH_ENTRY, kMaxDispatchCallCount> kKernCalls; +inline Kernel::Array<HAL_KERNEL_DISPATCH_ENTRY, kMaxDispatchCallCount> kKernCalls; #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ |
