hazel/kernel/pit.c

20 lines
383 B
C
Raw Normal View History

2024-07-02 00:46:29 -04:00
#include <kernel/kernel.h>
2024-07-01 19:28:45 -04:00
#include <kernel/pit.h>
#include <kernel/io.h>
#include <kernel/pic.h>
2024-07-02 00:46:29 -04:00
extern kernel_ctx_t ctx;
2024-07-01 19:28:45 -04:00
void pit_init(void) {
2024-07-02 00:46:29 -04:00
outb(PIT_MODE_CMD, PIT_CHAN0 | PIT_LOBYTE | PIT_MODE0);
2024-07-01 19:28:45 -04:00
2024-07-02 00:46:29 -04:00
outb(PIT_CHAN0_DATA, (uint8_t)(DIVISOR & 0xff));
2024-07-01 19:28:45 -04:00
}
void pit_handler(void) {
2024-07-02 00:46:29 -04:00
ctx.ticks++;
outb(PIT_CHAN0_DATA, (uint8_t)(DIVISOR & 0xff));
2024-07-01 19:28:45 -04:00
pic_send_eoi(0);
}