mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 07:37:46 +00:00
Kernel: Resolve FIXME relating to the gate type arg for x86 Interrupts
According to the Intel Software Developer's Manual Volume 3A section 6.12.1.3, the interrupt gate type means the IF flag is cleared to prevent nested interruption. The trap gate type does not modify the IF flag. Thus the gate type argument is important when constructing an IDTEntry.
This commit is contained in:
parent
9e8e93d91d
commit
3b6a300ed7
1 changed files with 0 additions and 2 deletions
|
@ -463,13 +463,11 @@ void unregister_generic_interrupt_handler(u8 interrupt_number, GenericInterruptH
|
|||
|
||||
UNMAP_AFTER_INIT void register_interrupt_handler(u8 index, void (*handler)())
|
||||
{
|
||||
// FIXME: Is the Gate Type really required to be an Interrupt
|
||||
s_idt[index] = IDTEntry((FlatPtr)handler, GDT_SELECTOR_CODE0, IDTEntryType::InterruptGate32, 0);
|
||||
}
|
||||
|
||||
UNMAP_AFTER_INIT void register_user_callable_interrupt_handler(u8 index, void (*handler)())
|
||||
{
|
||||
// FIXME: Is the Gate Type really required to be a Trap
|
||||
s_idt[index] = IDTEntry((FlatPtr)handler, GDT_SELECTOR_CODE0, IDTEntryType::TrapGate32, 3);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue