summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit/AMD64/HalCoreInterruptHandler.cpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-27 11:58:54 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-27 11:58:54 +0100
commita33d9510bd36a9fdb98f291250a025cd4bec8bc1 (patch)
treef060a1f0624cf538c34abf700091bb7350a36af1 /Private/HALKit/AMD64/HalCoreInterruptHandler.cpp
parent9614c53b82037f77d5b57777560f8a320cb2ac4f (diff)
Kernel: working on interrupts, almost fix them.
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit/AMD64/HalCoreInterruptHandler.cpp')
-rw-r--r--Private/HALKit/AMD64/HalCoreInterruptHandler.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Private/HALKit/AMD64/HalCoreInterruptHandler.cpp b/Private/HALKit/AMD64/HalCoreInterruptHandler.cpp
index 5a353b6e..70b6e782 100644
--- a/Private/HALKit/AMD64/HalCoreInterruptHandler.cpp
+++ b/Private/HALKit/AMD64/HalCoreInterruptHandler.cpp
@@ -49,6 +49,13 @@ static const char* kExceptionMessage[32] = {
/// @brief System call interrupt (like DOS and NT)
#define kKernelSyscallInterrupt (0x21)
-EXTERN_C HCore::UIntPtr rt_handle_interrupts(HCore::UIntPtr rsp) {
+extern "C" HCore::UIntPtr rt_handle_interrupts(HCore::UIntPtr &rsp) {
+ HCore::HAL::rt_cli();
+
+ HCore::HAL::StackFramePtr sf = (HCore::HAL::StackFramePtr)rsp;
+
+ HCore::HAL::rt_sti();
return rsp;
}
+
+