From 16872513febbbdee48e493eb92d95fc39ec80484 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 7 Dec 2024 15:49:05 +0100 Subject: FIX: Better RIP gathering, focusing on #8 now. Signed-off-by: Amlal El Mahrouss --- dev/ZKAKit/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc | 4 +--- dev/ZKAKit/HALKit/AMD64/HalInterruptAPI.asm | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'dev/ZKAKit/HALKit') diff --git a/dev/ZKAKit/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/ZKAKit/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc index 80da073d..e40ef071 100644 --- a/dev/ZKAKit/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc +++ b/dev/ZKAKit/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc @@ -122,7 +122,7 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - kcout << "Kernel: Process RIP: " << Kernel::number(rip) << endl; + kcout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << endl; kcout << "Kernel: Process Name: " << process.Leak().Name << endl; kcout << "Kernel: SIGTRAP set.\r"; @@ -134,8 +134,6 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) kcout << "Kernel: PRCFROZE status set..\r"; process.Leak().Status = Kernel::ProcessStatusKind::kFrozen; - - Kernel::ke_stop(RUNTIME_CHECK_UNEXCPECTED); } /// @brief Handle #UD fault. diff --git a/dev/ZKAKit/HALKit/AMD64/HalInterruptAPI.asm b/dev/ZKAKit/HALKit/AMD64/HalInterruptAPI.asm index d136ec93..66dd34f0 100644 --- a/dev/ZKAKit/HALKit/AMD64/HalInterruptAPI.asm +++ b/dev/ZKAKit/HALKit/AMD64/HalInterruptAPI.asm @@ -78,6 +78,7 @@ __ZKA_INT_3: mov rax, idt_handle_breakpoint lea rcx, [rel __ZKA_INT_3_GET_RIP] + sub rcx, 16 mov [rcx], rcx call rax -- cgit v1.2.3