#include #include #include #include #include #include #include #include #include #include bool isr_test_interrupt_called = false; void isr_stage3(int interrupt) { switch (interrupt) { case 0x08: // double fault kprintf("#DF"); panic_invalid_state(); case 0x34: isr_test_interrupt_called = true; return; case 0x21: // keyboard irq ps2_recv(port_in8(0x60)); irq_eoi(1); return; case 0x24: // COM1 irq serial_irq(); irq_eoi(1); return; default: // TODO check if the exception was in the kernel process_kill(process_current, interrupt); process_switch_any(); } }