void IntelKernel::clocktick(CPUState *state, ulong param) { IntelKernel *kern = (IntelKernel *) Kernel::instance; kern->enableIRQ(kern->m_pit.getInterruptVector(), true); kern->getProcessManager()->schedule(); }
void IntelKernel::clocktick(CPUState *state, ulong param) { IntelKernel *kern = (IntelKernel *) Kernel::instance; Size irq = kern->m_timer->getInterrupt(); #warning not working for APIC timer, because the timer IRQ is out of range on the PIC kern->enableIRQ(irq, true); #warning TODO: tmp hack for APIC timer end-of-interrupt if (irq == kern->m_apic.getInterrupt()) kern->m_apic.clear(irq); kern->m_timer->tick(); kern->getProcessManager()->schedule(); }