aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/interrupts/isr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/interrupts/isr.c')
-rw-r--r--src/kernel/interrupts/isr.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/kernel/interrupts/isr.c b/src/kernel/interrupts/isr.c
index eb932b2..d89f581 100644
--- a/src/kernel/interrupts/isr.c
+++ b/src/kernel/interrupts/isr.c
@@ -3,6 +3,7 @@
#include <kernel/system.h>
#include <kernel/lib/string.h>
#include <kernel/lib/stdio.h>
+#include <kernel/graphics/vesa.h>
// Install ISRs in IDT
void isrs_install()
@@ -119,6 +120,11 @@ void fault_handler(struct regs *r)
// halt_loop(); // Idk loop?
char *message = (char *) exception_messages[r->int_no];
strcat(message, " Exception");
- panic(message);
+
+ // Show message if there wasn't an error in video memory
+ if (faulting_address != (uint32_t) fb)
+ panic(message);
+ else
+ halt_loop();
}
} \ No newline at end of file