Explorar el Código

Kernel: Fix the limit for the IDT table

Gunnar Beutner hace 4 años
padre
commit
732dc72c58
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      Kernel/Arch/x86/common/Interrupts.cpp

+ 1 - 1
Kernel/Arch/x86/common/Interrupts.cpp

@@ -605,7 +605,7 @@ UNMAP_AFTER_INIT void flush_idt()
 UNMAP_AFTER_INIT void idt_init()
 UNMAP_AFTER_INIT void idt_init()
 {
 {
     s_idtr.address = s_idt;
     s_idtr.address = s_idt;
-    s_idtr.limit = 256 * 8 - 1;
+    s_idtr.limit = 256 * sizeof(IDTEntry) - 1;
 
 
     register_interrupt_handler(0x00, divide_error_asm_entry);
     register_interrupt_handler(0x00, divide_error_asm_entry);
     register_user_callable_interrupt_handler(0x01, debug_asm_entry);
     register_user_callable_interrupt_handler(0x01, debug_asm_entry);