From 4e7918753175dbd8fc38bc7c5b176517e1dbef2f Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Wed, 3 Jul 2024 18:30:51 +0200 Subject: Kernel/Time: Improve time keeping This makes use of TSC and now provides a file system interface for userland programs to change the system time. --- kernel/init/kernel.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'kernel/init') diff --git a/kernel/init/kernel.c b/kernel/init/kernel.c index 83f4af8..90be3ab 100644 --- a/kernel/init/kernel.c +++ b/kernel/init/kernel.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #if defined(__linux__) @@ -76,6 +77,8 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr, ata_init(); klog(LOG_SUCCESS, "ATA Initalized"); + timer_init(); + tasking_init(); klog(LOG_SUCCESS, "Tasking Initalized"); @@ -96,6 +99,9 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr, add_stdout(); add_serial(); add_random_devices(); + + timer_add_clock(); + shm_init(); setup_random(); @@ -123,7 +129,7 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr, } } for (;;) { - current_task->sleep_until = pit_num_ms() + 100000000; + current_task->sleep_until = timer_get_ms() + 100000000; wait_for_interrupt(); } } -- cgit v1.2.3