diff options
author | Marvin Borner | 2020-05-09 23:50:24 +0200 |
---|---|---|
committer | Marvin Borner | 2020-05-09 23:50:24 +0200 |
commit | c5b0305b3a6e7e6ec6742b99ceb6a1a0b3c6e286 (patch) | |
tree | 173965f614435bb9740d05bbc365aba7b76d7e45 /src/kernel/interrupts/isr.c | |
parent | e350804dc78ab01aaca6aba33792a652535028d9 (diff) |
Interrupt analysis - removed many useless cli/sti
Diffstat (limited to 'src/kernel/interrupts/isr.c')
-rw-r--r-- | src/kernel/interrupts/isr.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/kernel/interrupts/isr.c b/src/kernel/interrupts/isr.c index 9222406..3bfc2b8 100644 --- a/src/kernel/interrupts/isr.c +++ b/src/kernel/interrupts/isr.c @@ -103,14 +103,12 @@ const char *exception_messages[32] = { "Division By Zero", "Reserved", "Reserved" }; -// Master exception/interrupt/fault handler - halt via panic +// Master exception/interrupt/fault handler - called by asm void fault_handler(struct regs *r) { - cli(); irq_handler_t handler = isr_routines[r->int_no]; if (handler) { handler(r); - sti(); } else { u32 faulting_address; asm("mov %%cr2, %0" : "=r"(faulting_address)); |