diff --git a/src/arch/x86_64/idt.rs b/src/arch/x86_64/idt.rs index 7e7a0eb..595b6a0 100644 --- a/src/arch/x86_64/idt.rs +++ b/src/arch/x86_64/idt.rs @@ -266,6 +266,10 @@ pub unsafe fn init_generic(is_bsp: bool, idt: &mut Idt) { *current_reservations[0].get_mut() |= 0x0003_FFFF_0000_0000; } else { // TODO: use_default_irqs! but also the legacy IRQs that are only needed on one CPU + current_idt[49].set_func(irq::lapic_error); + + // reserve bit 49 + *current_reservations[0].get_mut() |= (1 << 49); } use_default_irqs!(current_idt);