summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/drivers/pit.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c
index fd42084..5b15dd9 100644
--- a/kernel/drivers/pit.c
+++ b/kernel/drivers/pit.c
@@ -8,18 +8,19 @@
uint64_t ticks = 0;
-uint16_t pit_read_divider(void)
-{
+uint16_t pit_read_divider(void) {
uint16_t count = 0;
cli();
outb(CMD, 0); // clear bits
count = inb(CHAN_0); // low byte
- count |= inb(CHAN_0) << 8; // highbyte
+ count |= inb(CHAN_0)<<8; // highbyte
+ sti();
return count;
}
-void pit_set_divider(uint16_t count)
-{
+void pit_set_divider(uint16_t count) {
+ cli();
outb(CHAN_0, count & 0xFF); // low byte
outb(CHAN_0, (count & 0xFF00) >> 8); // high byte
+ sti();
}