X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Fi386%2Fbits%2Fsyscall.h;h=daea55254f6662d610c3dcffc158e659daa35f65;hb=030b452b8d6c95be6b6de661aed96e8379d1a80e;hp=519e2dcd2d8e953b6d649ed0684bd36965ebc855;hpb=4cc78719dd22a685ddd89b92ac3bfc308c4c19b3;p=musl diff --git a/arch/i386/bits/syscall.h b/arch/i386/bits/syscall.h index 519e2dcd..daea5525 100644 --- a/arch/i386/bits/syscall.h +++ b/arch/i386/bits/syscall.h @@ -1,6 +1,7 @@ -#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) { @@ -60,7 +61,7 @@ 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; } @@ -68,7 +69,7 @@ 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; } @@ -76,7 +77,7 @@ 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; } @@ -84,10 +85,11 @@ static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __ { 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; } +#if 0 static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { unsigned long __ret; @@ -95,6 +97,12 @@ static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __ : "=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) { @@ -122,7 +130,9 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #define __SC_sendmsg 16 #define __SC_recvmsg 17 -#define __socketcall(nm, a, b, c, d, e, f) syscall(SYS_socketcall, __SC_##nm, \ +#define __socketcall(nm,a,b,c,d,e,f) syscall(SYS_socketcall, __SC_##nm, \ + ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f })) +#define __socketcall_cp(nm,a,b,c,d,e,f) syscall_cp(SYS_socketcall, __SC_##nm, \ ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f })) #define __NR_restart_syscall 0 @@ -460,6 +470,7 @@ 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 /* fixup legacy 16-bit junk */ #undef __NR_lchown @@ -525,6 +536,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 @@ -869,6 +882,7 @@ 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 /* fixup legacy 16-bit junk */ #undef SYS_lchown @@ -934,6 +948,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