summaryrefslogtreecommitdiff
path: root/kernel/src/arch/x86_64/interrupts/panic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/arch/x86_64/interrupts/panic.cpp')
-rw-r--r--kernel/src/arch/x86_64/interrupts/panic.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/src/arch/x86_64/interrupts/panic.cpp b/kernel/src/arch/x86_64/interrupts/panic.cpp
index 13adec2..c43dc66 100644
--- a/kernel/src/arch/x86_64/interrupts/panic.cpp
+++ b/kernel/src/arch/x86_64/interrupts/panic.cpp
@@ -23,14 +23,14 @@ void panic(int_frame_t* ctx, const char* msg) {
memory::paging::enablekernel();
- // arch::x86_64::process_t* proc = arch::x86_64::cpu::data()->temp.proc;
- // if(proc) {
- // uint64_t cr2;
- // asm volatile("mov %%cr2, %0" : "=r"(cr2) : : "memory");
- // Log::SerialDisplay(LEVEL_MESSAGE_FAIL,"process %d fired cpu exception with vec %d, rip 0x%p, cr2 0x%p, error code 0x%p\n",proc->id,ctx->vec,ctx->rip,cr2,ctx->err_code);
- // arch::x86_64::scheduling::kill(proc);
- // schedulingSchedule(0);
- // }
+ arch::x86_64::process_t* proc = arch::x86_64::cpu::data()->temp.proc;
+ if(proc) {
+ uint64_t cr2;
+ asm volatile("mov %%cr2, %0" : "=r"(cr2) : : "memory");
+ Log::SerialDisplay(LEVEL_MESSAGE_FAIL,"process %d fired cpu exception with vec %d, rip 0x%p, cr2 0x%p, error code 0x%p\n",proc->id,ctx->vec,ctx->rip,cr2,ctx->err_code);
+ arch::x86_64::scheduling::kill(proc);
+ schedulingSchedule(0);
+ }
extern locks::spinlock log_lock;
log_lock.unlock();