diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-31 21:41:05 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-31 21:41:05 +0200 |
commit | fb37ec1eddfe97e4832701a2a9cd820e36694475 (patch) | |
tree | 6c368f8699b8dfa2781fdb35cf8d6b453cf07e60 /src/lib/sbi | |
parent | 07ca84475f66a1aa804ee28124a6c4a1ec519ceb (diff) |
sbi/time: Make timer increment more accurate by reading the 'time' register as late as possible
Diffstat (limited to 'src/lib/sbi')
-rw-r--r-- | src/lib/sbi/time.zig | 3 |
1 files changed, 1 insertions, 2 deletions
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); } |