X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=arch%2Fi386%2Fbits%2Fsyscall.h;h=77c7f118a9e0d8dbda98d6815065287c2623d0d7;hp=274f205ccb81ef2c6b92edcf67be7e415b57397b;hb=fb247fafa04ee52dda816355ab0461132297b9a4;hpb=feee98903cd8119d9a3db62589246a940f44a9f5 diff --git a/arch/i386/bits/syscall.h b/arch/i386/bits/syscall.h index 274f205c..77c7f118 100644 --- a/arch/i386/bits/syscall.h +++ b/arch/i386/bits/syscall.h @@ -1,8 +1,11 @@ -#define __SYSCALL_LL(x) \ +#define __SYSCALL_LL_E(x) \ ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ ((union { long long ll; long l[2]; }){ .ll = x }).l[1] +#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x)) -static inline long __syscall0(long __n) +#define __SYSCALL_SSLEN 8 + +static __inline long __syscall0(long __n) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n) : "memory"); @@ -11,42 +14,42 @@ static inline long __syscall0(long __n) #ifndef __PIC__ -static inline long __syscall1(long __n, long __a1) +static __inline long __syscall1(long __n, long __a1) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1) : "memory"); return __ret; } -static inline long __syscall2(long __n, long __a1, long __a2) +static __inline long __syscall2(long __n, long __a1, long __a2) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2) : "memory"); return __ret; } -static inline long __syscall3(long __n, long __a1, long __a2, long __a3) +static __inline long __syscall3(long __n, long __a1, long __a2, long __a3) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3) : "memory"); return __ret; } -static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) +static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory"); return __ret; } -static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5) : "memory"); return __ret; } -static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) +static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) { unsigned long __ret; __asm__ __volatile__ ("pushl %7 ; pushl %%ebp ; mov 4(%%esp),%%ebp ; int $128 ; popl %%ebp ; popl %%ecx" @@ -56,47 +59,54 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #else -static inline long __syscall1(long __n, long __a1) +static __inline long __syscall1(long __n, long __a1) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" - : "=a"(__ret) : "a"(__n), "r"(__a1) : "memory"); + : "=a"(__ret) : "a"(__n), "d"(__a1) : "memory"); return __ret; } -static inline long __syscall2(long __n, long __a1, long __a2) +static __inline long __syscall2(long __n, long __a1, long __a2) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" - : "=a"(__ret) : "a"(__n), "r"(__a1), "c"(__a2) : "memory"); + : "=a"(__ret) : "a"(__n), "d"(__a1), "c"(__a2) : "memory"); return __ret; } -static inline long __syscall3(long __n, long __a1, long __a2, long __a3) +static __inline long __syscall3(long __n, long __a1, long __a2, long __a3) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" - : "=a"(__ret) : "a"(__n), "r"(__a1), "c"(__a2), "d"(__a3) : "memory"); + : "=a"(__ret) : "a"(__n), "S"(__a1), "c"(__a2), "d"(__a3) : "memory"); return __ret; } -static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) +static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" - : "=a"(__ret) : "a"(__n), "r"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory"); + : "=a"(__ret) : "a"(__n), "D"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory"); return __ret; } -static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +#if 0 +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { unsigned long __ret; __asm__ __volatile__ ("pushl %2 ; pushl %%ebx ; mov 4(%%esp),%%ebx ; int $128 ; popl %%ebx ; popl %%ecx" : "=a"(__ret) : "a"(__n), "g"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5) : "memory"); return __ret; } +#else +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +{ + return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5); +} +#endif -static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) +static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) { return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5, __a6); } @@ -462,6 +472,15 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #define __NR_inotify_init1 332 #define __NR_preadv 333 #define __NR_pwritev 334 +#define __NR_prlimit64 340 +#define __NR_name_to_handle_at 341 +#define __NR_open_by_handle_at 342 +#define __NR_clock_adjtime 343 +#define __NR_syncfs 344 +#define __NR_sendmmsg 345 +#define __NR_setns 346 +#define __NR_process_vm_readv 347 +#define __NR_process_vm_writev 348 /* fixup legacy 16-bit junk */ #undef __NR_lchown @@ -527,6 +546,8 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #define __NR_pread __NR_pread64 #define __NR_pwrite __NR_pwrite64 +#define __NR_fadvise __NR_fadvise64_64 + #undef __NR_getrlimit #define __NR_getrlimit __NR_ugetrlimit @@ -871,6 +892,15 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #define SYS_inotify_init1 332 #define SYS_preadv 333 #define SYS_pwritev 334 +#define SYS_prlimit64 340 +#define SYS_name_to_handle_at 341 +#define SYS_open_by_handle_at 342 +#define SYS_clock_adjtime 343 +#define SYS_syncfs 344 +#define SYS_sendmmsg 345 +#define SYS_setns 346 +#define SYS_process_vm_readv 347 +#define SYS_process_vm_writev 348 /* fixup legacy 16-bit junk */ #undef SYS_lchown @@ -936,6 +966,8 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #define SYS_pread SYS_pread64 #define SYS_pwrite SYS_pwrite64 +#define SYS_fadvise SYS_fadvise64_64 + #undef SYS_getrlimit #define SYS_getrlimit SYS_ugetrlimit