void platform_interrupt(void) { /* We don't have interrupts for the keyboard */ kbd_poll(); tty_poll(); if (clk_irq) { if (clk_stat & 0x08) { /* Check 4 or 8 - need datasheet */ /* Not ideal but we need to work out how to handle the different clocks gracefully */ timer_interrupt(); timer_interrupt(); timer_interrupt(); timer_interrupt(); /* Do we need to read again ? */ } } }
/** * Keyboard soft-irq handler. */ static void kbd_softint(UNUSED_ARG(iptr_t, arg)) { kbd_poll(); timer_add(&kbd_timer); }