diff options
Diffstat (limited to 'src/lib/sbi/time.zig')
-rw-r--r-- | src/lib/sbi/time.zig | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/lib/sbi/time.zig b/src/lib/sbi/time.zig index 1c54e7d..f799d09 100644 --- a/src/lib/sbi/time.zig +++ b/src/lib/sbi/time.zig @@ -3,7 +3,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later const std = @import("std"); - const hwinfo = @import("../hwinfo.zig"); const instructions = @import("../instructions.zig"); const sbi = @import("../sbi.zig"); @@ -26,14 +25,11 @@ pub fn setTimer(stime_absolute: u64) !void { } pub fn interruptInMillis(millis: u64) !void { - const stime = asm volatile ( - \\ csrr %[stime], time - : [stime] "=r" (-> u64), - ); + const time = instructions.time.read(); var cpus = try hwinfo.byKind(.cpus); const frequency = try cpus.next() orelse return error.NoCpusHwInfo; const cycles = frequency.value / 1000 * millis; - try setTimer(stime + cycles); + try setTimer(time + cycles); } |