summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-28 17:48:25 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-28 17:49:13 +0100
commit1ab61e6bb20dd39f85fca30c1d0a83db12fea9d6 (patch)
tree3c3912c242e8dc822ce3cbe9871b4b5e7363f336 /Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
parentf77a876e0ac2611079ee188933f0f3de222dd08a (diff)
HCoreKrnl: Fix IDT, will get the rt_handle_interrupts right, and not
corrupt the registers, see below. - New register layout in Stackframe. - Thinking about a way to wrap this handler into a valid win64 call. Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp')
-rw-r--r--Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp12
1 files changed, 1 insertions, 11 deletions
diff --git a/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp b/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
index d1483ef3..486c1513 100644
--- a/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
+++ b/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
@@ -11,17 +11,7 @@
#include <KernelKit/ProcessManager.hpp>
#include <NewKit/String.hpp>
-#include "KernelKit/DebugOutput.hpp"
-
-extern "C" void idt_handle_system_call(HCore::UIntPtr rsp) {
- HCore::HAL::StackFrame *sf = reinterpret_cast<HCore::HAL::StackFrame *>(rsp);
- rt_syscall_handle(sf);
-
- HCore::kcout << "System Call with ID: "
- << HCore::StringBuilder::FromInt("syscall{%}", sf->R15);
-}
-
-extern "C" void idt_handle_gpf(HCore::UIntPtr rsp) {
+EXTERN_C void idt_handle_gpf(HCore::UIntPtr rsp) {
MUST_PASS(HCore::ProcessManager::Shared().Leak().GetCurrent());
HCore::kcout << HCore::StringBuilder::FromInt("rsp{%}", rsp);