diff options
author | Himbeer <himbeer@disroot.org> | 2024-05-11 23:34:52 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-05-11 23:34:52 +0200 |
commit | 3e24ee846030967d1c5fb4cf2d1e97c61da132e8 (patch) | |
tree | 4999305eb331def56ec8d303143ff388b14fa9f9 /src/interrupts.zig | |
parent | 8002f3573524b0ccfa89bd1cfc35ea3658b6360e (diff) |
interrupts: Set SIE bit in sstatus CSR
This fixes external interrupts not trapping into stvec.
Diffstat (limited to 'src/interrupts.zig')
-rw-r--r-- | src/interrupts.zig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interrupts.zig b/src/interrupts.zig index 4f72d91..b66b657 100644 --- a/src/interrupts.zig +++ b/src/interrupts.zig @@ -261,6 +261,10 @@ pub fn init() void { \\ \\ la t0, supervisor_trap_vector \\ csrw stvec, t0 + \\ + \\ csrr t0, sstatus + \\ ori t0, t0, 2 + \\ csrw sstatus, t0 : : [trapframe] "r" (&trap_frame), ); |