summaryrefslogtreecommitdiff
path: root/kernel/init/kernel.c
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-07-04 18:29:17 +0200
committerAnton Kling <anton@kling.gg>2024-07-04 18:42:47 +0200
commit7d7f0aa9595bedf50083fb89dae049c1f064ca98 (patch)
tree9f821cb85e6deaf54b8c5b481325c7d9b231d907 /kernel/init/kernel.c
parentf7752e37ce29b903e15d2579d25d4ebbaad023e6 (diff)
Random: Improve random seeding.
Now it appears to be sufficiently good at producing a distinct seed at each boot without using a /etc/seed file. Previously it did not do this. Of course this is nowhere near cryptographically secure but randomness does assist with things such as kmalloc.
Diffstat (limited to 'kernel/init/kernel.c')
-rw-r--r--kernel/init/kernel.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/init/kernel.c b/kernel/init/kernel.c
index 6e5c9b4..4c7ed89 100644
--- a/kernel/init/kernel.c
+++ b/kernel/init/kernel.c
@@ -60,6 +60,7 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
klog(LOG_SUCCESS, "Paging Initalized");
mb = mmu_map_frames((multiboot_info_t *)addr, sizeof(multiboot_info_t));
assert(mb);
+ assert(display_driver_init(mb));
gdt_init();
klog(LOG_SUCCESS, "GDT Initalized");
@@ -67,6 +68,8 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
idt_init();
klog(LOG_SUCCESS, "IDT Initalized");
+ setup_random();
+
timer_start_init();
syscalls_init();
@@ -107,8 +110,6 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
shm_init();
- setup_random();
-
add_keyboard();
add_mouse();
@@ -121,8 +122,8 @@ void kernel_main(u32 kernel_end, unsigned long magic, unsigned long addr,
setup_network(gateway, bitmask);
gen_ipv4(&ip_address, 10, 0, 2, 15);
+ enable_interrupts();
- assert(display_driver_init(mb));
add_vbe_device();
int pid;
if (0 == (pid = fork())) {