aboutsummaryrefslogtreecommitdiff
path: root/src/lib/interrupts.zig
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-07-05 16:15:06 +0200
committerHimbeer <himbeer@disroot.org>2024-07-05 16:15:06 +0200
commit902692db8f4686cf3e4c89ae11bbf95bdd113f3e (patch)
tree4ef7d12996227e8115c5a60d9a175afb8ab4fd14 /src/lib/interrupts.zig
parent2868e2c0363d79f5d1e2c52cdfd089e975748316 (diff)
interrupts: Update process info pc (program counter) to epc on syscall
Fixes #43, fixes #44.
Diffstat (limited to 'src/lib/interrupts.zig')
-rw-r--r--src/lib/interrupts.zig1
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;