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/drivers/pit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kernel/drivers') diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c index 70dc0f9..b8a8aac 100644 --- a/kernel/drivers/pit.c +++ b/kernel/drivers/pit.c @@ -1,5 +1,6 @@ #include "pit.h" #include +#include #define PIT_IO_CHANNEL_0 0x40 #define PIT_IO_MODE_COMMAND 0x43 @@ -46,7 +47,8 @@ u64 last_tsc = 0; extern int is_switching_tasks; void int_clock(reg_t *regs) { - + u64 current_tsc = tsc_get(); + random_add_entropy_fast((u8 *)¤t_tsc, sizeof(current_tsc)); switch_counter++; if (clock_num_ms_ticks - last_flush > 50) { tcp_flush_acks(); -- cgit v1.2.3