aboutsummaryrefslogtreecommitdiff
path: root/pk/handlers.c
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@eecs.berkeley.edu>2014-02-04 15:29:06 -0800
committerAndrew Waterman <waterman@eecs.berkeley.edu>2014-02-04 15:29:06 -0800
commitf1f8dbbed01d67a3cb64a17c73078d124c33d2ab (patch)
tree77181fb45946e2a5883b87d09d65d08439186672 /pk/handlers.c
parentac88604e8850779c33ec888ccc8399604fb2677c (diff)
downloadriscv-pk-f1f8dbbed01d67a3cb64a17c73078d124c33d2ab.zip
riscv-pk-f1f8dbbed01d67a3cb64a17c73078d124c33d2ab.tar.gz
riscv-pk-f1f8dbbed01d67a3cb64a17c73078d124c33d2ab.tar.bz2
Abandon MIPS convention for indicating syscall errors in register a3
Diffstat (limited to 'pk/handlers.c')
-rw-r--r--pk/handlers.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/pk/handlers.c b/pk/handlers.c
index 2c50ae6..94a4127 100644
--- a/pk/handlers.c
+++ b/pk/handlers.c
@@ -109,12 +109,8 @@ void handle_fault_store(trapframe_t* tf)
static void handle_syscall(trapframe_t* tf)
{
- sysret_t ret = syscall(tf->gpr[18], tf->gpr[19], tf->gpr[20], tf->gpr[21],
- tf->gpr[22], tf->gpr[23], tf->gpr[16]);
-
- tf->gpr[16] = ret.result;
- tf->gpr[21] = ret.err;
-
+ tf->gpr[16] = syscall(tf->gpr[18], tf->gpr[19], tf->gpr[20], tf->gpr[21],
+ tf->gpr[22], tf->gpr[23], tf->gpr[16]);
tf->epc += 4;
}