예제 #1
0
void ArchBoardSpecific::irq_handler()
{
  uint32* pic = (uint32*)PIC_BASE;
  if (IRQ(0))
    arch_swi_irq_handler();
  if (IRQ(1))
    uart0_irq_handler();
  if (IRQ(2))
    arch_uart1_irq_handler();
  if (IRQ(3))
    keyboard_irq_handler();
  if (IRQ(4))
    arch_mouse_irq_handler();
  if (IRQ(5))
    timer0_irq_handler();
  // 6-10 and 22-28 not implemented
}
예제 #2
0
void ArchBoardSpecific::onIdle()
{
  keyboard_irq_handler(); // TODO: this is not only ugly polling, but we're losing keys all the time
  // and this is in an ugly place for keyboard handling! why is it here? we would have needed a whole new thread otherwise
  // the usb stack should work with less dynamic memory and more stack variables, then it would be less complicated
}