From fb37ec1eddfe97e4832701a2a9cd820e36694475 Mon Sep 17 00:00:00 2001 From: Himbeer Date: Wed, 31 Jul 2024 21:41:05 +0200 Subject: sbi/time: Make timer increment more accurate by reading the 'time' register as late as possible --- src/lib/sbi/time.zig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/lib/sbi') diff --git a/src/lib/sbi/time.zig b/src/lib/sbi/time.zig index 6abdd4e..eed5324 100644 --- a/src/lib/sbi/time.zig +++ b/src/lib/sbi/time.zig @@ -25,11 +25,10 @@ pub fn setTimer(stime_absolute: u64) !void { } pub fn interruptInMillis(millis: u64) !void { - const time = riscv.time.read(); - var cpus = try hwinfo.byKind(.cpus); const frequency = try cpus.next() orelse return error.NoCpusHwInfo; const cycles = frequency.value / 1000 * millis; + const time = riscv.time.read(); try setTimer(time + cycles); } -- cgit v1.2.3