diff options
author | Anton Kling <anton@kling.gg> | 2024-07-04 18:29:17 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-07-04 18:42:47 +0200 |
commit | 7d7f0aa9595bedf50083fb89dae049c1f064ca98 (patch) | |
tree | 9f821cb85e6deaf54b8c5b481325c7d9b231d907 /kernel/init | |
parent | f7752e37ce29b903e15d2579d25d4ebbaad023e6 (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')
-rw-r--r-- | kernel/init/kernel.c | 7 |
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())) { |