diff options
-rw-r--r-- | src/lib/interrupts.zig | 4 |
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, |