summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp')
-rw-r--r--Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp b/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp
index 4f1ed4da..2e75b6cb 100644
--- a/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp
+++ b/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp
@@ -14,10 +14,9 @@
HCore::Array<void (*)(HCore::Int32 id, HCore::HAL::StackFrame *), kMaxSyscalls>
kSyscalls;
-// IDT System Call Handler.
-// NOTE: don't trust the user.
+/// @brief Interrupt system call handler.
extern "C" void rt_syscall_handle(HCore::HAL::StackFrame *stack) {
for (HCore::SizeT index = 0UL; index < kMaxSyscalls; ++index) {
- (kSyscalls[index].Leak().Leak())(stack->R15, stack);
+ if (kSyscalls[index]) (kSyscalls[index].Leak().Leak())(stack->R15, stack);
}
}