#include "pit.h" #include "types.h" #include "interrupts.h" #include "serial.h" #include "stlio.h" volatile u32 timer_ticks = 0; void inc_ticks(struct cpu_reg_state* cpu) { timer_ticks++; } void timer_wait(u32 time) { u32 ticks = time + timer_ticks; while(timer_ticks < ticks); } void pit_install_timer(void) { init_irq_handler(0, inc_ticks); // timer interrupt request falls into int 0 }