1*c9945492SAndroid Build Coastguard Worker #define __SYSCALL_LL_E(x) \
2*c9945492SAndroid Build Coastguard Worker ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
3*c9945492SAndroid Build Coastguard Worker ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
4*c9945492SAndroid Build Coastguard Worker #define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
5*c9945492SAndroid Build Coastguard Worker
__syscall0(long n)6*c9945492SAndroid Build Coastguard Worker static __inline long __syscall0(long n)
7*c9945492SAndroid Build Coastguard Worker {
8*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
9*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
10*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
11*c9945492SAndroid Build Coastguard Worker : "r"(r12)
12*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
13*c9945492SAndroid Build Coastguard Worker return r3;
14*c9945492SAndroid Build Coastguard Worker }
15*c9945492SAndroid Build Coastguard Worker
__syscall1(long n,long a)16*c9945492SAndroid Build Coastguard Worker static inline long __syscall1(long n, long a)
17*c9945492SAndroid Build Coastguard Worker {
18*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
19*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
20*c9945492SAndroid Build Coastguard Worker register unsigned long r5 __asm__("r5") = a;
21*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
22*c9945492SAndroid Build Coastguard Worker : "r"(r12), "r"(r5)
23*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
24*c9945492SAndroid Build Coastguard Worker return r3;
25*c9945492SAndroid Build Coastguard Worker }
26*c9945492SAndroid Build Coastguard Worker
__syscall2(long n,long a,long b)27*c9945492SAndroid Build Coastguard Worker static inline long __syscall2(long n, long a, long b)
28*c9945492SAndroid Build Coastguard Worker {
29*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
30*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
31*c9945492SAndroid Build Coastguard Worker register unsigned long r5 __asm__("r5") = a;
32*c9945492SAndroid Build Coastguard Worker register unsigned long r6 __asm__("r6") = b;
33*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
34*c9945492SAndroid Build Coastguard Worker : "r"(r12), "r"(r5), "r"(r6)
35*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
36*c9945492SAndroid Build Coastguard Worker return r3;
37*c9945492SAndroid Build Coastguard Worker }
38*c9945492SAndroid Build Coastguard Worker
__syscall3(long n,long a,long b,long c)39*c9945492SAndroid Build Coastguard Worker static inline long __syscall3(long n, long a, long b, long c)
40*c9945492SAndroid Build Coastguard Worker {
41*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
42*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
43*c9945492SAndroid Build Coastguard Worker register unsigned long r5 __asm__("r5") = a;
44*c9945492SAndroid Build Coastguard Worker register unsigned long r6 __asm__("r6") = b;
45*c9945492SAndroid Build Coastguard Worker register unsigned long r7 __asm__("r7") = c;
46*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
47*c9945492SAndroid Build Coastguard Worker : "r"(r12), "r"(r5), "r"(r6), "r"(r7)
48*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
49*c9945492SAndroid Build Coastguard Worker return r3;
50*c9945492SAndroid Build Coastguard Worker }
51*c9945492SAndroid Build Coastguard Worker
__syscall4(long n,long a,long b,long c,long d)52*c9945492SAndroid Build Coastguard Worker static inline long __syscall4(long n, long a, long b, long c, long d)
53*c9945492SAndroid Build Coastguard Worker {
54*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
55*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
56*c9945492SAndroid Build Coastguard Worker register unsigned long r5 __asm__("r5") = a;
57*c9945492SAndroid Build Coastguard Worker register unsigned long r6 __asm__("r6") = b;
58*c9945492SAndroid Build Coastguard Worker register unsigned long r7 __asm__("r7") = c;
59*c9945492SAndroid Build Coastguard Worker register unsigned long r8 __asm__("r8") = d;
60*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
61*c9945492SAndroid Build Coastguard Worker : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8)
62*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
63*c9945492SAndroid Build Coastguard Worker return r3;
64*c9945492SAndroid Build Coastguard Worker }
65*c9945492SAndroid Build Coastguard Worker
__syscall5(long n,long a,long b,long c,long d,long e)66*c9945492SAndroid Build Coastguard Worker static inline long __syscall5(long n, long a, long b, long c, long d, long e)
67*c9945492SAndroid Build Coastguard Worker {
68*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
69*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
70*c9945492SAndroid Build Coastguard Worker register unsigned long r5 __asm__("r5") = a;
71*c9945492SAndroid Build Coastguard Worker register unsigned long r6 __asm__("r6") = b;
72*c9945492SAndroid Build Coastguard Worker register unsigned long r7 __asm__("r7") = c;
73*c9945492SAndroid Build Coastguard Worker register unsigned long r8 __asm__("r8") = d;
74*c9945492SAndroid Build Coastguard Worker register unsigned long r9 __asm__("r9") = e;
75*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
76*c9945492SAndroid Build Coastguard Worker : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8), "r"(r9)
77*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
78*c9945492SAndroid Build Coastguard Worker return r3;
79*c9945492SAndroid Build Coastguard Worker }
80*c9945492SAndroid Build Coastguard Worker
__syscall6(long n,long a,long b,long c,long d,long e,long f)81*c9945492SAndroid Build Coastguard Worker static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
82*c9945492SAndroid Build Coastguard Worker {
83*c9945492SAndroid Build Coastguard Worker register unsigned long r12 __asm__("r12") = n;
84*c9945492SAndroid Build Coastguard Worker register unsigned long r3 __asm__("r3");
85*c9945492SAndroid Build Coastguard Worker register unsigned long r5 __asm__("r5") = a;
86*c9945492SAndroid Build Coastguard Worker register unsigned long r6 __asm__("r6") = b;
87*c9945492SAndroid Build Coastguard Worker register unsigned long r7 __asm__("r7") = c;
88*c9945492SAndroid Build Coastguard Worker register unsigned long r8 __asm__("r8") = d;
89*c9945492SAndroid Build Coastguard Worker register unsigned long r9 __asm__("r9") = e;
90*c9945492SAndroid Build Coastguard Worker register unsigned long r10 __asm__("r10") = f;
91*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3)
92*c9945492SAndroid Build Coastguard Worker : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8), "r"(r9), "r"(r10)
93*c9945492SAndroid Build Coastguard Worker : "memory", "r4");
94*c9945492SAndroid Build Coastguard Worker return r3;
95*c9945492SAndroid Build Coastguard Worker }
96*c9945492SAndroid Build Coastguard Worker
97*c9945492SAndroid Build Coastguard Worker #define SYSCALL_IPC_BROKEN_MODE
98*c9945492SAndroid Build Coastguard Worker
99*c9945492SAndroid Build Coastguard Worker #undef SYS_socketcall
100