remove riscv64 bits/user.h contents
[musl] / arch / mipsn32 / syscall_arch.h
1 #define __SYSCALL_LL_E(x) (x)
2 #define __SYSCALL_LL_O(x) (x)
3
4 #define SYSCALL_RLIM_INFINITY (-1UL/2)
5
6 #define SYSCALL_CLOBBERLIST \
7         "$1", "$3", "$10", "$11", "$12", "$13", \
8         "$14", "$15", "$24", "$25", "hi", "lo", "memory"
9
10 static inline long __syscall0(long n)
11 {
12         register long r7 __asm__("$7");
13         register long r2 __asm__("$2") = n;
14         __asm__ __volatile__ (
15                 "syscall"
16                 : "+&r"(r2), "=r"(r7)
17                 :
18                 : SYSCALL_CLOBBERLIST);
19         return r7 ? -r2 : r2;
20 }
21
22 static inline long __syscall1(long n, long a)
23 {
24         register long r4 __asm__("$4") = a;
25         register long r7 __asm__("$7");
26         register long r2 __asm__("$2") = n;
27         __asm__ __volatile__ (
28                 "syscall"
29                 : "+&r"(r2), "=r"(r7)
30                 : "r"(r4)
31                 : SYSCALL_CLOBBERLIST);
32         return r7 ? -r2 : r2;
33 }
34
35 static inline long __syscall2(long n, long a, long b)
36 {
37         register long r4 __asm__("$4") = a;
38         register long r5 __asm__("$5") = b;
39         register long r7 __asm__("$7");
40         register long r2 __asm__("$2") = n;
41         __asm__ __volatile__ (
42                 "syscall"
43                 : "+&r"(r2), "=r"(r7)
44                 : "r"(r4), "r"(r5)
45                 : SYSCALL_CLOBBERLIST);
46         return r7 ? -r2 : r2;
47 }
48
49 static inline long __syscall3(long n, long a, long b, long c)
50 {
51         register long r4 __asm__("$4") = a;
52         register long r5 __asm__("$5") = b;
53         register long r6 __asm__("$6") = c;
54         register long r7 __asm__("$7");
55         register long r2 __asm__("$2") = n;
56         __asm__ __volatile__ (
57                 "syscall"
58                 : "+&r"(r2), "=r"(r7)
59                 : "r"(r4), "r"(r5), "r"(r6)
60                 : SYSCALL_CLOBBERLIST);
61         return r7 ? -r2 : r2;
62 }
63
64 static inline long __syscall4(long n, long a, long b, long c, long d)
65 {
66         register long r4 __asm__("$4") = a;
67         register long r5 __asm__("$5") = b;
68         register long r6 __asm__("$6") = c;
69         register long r7 __asm__("$7") = d;
70         register long r2 __asm__("$2") = n;
71         __asm__ __volatile__ (
72                 "syscall"
73                 : "+&r"(r2), "+r"(r7)
74                 : "r"(r4), "r"(r5), "r"(r6)
75                 : SYSCALL_CLOBBERLIST);
76         return r7 ? -r2 : r2;
77 }
78
79 static inline long __syscall5(long n, long a, long b, long c, long d, long e)
80 {
81         register long r4 __asm__("$4") = a;
82         register long r5 __asm__("$5") = b;
83         register long r6 __asm__("$6") = c;
84         register long r7 __asm__("$7") = d;
85         register long r8 __asm__("$8") = e;
86         register long r2 __asm__("$2") = n;
87         __asm__ __volatile__ (
88                 "syscall"
89                 : "+&r"(r2), "+r"(r7)
90                 : "r"(r4), "r"(r5), "r"(r6), "r"(r8)
91                 : SYSCALL_CLOBBERLIST);
92         return r7 ? -r2 : r2;
93 }
94
95 static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
96 {
97         register long r4 __asm__("$4") = a;
98         register long r5 __asm__("$5") = b;
99         register long r6 __asm__("$6") = c;
100         register long r7 __asm__("$7") = d;
101         register long r8 __asm__("$8") = e;
102         register long r9 __asm__("$9") = f;
103         register long r2 __asm__("$2") = n;
104         __asm__ __volatile__ (
105                 "syscall"
106                 : "+&r"(r2), "+r"(r7)
107                 : "r"(r4), "r"(r5), "r"(r6), "r"(r8), "r"(r9)
108                 : SYSCALL_CLOBBERLIST);
109         return r7 ? -r2 : r2;
110 }
111
112 #define VDSO_USEFUL
113 #define VDSO_CGT_SYM "__vdso_clock_gettime"
114 #define VDSO_CGT_VER "LINUX_2.6"
115
116 #define SO_SNDTIMEO_OLD 0x1005
117 #define SO_RCVTIMEO_OLD 0x1006