aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatasha Moongrave <natasha@256phi.eu>2026-03-13 09:39:20 +0100
committerNatasha Moongrave <natasha@256phi.eu>2026-03-13 09:39:20 +0100
commit3c7a917409871823f58e4db96de0751720326223 (patch)
tree207b9dd8f03fe236573cda415058e96602f77f7c
parentfc652f438e54c4f16e30b4f254300749be3fe8cc (diff)
added comments explaining the handlers in src/interrupts.rs
-rw-r--r--StrixKernel/src/interrupts.rs11
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);