diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-05 16:15:06 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-05 16:15:06 +0200 |
commit | 902692db8f4686cf3e4c89ae11bbf95bdd113f3e (patch) | |
tree | 4ef7d12996227e8115c5a60d9a175afb8ab4fd14 /src/lib | |
parent | 2868e2c0363d79f5d1e2c52cdfd089e975748316 (diff) |
interrupts: Update process info pc (program counter) to epc on syscall
Fixes #43, fixes #44.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/interrupts.zig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/interrupts.zig b/src/lib/interrupts.zig index 8d88d64..72718bd 100644 --- a/src/lib/interrupts.zig +++ b/src/lib/interrupts.zig @@ -142,6 +142,7 @@ export fn handleTrap(epc: usize, tval: usize, cause_bits: usize, frame: *trap.Fr } else { const pid = if (status.previous_privilege == .user) blk: { const proc = &process.list.last.?.data; + proc.pc = epc; proc.state = .waiting; break :blk proc.id; } else 0; |