diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/sysdep.h | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/sysdep.h b/sysdeps/unix/sysv/linux/s390/sysdep.h index 2d0a26779c..930d7efe03 100644 --- a/sysdeps/unix/sysv/linux/s390/sysdep.h +++ b/sysdeps/unix/sysv/linux/s390/sysdep.h @@ -21,32 +21,6 @@ #undef SYS_ify #define SYS_ify(syscall_name) __NR_##syscall_name -#undef INTERNAL_SYSCALL_DIRECT -#define INTERNAL_SYSCALL_DIRECT(name, nr, args...) \ - ({ \ - DECLARGS_##nr(args) \ - register long int _ret __asm__("2"); \ - __asm__ __volatile__ ( \ - "svc %b1\n\t" \ - : "=d" (_ret) \ - : "i" (__NR_##name) ASMFMT_##nr \ - : "memory" ); \ - _ret; }) - -#undef INTERNAL_SYSCALL_SVC0 -#define INTERNAL_SYSCALL_SVC0(name, nr, args...) \ - ({ \ - DECLARGS_##nr(args) \ - register unsigned long int _nr __asm__("1") = \ - (unsigned long int)(__NR_##name); \ - register long int _ret __asm__("2"); \ - __asm__ __volatile__ ( \ - "svc 0\n\t" \ - : "=d" (_ret) \ - : "d" (_nr) ASMFMT_##nr \ - : "memory" ); \ - _ret; }) - #undef INTERNAL_SYSCALL_NCS #define INTERNAL_SYSCALL_NCS(no, nr, args...) \ ({ \ @@ -61,10 +35,8 @@ _ret; }) #undef INTERNAL_SYSCALL -#define INTERNAL_SYSCALL(name, nr, args...) \ - (((__NR_##name) < 256) \ - ? INTERNAL_SYSCALL_DIRECT(name, nr, args) \ - : INTERNAL_SYSCALL_SVC0(name, nr, args)) +#define INTERNAL_SYSCALL(name, nr, args...) \ + INTERNAL_SYSCALL_NCS(__NR_##name, nr, args) #define DECLARGS_0() #define DECLARGS_1(arg1) \ |