1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 05:07:34 +00:00

Kernel: Ignore IRQ 15 for now

Sometimes QEMU hits us with an IRQ 15 and I don't know what it is.
Just ignore it for now instead of crashing the system.
This commit is contained in:
Andreas Kling 2019-12-14 12:21:39 +01:00
parent 8b2280c374
commit 7d0583a33f

View file

@ -437,15 +437,16 @@ void flush_idt()
asm("lidt %0" ::"m"(s_idtr));
}
/* If an 8259 gets cranky, it'll generate a spurious IRQ7.
* ATM I don't have a clear grasp on when/why this happens,
* so I ignore them and assume it makes no difference.
*/
extern "C" void irq7_handler();
asm(
".globl irq7_handler \n"
"irq7_handler: \n"
".globl irq7_handler\n"
"irq7_handler:\n"
" iret\n");
extern "C" void irq15_handler();
asm(
".globl irq15_handler\n"
"irq15_handler:\n"
" iret\n");
void idt_init()
@ -475,6 +476,7 @@ void idt_init()
register_interrupt_handler(0x10, _exception16);
register_interrupt_handler(0x57, irq7_handler);
register_interrupt_handler(0x5f, irq15_handler);
for (u8 i = 0; i < 16; ++i) {
s_irq_handler[i] = nullptr;