diff options
author | Marvin Borner | 2019-09-19 19:56:59 +0200 |
---|---|---|
committer | Marvin Borner | 2019-09-19 20:05:38 +0200 |
commit | 05e1fedcc9cd30d1a34a65e640da45e980b4f859 (patch) | |
tree | 9cfb7620907ac126f26cdfe9363cb73ed74ea179 /src/timer/timer.c | |
parent | ffd82e18b5259fab477ad375a7af8550fac526d8 (diff) |
Moved source to kernel directory
Diffstat (limited to 'src/timer/timer.c')
-rw-r--r-- | src/timer/timer.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/timer/timer.c b/src/timer/timer.c deleted file mode 100644 index 38f5be6..0000000 --- a/src/timer/timer.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "../interrupts/interrupts.h" -#include "../io/io.h" - -volatile unsigned int timer_ticks = 0; - -void timer_phase(int hz) { - int divisor = 1193180 / hz; - send(0x43, 0x36); // 01 10 11 0b // CTR, RW, MODE, BCD - send(0x40, divisor & 0xFF); - send(0x40, divisor >> 8); -} - -// Executed 100 times per second -void timer_handler(struct regs *r) { - timer_ticks++; -} - -// "Delay" function with CPU sleep -void timer_wait(int ticks) { - unsigned int eticks; - - eticks = timer_ticks + ticks; - while (timer_ticks < eticks) { - __asm__ __volatile__ ("sti//hlt//cli"); - } -} - -// Install timer handler into IRQ0 -void timer_install() { - timer_phase(100); - irq_install_handler(0, timer_handler); -}
\ No newline at end of file |