summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-04-27 14:03:33 -0400
committerFreya Murphy <freya@freyacat.org>2025-04-27 14:03:54 -0400
commit7c996a6d51bd929ee508b6352459498ab2268d8a (patch)
treee72578018f85930c3c11bec1f252ec64006bcbb4
parentlink user programs at 2GB (diff)
downloadcomus-7c996a6d51bd929ee508b6352459498ab2268d8a.tar.gz
comus-7c996a6d51bd929ee508b6352459498ab2268d8a.tar.bz2
comus-7c996a6d51bd929ee508b6352459498ab2268d8a.zip
remove pit fixme
-rw-r--r--kernel/drivers.c2
-rw-r--r--kernel/drivers/pit.c9
2 files changed, 5 insertions, 6 deletions
diff --git a/kernel/drivers.c b/kernel/drivers.c
index d2230e8..98bf1bd 100644
--- a/kernel/drivers.c
+++ b/kernel/drivers.c
@@ -9,7 +9,7 @@
void drivers_init(void)
{
- pit_set_divider(100); // 1ms
+ pit_set_divider(1193); // 1ms
uart_init();
pci_init();
ata_init();
diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c
index d77df08..53a9263 100644
--- a/kernel/drivers/pit.c
+++ b/kernel/drivers/pit.c
@@ -22,9 +22,8 @@ uint16_t pit_read_divider(void)
void pit_set_divider(uint16_t count)
{
(void)count;
- // FIXME: broken on -O0
- // cli();
- // outb(CHAN_0, count & 0xFF); // low byte
- // outb(CHAN_0, (count & 0xFF00) >> 8); // high byte
- // sti();
+ cli();
+ outb(CHAN_0, count & 0xFF); // low byte
+ outb(CHAN_0, (count & 0xFF00) >> 8); // high byte
+ sti();
}