summaryrefslogtreecommitdiff
path: root/kernel/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c3
1 files changed, 3 insertions, 0 deletions
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 <fs/devfs.h>
#include <interrupts.h>
#include <math.h>
+#include <random.h>
#include <time.h>
#include <timer.h>
#include <typedefs.h>
@@ -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());
}