diff options
-rw-r--r-- | arch/microblaze/syscall_arch.h | 36 | ||||
-rw-r--r-- | arch/or1k/syscall_arch.h | 36 | ||||
-rw-r--r-- | arch/powerpc/syscall_arch.h | 38 | ||||
-rw-r--r-- | src/internal/syscall.h | 10 |
4 files changed, 16 insertions, 104 deletions
diff --git a/arch/microblaze/syscall_arch.h b/arch/microblaze/syscall_arch.h index cab4607d..79f98340 100644 --- a/arch/microblaze/syscall_arch.h +++ b/arch/microblaze/syscall_arch.h @@ -100,39 +100,7 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo #else -static inline long __syscall0(long n) -{ - return (__syscall)(n); -} - -static inline long __syscall1(long n, long a) -{ - return (__syscall)(n, a); -} - -static inline long __syscall2(long n, long a, long b) -{ - return (__syscall)(n, a, b); -} - -static inline long __syscall3(long n, long a, long b, long c) -{ - return (__syscall)(n, a, b, c); -} - -static inline long __syscall4(long n, long a, long b, long c, long d) -{ - return (__syscall)(n, a, b, c, d); -} - -static inline long __syscall5(long n, long a, long b, long c, long d, long e) -{ - return (__syscall)(n, a, b, c, d, e); -} - -static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) -{ - return (__syscall)(n, a, b, c, d, e, f); -} +#undef SYSCALL_NO_INLINE +#define SYSCALL_NO_INLINE #endif diff --git a/arch/or1k/syscall_arch.h b/arch/or1k/syscall_arch.h index fe664559..3e4650cc 100644 --- a/arch/or1k/syscall_arch.h +++ b/arch/or1k/syscall_arch.h @@ -118,39 +118,7 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo #else -static inline long __syscall0(long n) -{ - return (__syscall)(n); -} - -static inline long __syscall1(long n, long a) -{ - return (__syscall)(n, a); -} - -static inline long __syscall2(long n, long a, long b) -{ - return (__syscall)(n, a, b); -} - -static inline long __syscall3(long n, long a, long b, long c) -{ - return (__syscall)(n, a, b, c); -} - -static inline long __syscall4(long n, long a, long b, long c, long d) -{ - return (__syscall)(n, a, b, c, d); -} - -static inline long __syscall5(long n, long a, long b, long c, long d, long e) -{ - return (__syscall)(n, a, b, c, d, e); -} - -static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) -{ - return (__syscall)(n, a, b, c, d, e, f); -} +#undef SYSCALL_NO_INLINE +#define SYSCALL_NO_INLINE #endif diff --git a/arch/powerpc/syscall_arch.h b/arch/powerpc/syscall_arch.h index 7a6b6b7b..e7cb1a26 100644 --- a/arch/powerpc/syscall_arch.h +++ b/arch/powerpc/syscall_arch.h @@ -3,39 +3,5 @@ ((union { long long ll; long l[2]; }){ .ll = x }).l[1] #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x)) -long (__syscall)(long, ...); - -static inline long __syscall0(long n) -{ - return (__syscall)(n, 0, 0, 0, 0, 0, 0); -} - -static inline long __syscall1(long n, long a) -{ - return (__syscall)(n, a, 0, 0, 0, 0, 0); -} - -static inline long __syscall2(long n, long a, long b) -{ - return (__syscall)(n, a, b, 0, 0, 0, 0); -} - -static inline long __syscall3(long n, long a, long b, long c) -{ - return (__syscall)(n, a, b, c, 0, 0, 0); -} - -static inline long __syscall4(long n, long a, long b, long c, long d) -{ - return (__syscall)(n, a, b, c, d, 0, 0); -} - -static inline long __syscall5(long n, long a, long b, long c, long d, long e) -{ - return (__syscall)(n, a, b, c, d, e, 0); -} - -static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) -{ - return (__syscall)(n, a, b, c, d, e, f); -} +#undef SYSCALL_NO_INLINE +#define SYSCALL_NO_INLINE diff --git a/src/internal/syscall.h b/src/internal/syscall.h index bb96c26e..b3fe7c01 100644 --- a/src/internal/syscall.h +++ b/src/internal/syscall.h @@ -24,12 +24,22 @@ long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), __syscall_cp(syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t); +#ifdef SYSCALL_NO_INLINE +#define __syscall0(n) (__syscall)(n) +#define __syscall1(n,a) (__syscall)(n,__scc(a)) +#define __syscall2(n,a,b) (__syscall)(n,__scc(a),__scc(b)) +#define __syscall3(n,a,b,c) (__syscall)(n,__scc(a),__scc(b),__scc(c)) +#define __syscall4(n,a,b,c,d) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d)) +#define __syscall5(n,a,b,c,d,e) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e)) +#define __syscall6(n,a,b,c,d,e,f) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f)) +#else #define __syscall1(n,a) __syscall1(n,__scc(a)) #define __syscall2(n,a,b) __syscall2(n,__scc(a),__scc(b)) #define __syscall3(n,a,b,c) __syscall3(n,__scc(a),__scc(b),__scc(c)) #define __syscall4(n,a,b,c,d) __syscall4(n,__scc(a),__scc(b),__scc(c),__scc(d)) #define __syscall5(n,a,b,c,d,e) __syscall5(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e)) #define __syscall6(n,a,b,c,d,e,f) __syscall6(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f)) +#endif #define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f),__scc(g)) #define __SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n |