Create and load an IDT

This commit is contained in:
Philipp Oppermann
2017-04-18 15:16:26 +02:00
parent 7becaf5f30
commit fab320271a

View File

@@ -1,8 +1,15 @@
use x86_64::structures::idt::{Idt, ExceptionStackFrame}; 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() { pub fn init() {
let mut idt = Idt::new(); IDT.load();
idt.breakpoint.set_handler_fn(breakpoint_handler);
} }
extern "x86-interrupt" fn breakpoint_handler( extern "x86-interrupt" fn breakpoint_handler(