diff --git a/src/interrupts.rs b/src/interrupts.rs index e94bec1..1ed361c 100644 --- a/src/interrupts.rs +++ b/src/interrupts.rs @@ -1,8 +1,15 @@ use x86_64::structures::idt::{Idt, ExceptionStackFrame}; +lazy_static! { + static ref IDT: Idt = { + let mut idt = Idt::new(); + idt.breakpoint.set_handler_fn(breakpoint_handler); + idt + }; +} + pub fn init() { - let mut idt = Idt::new(); - idt.breakpoint.set_handler_fn(breakpoint_handler); + IDT.load(); } extern "x86-interrupt" fn breakpoint_handler(