summaryrefslogtreecommitdiff
path: root/kernel/init
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-07-03 20:21:59 +0200
committerAnton Kling <anton@kling.gg>2024-07-04 18:42:46 +0200
commitf7752e37ce29b903e15d2579d25d4ebbaad023e6 (patch)
tree25d5cd3d1232f8d81c2e51884c6d9dc51190ab6c /kernel/init
parent6ec139d3ef7c1d2a52bb786779dd1914f125eda4 (diff)
CMOS: Make read/write calls async
This can speed up boot times since CMOS would otherwise have to wait before it could perform a read/write call. Now it gets triggered by a interrupt.
Diffstat (limited to 'kernel/init')
-rw-r--r--kernel/init/kernel.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/init/kernel.c b/kernel/init/kernel.c
index 90be3ab..6e5c9b4 100644
--- a/kernel/init/kernel.c
+++ b/kernel/init/kernel.c
@@ -67,6 +67,8 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
idt_init();
klog(LOG_SUCCESS, "IDT Initalized");
+ timer_start_init();
+
syscalls_init();
klog(LOG_SUCCESS, "Syscalls Initalized");
@@ -77,7 +79,7 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
ata_init();
klog(LOG_SUCCESS, "ATA Initalized");
- timer_init();
+ timer_start_init();
tasking_init();
klog(LOG_SUCCESS, "Tasking Initalized");
@@ -100,6 +102,7 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
add_serial();
add_random_devices();
+ timer_wait_for_init();
timer_add_clock();
shm_init();