refactor: decouple i386 specific instruction invocation
[lunaix-os.git] / lunaix-os / kernel / asm / x86 / interrupts.c
diff --git a/lunaix-os/kernel/asm/x86/interrupts.c b/lunaix-os/kernel/asm/x86/interrupts.c
deleted file mode 100644 (file)
index c79ed07..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <arch/x86/interrupts.h>
-#include <hal/cpu.h>
-#include <libc/stdio.h>
-#include <lunaix/tty/tty.h>
-
-void
-panic_msg(const char* msg)
-{
-    tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_RED);
-    tty_clear_line(10);
-    tty_clear_line(11);
-    tty_clear_line(12);
-    tty_set_cpos(0, 11);
-    printf("  %s", msg);
-}
-
-void
-panic(const char* msg, isr_param* param)
-{
-    char buf[1024];
-    sprintf(buf,
-            "INT %u: (%x) [%p: %p] %s",
-            param->vector,
-            param->err_code,
-            param->cs,
-            param->eip,
-            msg);
-    panic_msg(buf);
-    while (1)
-        ;
-}
-
-void
-interrupt_handler(isr_param* param)
-{
-    switch (param->vector) {
-        case 0:
-            panic("Division by 0", param);
-            break; // never reach
-        case FAULT_GENERAL_PROTECTION:
-            panic("General Protection", param);
-            break; // never reach
-        case FAULT_PAGE_FAULT:
-            void* pg_fault_ptr = cpu_rcr2();
-            if (pg_fault_ptr) {
-                panic("Page Fault", param);
-            } else {
-                panic("Null pointer reference", param);
-            }
-            break; // never reach
-        case LUNAIX_SYS_PANIC:
-            panic_msg((char*)(param->registers.edi));
-            while (1)
-                ;
-            break; // never reach
-        default:
-            panic("Unknown Interrupt", param);
-            break; // never reach
-    }
-}
\ No newline at end of file