1570af302Sopenharmony_ci#define __SYSCALL_LL_E(x) \ 2570af302Sopenharmony_ci((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ 3570af302Sopenharmony_ci((union { long long ll; long l[2]; }){ .ll = x }).l[1] 4570af302Sopenharmony_ci#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x)) 5570af302Sopenharmony_ci 6570af302Sopenharmony_cistatic __inline long __syscall0(long n) 7570af302Sopenharmony_ci{ 8570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 9570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 10570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 11570af302Sopenharmony_ci : "r"(r12) 12570af302Sopenharmony_ci : "memory", "r4"); 13570af302Sopenharmony_ci return r3; 14570af302Sopenharmony_ci} 15570af302Sopenharmony_ci 16570af302Sopenharmony_cistatic inline long __syscall1(long n, long a) 17570af302Sopenharmony_ci{ 18570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 19570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 20570af302Sopenharmony_ci register unsigned long r5 __asm__("r5") = a; 21570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 22570af302Sopenharmony_ci : "r"(r12), "r"(r5) 23570af302Sopenharmony_ci : "memory", "r4"); 24570af302Sopenharmony_ci return r3; 25570af302Sopenharmony_ci} 26570af302Sopenharmony_ci 27570af302Sopenharmony_cistatic inline long __syscall2(long n, long a, long b) 28570af302Sopenharmony_ci{ 29570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 30570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 31570af302Sopenharmony_ci register unsigned long r5 __asm__("r5") = a; 32570af302Sopenharmony_ci register unsigned long r6 __asm__("r6") = b; 33570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 34570af302Sopenharmony_ci : "r"(r12), "r"(r5), "r"(r6) 35570af302Sopenharmony_ci : "memory", "r4"); 36570af302Sopenharmony_ci return r3; 37570af302Sopenharmony_ci} 38570af302Sopenharmony_ci 39570af302Sopenharmony_cistatic inline long __syscall3(long n, long a, long b, long c) 40570af302Sopenharmony_ci{ 41570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 42570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 43570af302Sopenharmony_ci register unsigned long r5 __asm__("r5") = a; 44570af302Sopenharmony_ci register unsigned long r6 __asm__("r6") = b; 45570af302Sopenharmony_ci register unsigned long r7 __asm__("r7") = c; 46570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 47570af302Sopenharmony_ci : "r"(r12), "r"(r5), "r"(r6), "r"(r7) 48570af302Sopenharmony_ci : "memory", "r4"); 49570af302Sopenharmony_ci return r3; 50570af302Sopenharmony_ci} 51570af302Sopenharmony_ci 52570af302Sopenharmony_cistatic inline long __syscall4(long n, long a, long b, long c, long d) 53570af302Sopenharmony_ci{ 54570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 55570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 56570af302Sopenharmony_ci register unsigned long r5 __asm__("r5") = a; 57570af302Sopenharmony_ci register unsigned long r6 __asm__("r6") = b; 58570af302Sopenharmony_ci register unsigned long r7 __asm__("r7") = c; 59570af302Sopenharmony_ci register unsigned long r8 __asm__("r8") = d; 60570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 61570af302Sopenharmony_ci : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8) 62570af302Sopenharmony_ci : "memory", "r4"); 63570af302Sopenharmony_ci return r3; 64570af302Sopenharmony_ci} 65570af302Sopenharmony_ci 66570af302Sopenharmony_cistatic inline long __syscall5(long n, long a, long b, long c, long d, long e) 67570af302Sopenharmony_ci{ 68570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 69570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 70570af302Sopenharmony_ci register unsigned long r5 __asm__("r5") = a; 71570af302Sopenharmony_ci register unsigned long r6 __asm__("r6") = b; 72570af302Sopenharmony_ci register unsigned long r7 __asm__("r7") = c; 73570af302Sopenharmony_ci register unsigned long r8 __asm__("r8") = d; 74570af302Sopenharmony_ci register unsigned long r9 __asm__("r9") = e; 75570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 76570af302Sopenharmony_ci : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8), "r"(r9) 77570af302Sopenharmony_ci : "memory", "r4"); 78570af302Sopenharmony_ci return r3; 79570af302Sopenharmony_ci} 80570af302Sopenharmony_ci 81570af302Sopenharmony_cistatic inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) 82570af302Sopenharmony_ci{ 83570af302Sopenharmony_ci register unsigned long r12 __asm__("r12") = n; 84570af302Sopenharmony_ci register unsigned long r3 __asm__("r3"); 85570af302Sopenharmony_ci register unsigned long r5 __asm__("r5") = a; 86570af302Sopenharmony_ci register unsigned long r6 __asm__("r6") = b; 87570af302Sopenharmony_ci register unsigned long r7 __asm__("r7") = c; 88570af302Sopenharmony_ci register unsigned long r8 __asm__("r8") = d; 89570af302Sopenharmony_ci register unsigned long r9 __asm__("r9") = e; 90570af302Sopenharmony_ci register unsigned long r10 __asm__("r10") = f; 91570af302Sopenharmony_ci __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 92570af302Sopenharmony_ci : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8), "r"(r9), "r"(r10) 93570af302Sopenharmony_ci : "memory", "r4"); 94570af302Sopenharmony_ci return r3; 95570af302Sopenharmony_ci} 96570af302Sopenharmony_ci 97570af302Sopenharmony_ci#define SYSCALL_IPC_BROKEN_MODE 98570af302Sopenharmony_ci 99570af302Sopenharmony_ci#undef SYS_socketcall 100