From c65b16f42d27daab392a035e41eca80054122f2a Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sat, 28 May 2016 15:26:20 +0200 Subject: [PATCH] Create a static IDT with a page fault handler function --- src/interrupts/mod.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/interrupts/mod.rs b/src/interrupts/mod.rs index e640a3f1..efaa55df 100644 --- a/src/interrupts/mod.rs +++ b/src/interrupts/mod.rs @@ -1 +1,20 @@ mod idt; + +lazy_static! { + static ref IDT: idt::Idt = { + let mut idt = idt::Idt::new(); + + idt.set_handler(14, page_fault_handler); + + idt + }; +} + +pub fn init() { + IDT.load(); +} + +extern "C" fn page_fault_handler() -> ! { + println!("EXCEPTION: PAGE FAULT"); + loop {} +}