|
@@ -18,6 +18,9 @@
|
|
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
|
|
+#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
+ "$14", "$15", "$24", "$25", "memory"
|
|
|
+
|
|
|
#define _syscall0(type,name) \
|
|
|
type name(void) \
|
|
|
{ \
|
|
@@ -33,8 +36,7 @@ type name(void) \
|
|
|
".set reorder" \
|
|
|
: "=r" (__v0), "=r" (__a3) \
|
|
|
: "i" (SYS_ify(name)) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -60,8 +62,7 @@ type name(atype a) \
|
|
|
".set reorder" \
|
|
|
: "=r" (__v0), "=r" (__a3) \
|
|
|
: "r" (__a0), "i" (SYS_ify(name)) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -88,8 +89,7 @@ type name(atype a,btype b) \
|
|
|
".set reorder" \
|
|
|
: "=r" (__v0), "=r" (__a3) \
|
|
|
: "r" (__a0), "r" (__a1), "i" (SYS_ify(name)) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -117,8 +117,7 @@ type name (atype a, btype b, ctype c) \
|
|
|
".set reorder" \
|
|
|
: "=r" (__v0), "=r" (__a3) \
|
|
|
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -146,8 +145,7 @@ type name (atype a, btype b, ctype c, dtype d) \
|
|
|
".set reorder" \
|
|
|
: "=r" (__v0), "+r" (__a3) \
|
|
|
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -181,8 +179,7 @@ type name (atype a,btype b,ctype c,dtype d,etype e) \
|
|
|
: "=r" (__v0), "+r" (__a3) \
|
|
|
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
|
|
|
"m" (constE) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -219,8 +216,7 @@ type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \
|
|
|
: "=r" (__v0), "+r" (__a3) \
|
|
|
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
|
|
|
"m" (constE), "m" (constF) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|
|
@@ -260,8 +256,7 @@ type name (atype a,btype b,ctype c,dtype d,etype e,ftype f,gtype g) \
|
|
|
: "=r" (__v0), "+r" (__a3) \
|
|
|
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
|
|
|
"m" (constE), "m" (constF), "m" (constG) \
|
|
|
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
|
|
- "$14", "$15", "$24", "$25", "memory"); \
|
|
|
+ : __SYSCALL_CLOBBERS); \
|
|
|
err = __a3; \
|
|
|
sys_result = __v0; \
|
|
|
} \
|