summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc')
-rw-r--r--dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
index be6d0af5..0c2d0960 100644
--- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
+++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
@@ -61,8 +61,7 @@ EXTERN_C void idt_handle_scheduler(Kernel::UIntPtr rsp) {
hal_idt_send_eoi(32);
- while (kIsRunning)
- ;
+ while (kIsRunning);
kIsRunning = YES;
@@ -148,8 +147,8 @@ EXTERN_C Kernel::Void hal_system_call_enter(Kernel::UIntPtr rcx_hash,
/// @brief Enter Kernel call from assembly (libDDK only).
/// @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) {
+EXTERN_C Kernel::Void hal_kernel_call_enter(Kernel::UIntPtr rcx_hash, Kernel::SizeT cnt,
+ Kernel::UIntPtr arg, Kernel::SizeT sz) {
hal_idt_send_eoi(51);
if (!Kernel::kRootUser) return;
@@ -159,7 +158,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);
}
}
}