From 2b9d880e480a334f4227646ab08e51252558e7bc Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Tue, 18 Apr 2017 18:11:52 +0200 Subject: [PATCH] Add a double fault handler --- src/interrupts.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/interrupts.rs b/src/interrupts.rs index 1ed361c..095367b 100644 --- a/src/interrupts.rs +++ b/src/interrupts.rs @@ -4,6 +4,7 @@ lazy_static! { static ref IDT: Idt = { let mut idt = Idt::new(); idt.breakpoint.set_handler_fn(breakpoint_handler); + idt.double_fault.set_handler_fn(double_fault_handler); idt }; } @@ -17,3 +18,10 @@ extern "x86-interrupt" fn breakpoint_handler( { println!("EXCEPTION: BREAKPOINT\n{:#?}", stack_frame); } + +extern "x86-interrupt" fn double_fault_handler( + stack_frame: &mut ExceptionStackFrame, _error_code: u64) +{ + println!("\nEXCEPTION: DOUBLE FAULT\n{:#?}", stack_frame); + loop {} +}