aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/timer/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/timer/timer.c')
-rw-r--r--src/kernel/timer/timer.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/src/kernel/timer/timer.c b/src/kernel/timer/timer.c
deleted file mode 100644
index 6f8ae85..0000000
--- a/src/kernel/timer/timer.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <interrupts/interrupts.h>
-#include <io/io.h>
-#include <stdint.h>
-#include <system.h>
-
-u64 timer_ticks = 0;
-
-void timer_phase(int hz)
-{
- int divisor = (int)(3579545.0 / 3.0 / (double)hz);
- outb(0x43, 0x36); // 01 10 11 0b // CTR, RW, MODE, BCD
- outb(0x40, (u8)(divisor & 0xFF));
- outb(0x40, (u8)(divisor >> 8));
-}
-
-// Executed 1000 times per second
-void timer_handler(struct regs *r)
-{
- timer_ticks++;
-}
-
-// "Delay" function with CPU sleep
-void timer_wait(int ticks)
-{
- u32 eticks;
-
- eticks = timer_ticks + ticks;
- while (timer_ticks < eticks) {
- asm("sti//hlt//cli");
- }
-}
-
-u32 get_time()
-{
- return timer_ticks;
-}
-
-// Install timer handler into IRQ0
-void timer_install()
-{
- timer_phase(1000);
- irq_install_handler(0, timer_handler);
- info("Installed timer");
-} \ No newline at end of file