diff options
| -rw-r--r-- | StrixKernel/src/interrupts.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/StrixKernel/src/interrupts.rs b/StrixKernel/src/interrupts.rs index 62a1c02..bfceef7 100644 --- a/StrixKernel/src/interrupts.rs +++ b/StrixKernel/src/interrupts.rs @@ -13,14 +13,17 @@ lazy_static! { static ref IDT: InterruptDescriptorTable = { let mut idt = InterruptDescriptorTable::new(); idt.breakpoint.set_handler_fn(breakpoint_handler); // breakpoint exception handler -unsafe { - idt.double_fault.set_handler_fn(double_fault_handler) + unsafe { + idt.double_fault.set_handler_fn(double_fault_handler) // Double fault handler (when a fault occurs and the system cannot find the handler for said fault it causes a nother fault thus a double fault) .set_stack_index(gdt::DOUBLE_FAULT_IST_INDEX); } - idt[InterruptIndex::Timer.as_usize()] + + idt.page_fault.set_handler_fn(page_fault_handler); // Page fault handler (Caused when the kernel writes to non-existing/out of bounds virtual memory) + + idt[InterruptIndex::Timer.as_usize()] // Timer interrupt handler. Sent every frame .set_handler_fn(timer_interrupt_handler); - idt[InterruptIndex::Keyboard.as_usize()] + idt[InterruptIndex::Keyboard.as_usize()] // Keyboard interupt handler. Sent every time a keyboard input is recieved .set_handler_fn(keyboard_interrupt_handler); |
