aboutsummaryrefslogtreecommitdiff
path: root/src/lib/sbi/time.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/sbi/time.zig')
-rw-r--r--src/lib/sbi/time.zig8
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);
}