Exemplo n.º 1
0
// INT09h : Keyboard Hardware Service Entry Point
void VISIBLE16
handle_09(void)
{
    if (! CONFIG_PS2PORT)
        return;

    debug_isr(DEBUG_ISR_09);

    // read key from keyboard controller
    u8 v = inb(PORT_PS2_STATUS);
    if (v & I8042_STR_AUXDATA) {
        dprintf(1, "ps2 keyboard irq but found mouse data?!\n");
        goto done;
    }
    v = inb(PORT_PS2_DATA);

    if (!(GET_EBDA(ps2ctr) & I8042_CTR_KBDINT))
        // Interrupts not enabled.
        goto done;

    process_key(v);

done:
    eoi_pic1();
}
Exemplo n.º 2
0
// INT09h : Keyboard Hardware Service Entry Point
void VISIBLE16
handle_09()
{
    if (! CONFIG_PS2PORT)
        return;

    debug_isr(DEBUG_ISR_09);
    process_ps2irq();
    eoi_pic1();
}
Exemplo n.º 3
0
Arquivo: pic.c Projeto: 3a9LL/panda
// Handler for otherwise unused hardware irqs.
void VISIBLE16
handle_hwpic1(struct bregs *regs)
{
    dprintf(DEBUG_ISR_hwpic1, "handle_hwpic1 irq=%x\n", get_pic1_isr());
    eoi_pic1();
}