// record completion in BIOS task complete flag void VISIBLE16 handle_76() { debug_isr(DEBUG_ISR_76); SET_BDA(disk_interrupt_flag, 0xff); eoi_pic2(); }
// INT74h : PS/2 mouse hardware interrupt void VISIBLE16 handle_74(void) { if (! CONFIG_PS2PORT) return; debug_isr(DEBUG_ISR_74); u8 v = inb(PORT_PS2_STATUS); if ((v & (I8042_STR_OBF|I8042_STR_AUXDATA)) != (I8042_STR_OBF|I8042_STR_AUXDATA)) { dprintf(1, "ps2 mouse irq but no mouse data.\n"); goto done; } v = inb(PORT_PS2_DATA); if (!(GET_EBDA(ps2ctr) & I8042_CTR_AUXINT)) // Interrupts not enabled. goto done; process_mouse(v); done: eoi_pic2(); }
// INT74h : PS/2 mouse hardware interrupt void VISIBLE16 handle_74() { if (! CONFIG_PS2PORT) return; debug_isr(DEBUG_ISR_74); process_ps2irq(); eoi_pic2(); }
void VISIBLE16 handle_hwpic2(struct bregs *regs) { dprintf(DEBUG_ISR_hwpic2, "handle_hwpic2 irq=%x\n", get_pic2_isr()); eoi_pic2(); }