aboutsummaryrefslogtreecommitdiff
path: root/pk/syscall.h
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/syscall.h
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/syscall.h')
-rw-r--r--pk/syscall.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/pk/syscall.h b/pk/syscall.h
index f759e83..fcb3423 100644
--- a/pk/syscall.h
+++ b/pk/syscall.h
@@ -1,6 +1,15 @@
// See LICENSE for license details.
+#ifndef _PK_SYSCALL_H
+#define _PK_SYSCALL_H
+
#include <machine/syscall.h>
+#define IS_ERR_VALUE(x) ((unsigned long)(x) >= (unsigned long)-4096)
+#define ERR_PTR(x) ((void*)(long)(x))
+#define PTR_ERR(x) ((long)(x))
+
void sys_exit(int code) __attribute__((noreturn));
-sysret_t syscall(long a0, long a1, long a2, long a3, long a4, long a5, long n);
+long syscall(long a0, long a1, long a2, long a3, long a4, long a5, long n);
+
+#endif