Kernel: Add double fault handler
This commit is contained in:
parent
b4914c26fe
commit
739fa56ece
@ -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);
|
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()
|
pub fn load()
|
||||||
{
|
{
|
||||||
unsafe {
|
unsafe {
|
||||||
IDT.breakpoint.set_handler_fn(breakpoint_handler);
|
IDT.breakpoint.set_handler_fn(breakpoint_handler);
|
||||||
IDT.page_fault.set_handler_fn(page_fault_handler);
|
IDT.page_fault.set_handler_fn(page_fault_handler);
|
||||||
|
IDT.double_fault.set_handler_fn(double_fault_handler);
|
||||||
IDT.load();
|
IDT.load();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user