From 7d7f0aa9595bedf50083fb89dae049c1f064ca98 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Thu, 4 Jul 2024 18:29:17 +0200 Subject: 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. --- kernel/timer.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'kernel/timer.c') diff --git a/kernel/timer.c b/kernel/timer.c index d0ef113..2121462 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -14,6 +15,7 @@ u64 start_tsc_time; void timer_start_init(void) { tsc_init(); start_tsc_time = tsc_get(); + random_add_entropy((u8 *)&start_tsc_time, sizeof(start_tsc_time)); enable_interrupts(); cmos_init(); cmos_start_call(1, &has_unix_time, &start_unix_time); @@ -26,6 +28,7 @@ void timer_wait_for_init(void) { ; } +u64 timer_current_uptime = 0; // This gets updated by the PIT handler u64 timer_get_uptime(void) { return tsc_calculate_ms(tsc_get()); } -- cgit v1.2.3