#include #include #include #include extern kernel_ctx_t ctx; void pit_init(void) { outb(PIT_MODE_CMD, PIT_CHAN0 | PIT_LOHIGH | PIT_MODE2); outb(PIT_CHAN0_DATA, (uint8_t)(DIVISOR & 0xff)); outb(PIT_CHAN0_DATA, (uint8_t)((DIVISOR & 0xff00) >> 8)); } void pit_handler(void) { ctx.ticks++; outb(PIT_CHAN0_DATA, (uint8_t)(DIVISOR & 0xff)); outb(PIT_CHAN0_DATA, (uint8_t)((DIVISOR & 0xff00) >> 8)); pic_send_eoi(0); }