From 739fa56ece9aeb0cef17af75d00a9e7b59cc83e8 Mon Sep 17 00:00:00 2001 From: apio Date: Tue, 1 Nov 2022 11:11:33 +0100 Subject: [PATCH] Kernel: Add double fault handler --- moon/src/arch/x86_64/interrupts.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/moon/src/arch/x86_64/interrupts.rs b/moon/src/arch/x86_64/interrupts.rs index 50ab88b1..dc206acf 100644 --- a/moon/src/arch/x86_64/interrupts.rs +++ b/moon/src/arch/x86_64/interrupts.rs @@ -14,11 +14,16 @@ extern "x86-interrupt" fn page_fault_handler(stack_frame: InterruptStackFrame, f try_println!("Page fault at {:#?}\n{:#?}", faulting_address, stack_frame); } +extern "x86-interrupt" fn double_fault_handler(stack_frame: InterruptStackFrame, _error_code: u64) -> ! { + panic!("Double fault!\n{:#?}", stack_frame); +} + pub fn load() { unsafe { IDT.breakpoint.set_handler_fn(breakpoint_handler); IDT.page_fault.set_handler_fn(page_fault_handler); + IDT.double_fault.set_handler_fn(double_fault_handler); IDT.load(); } }