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/HALKit/AMD64 | |
| 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/HALKit/AMD64')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc index be6d0af5..c2988767 100644 --- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc +++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc @@ -149,7 +149,7 @@ EXTERN_C Kernel::Void hal_system_call_enter(Kernel::UIntPtr rcx_hash, /// @param stack the stack pushed from assembly routine. /// @return nothing. EXTERN_C Kernel::Void hal_kernel_call_enter(Kernel::UIntPtr rcx_hash, - Kernel::UIntPtr rdx_kerncall_arg) { + Kernel::SizeT cnt, Kernel::UIntPtr arg, Kernel::SizeT sz) { hal_idt_send_eoi(51); if (!Kernel::kRootUser) return; @@ -159,7 +159,7 @@ EXTERN_C Kernel::Void hal_kernel_call_enter(Kernel::UIntPtr rcx_hash, for (SizeT i = 0UL; i < kMaxDispatchCallCount; ++i) { if (kKernCalls[i].fHooked && rcx_hash == kKernCalls[rcx_hash].fHash) { if (kKernCalls[i].fProc) { - (kKernCalls[i].fProc)((Kernel::VoidPtr) rdx_kerncall_arg); + (kKernCalls[i].fProc)(cnt, (Kernel::VoidPtr) arg, sz); } } } |
