summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();
}