hazel/kernel/pit.c
2024-07-02 15:36:47 -04:00

22 lines
507 B
C

#include <kernel/kernel.h>
#include <kernel/pit.h>
#include <kernel/io.h>
#include <kernel/pic.h>
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);
}