aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/interrupts.zig4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/lib/interrupts.zig b/src/lib/interrupts.zig
index 8988c0a..66c8acd 100644
--- a/src/lib/interrupts.zig
+++ b/src/lib/interrupts.zig
@@ -85,13 +85,11 @@ pub const SyncCause = enum(u63) {
_,
};
-export fn handleTrap(epc: usize, cause_bits: usize, frame: *TrapFrame) usize {
+export fn handleTrap(epc: usize, cause: Cause, frame: *TrapFrame) usize {
const w = Console.autoChoose().?.writer();
const status = riscv.sstatus.read();
- const cause: Cause = @bitCast(cause_bits);
-
if (cause.isAsync()) {
switch (@as(AsyncCause, @enumFromInt(cause.num))) {
.supervisor_software => w.print("Hart {d}: Software interrupt\r\n", .{frame.hart_id}) catch unreachable,