Update to latest version

This commit is contained in:
Philipp Oppermann
2020-07-07 11:22:06 +02:00
parent 705435da8a
commit 9258e04b7a
2 changed files with 5 additions and 4 deletions

5
Cargo.lock generated
View File

@@ -248,13 +248,14 @@ version = "0.11.1"
dependencies = [ dependencies = [
"bit_field", "bit_field",
"bitflags", "bitflags",
"x86_64-idt-default-handler", "x86_64-idt-general-handler",
] ]
[[package]] [[package]]
name = "x86_64-idt-default-handler" name = "x86_64-idt-general-handler"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"proc-macro2",
"quote", "quote",
"syn", "syn",
] ]

View File

@@ -33,6 +33,7 @@ lazy_static! {
static ref IDT: InterruptDescriptorTable = { static ref IDT: InterruptDescriptorTable = {
let mut idt = InterruptDescriptorTable::new(); let mut idt = InterruptDescriptorTable::new();
idt::set_general_handler!(&mut idt, default_handler);
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);
unsafe { unsafe {
@@ -40,7 +41,6 @@ lazy_static! {
.set_handler_fn(double_fault_handler) .set_handler_fn(double_fault_handler)
.set_stack_index(gdt::DOUBLE_FAULT_IST_INDEX); .set_stack_index(gdt::DOUBLE_FAULT_IST_INDEX);
} }
idt::set_default_handler!(&mut idt, default_handler, 32..);
idt idt
}; };
} }
@@ -49,7 +49,7 @@ pub fn init_idt() {
IDT.load(); IDT.load();
} }
fn default_handler(stack_frame: &mut InterruptStackFrame, index: u8) { fn default_handler(stack_frame: &mut InterruptStackFrame, index: u8, error_code: Option<u64>) {
if index == 32 { if index == 32 {
print!("{} ", index); print!("{} ", index);
} else { } else {