[Kernel] Ignore spurious INT 7
@@ -45,12 +45,20 @@ void interrupt_handle(register_state_t* regs) {
int_callback_t handler = interrupt_handlers[int_no];
handler(regs);
}
+ else {
+ // Spurious IRQ?
+ if (int_no == INT_VECTOR_IRQ7) {
+ // Just ignore it
+ // TODO(PT): Query the PIC to see if IRQ 7 is, in fact, in use
+ // Ref: https://www.reddit.com/r/osdev/comments/5qqnkq/are_spurious_interrupts_irq_7_a_bad_sign_and_how/
+ }
else {
printf("Unhandled IRQ: %d\n", int_no);
if (is_external) {
pic_signal_end_of_interrupt(int_no);
}
}
+ }
// If there is an adi driver for this IRQ, the EOI will be sent by adi
// Also, the PIT EOI will be sent by the PIT driver
