From 58633d29b872f9cf171f00bcf2804bb2c28e3d74 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Mon, 11 Aug 2025 16:01:16 -0400 Subject: kernel: timer: Add flags field + TIMER_MONOTONIC Sometimes we may rely on a specific kind of timer. While we are able to grab scheduler specific timers, general purpose timers, etc. One might need to for example, check whether their general purpose timer timer is monotonic or not. Signed-off-by: Ian Moffett --- sys/arch/amd64/amd64/hpet.c | 1 + sys/arch/amd64/amd64/lapic.c | 1 + 2 files changed, 2 insertions(+) (limited to 'sys/arch') diff --git a/sys/arch/amd64/amd64/hpet.c b/sys/arch/amd64/amd64/hpet.c index 3b0ca46..9191bee 100644 --- a/sys/arch/amd64/amd64/hpet.c +++ b/sys/arch/amd64/amd64/hpet.c @@ -197,6 +197,7 @@ hpet_init(void) timer.get_time_usec = hpet_time_usec; timer.get_time_nsec = hpet_time_nsec; timer.get_time_sec = hpet_time_sec; + timer.flags = TIMER_MONOTONIC; register_timer(TIMER_GP, &timer); return 0; } diff --git a/sys/arch/amd64/amd64/lapic.c b/sys/arch/amd64/amd64/lapic.c index 022592c..ceb5428 100644 --- a/sys/arch/amd64/amd64/lapic.c +++ b/sys/arch/amd64/amd64/lapic.c @@ -364,5 +364,6 @@ lapic_init(void) lapic_timer.name = "LAPIC_INTEGRATED_TIMER"; lapic_timer.stop = lapic_timer_stop; lapic_timer.oneshot_us = lapic_timer_oneshot_us; + lapic_timer.flags = 0; register_timer(TIMER_SCHED, &lapic_timer); } -- cgit v1.2.3