1 #include <arch/x86/interrupts.h>
3 #include <libc/stdio.h>
4 #include <lunaix/tty/tty.h>
7 panic_msg(const char* msg)
9 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_RED);
18 panic(const char* msg, isr_param* param)
22 "INT %u: (%x) [%p: %p] %s",
34 interrupt_handler(isr_param* param)
36 switch (param->vector) {
38 panic("Division by 0", param);
40 case FAULT_GENERAL_PROTECTION:
41 panic("General Protection", param);
43 case FAULT_PAGE_FAULT:
44 void* pg_fault_ptr = cpu_rcr2();
46 panic("Page Fault", param);
48 panic("Null pointer reference", param);
51 case LUNAIX_SYS_PANIC:
52 panic_msg((char*)(param->registers.edi));
57 panic("Unknown Interrupt", param);