aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/interrupts/isr.c
diff options
context:
space:
mode:
authorMarvin Borner2020-04-29 19:21:29 +0200
committerMarvin Borner2020-04-29 19:21:29 +0200
commit4546c75d685475d8b9f215b588364e1d1bbd0b79 (patch)
tree2077f72ad46dfe877f7febdd0692edc139fd7937 /src/kernel/interrupts/isr.c
parent396d7d303d3bf0e796d0c817883ec1dec928352a (diff)
MUCH work in libc
Also cleaned up some syscalls etc
Diffstat (limited to 'src/kernel/interrupts/isr.c')
-rw-r--r--src/kernel/interrupts/isr.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/kernel/interrupts/isr.c b/src/kernel/interrupts/isr.c
index 9d92529..880c23a 100644
--- a/src/kernel/interrupts/isr.c
+++ b/src/kernel/interrupts/isr.c
@@ -49,7 +49,7 @@ void isrs_install()
idt_set_gate(0x80, (unsigned)isr128, 0x08, 0xEE);
- vga_log("Installed Interrupt Service Routines");
+ info("Installed Interrupt Service Routines");
}
irq_handler_t isr_routines[256] = { 0 };
@@ -133,7 +133,12 @@ void fault_handler(struct regs *r)
scheduler(r);
sti();
} else {
- panic("Page fault before multitasking started!");
+ if (faulting_address != (uint32_t)fb) {
+ panic("Page fault before multitasking started!");
+ } else {
+ debug(RED "Fatal video error!" RES);
+ halt_loop();
+ }
}
}
} \ No newline at end of file