summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit/AMD64/HalHardwareAPIC.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/HalHardwareAPIC.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/HalHardwareAPIC.cpp')
-rw-r--r--Private/HALKit/AMD64/HalHardwareAPIC.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/Private/HALKit/AMD64/HalHardwareAPIC.cpp b/Private/HALKit/AMD64/HalHardwareAPIC.cpp
index cae54658..d587975e 100644
--- a/Private/HALKit/AMD64/HalHardwareAPIC.cpp
+++ b/Private/HALKit/AMD64/HalHardwareAPIC.cpp
@@ -17,8 +17,7 @@ namespace HCore {
void rt_wakeup_thread(HAL::StackFrame* stack) {
HAL::rt_cli();
- stack->Rbp = stack->R15;
- stack->Rsi = stack->Rbp;
+ // TODO
HAL::rt_sti();
}
@@ -33,9 +32,7 @@ static void __rt_hang_proc(void) {
void rt_hang_thread(HAL::StackFrame* stack) {
__asm__ volatile("cli");
- stack->R15 = stack->Rbp;
- stack->Rbp = (HAL::Reg)&__rt_hang_proc;
- stack->Rsp = stack->Rbp;
+ // TODO
__asm__ volatile("sti");
}