github.com/afumu/libc@v0.0.6/musl/arch/m68k/syscall_arch.h (about) 1 #define __SYSCALL_LL_E(x) \ 2 ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ 3 ((union { long long ll; long l[2]; }){ .ll = x }).l[1] 4 #define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x)) 5 6 static __inline long __syscall0(long n) 7 { 8 register unsigned long d0 __asm__("d0") = n; 9 __asm__ __volatile__ ("trap #0" : "+r"(d0) 10 : 11 : "memory"); 12 return d0; 13 } 14 15 static inline long __syscall1(long n, long a) 16 { 17 register unsigned long d0 __asm__("d0") = n; 18 register unsigned long d1 __asm__("d1") = a; 19 __asm__ __volatile__ ("trap #0" : "+r"(d0) 20 : "r"(d1) 21 : "memory"); 22 return d0; 23 } 24 25 static inline long __syscall2(long n, long a, long b) 26 { 27 register unsigned long d0 __asm__("d0") = n; 28 register unsigned long d1 __asm__("d1") = a; 29 register unsigned long d2 __asm__("d2") = b; 30 __asm__ __volatile__ ("trap #0" : "+r"(d0) 31 : "r"(d1), "r"(d2) 32 : "memory"); 33 return d0; 34 } 35 36 static inline long __syscall3(long n, long a, long b, long c) 37 { 38 register unsigned long d0 __asm__("d0") = n; 39 register unsigned long d1 __asm__("d1") = a; 40 register unsigned long d2 __asm__("d2") = b; 41 register unsigned long d3 __asm__("d3") = c; 42 __asm__ __volatile__ ("trap #0" : "+r"(d0) 43 : "r"(d1), "r"(d2), "r"(d3) 44 : "memory"); 45 return d0; 46 } 47 48 static inline long __syscall4(long n, long a, long b, long c, long d) 49 { 50 register unsigned long d0 __asm__("d0") = n; 51 register unsigned long d1 __asm__("d1") = a; 52 register unsigned long d2 __asm__("d2") = b; 53 register unsigned long d3 __asm__("d3") = c; 54 register unsigned long d4 __asm__("d4") = d; 55 __asm__ __volatile__ ("trap #0" : "+r"(d0) 56 : "r"(d1), "r"(d2), "r"(d3), "r"(d4) 57 : "memory"); 58 return d0; 59 } 60 61 static inline long __syscall5(long n, long a, long b, long c, long d, long e) 62 { 63 register unsigned long d0 __asm__("d0") = n; 64 register unsigned long d1 __asm__("d1") = a; 65 register unsigned long d2 __asm__("d2") = b; 66 register unsigned long d3 __asm__("d3") = c; 67 register unsigned long d4 __asm__("d4") = d; 68 register unsigned long d5 __asm__("d5") = e; 69 __asm__ __volatile__ ("trap #0" : "+r"(d0) 70 : "r"(d1), "r"(d2), "r"(d3), "r"(d4), "r"(d5) 71 : "memory"); 72 return d0; 73 } 74 75 static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) 76 { 77 register unsigned long d0 __asm__("d0") = n; 78 register unsigned long d1 __asm__("d1") = a; 79 register unsigned long d2 __asm__("d2") = b; 80 register unsigned long d3 __asm__("d3") = c; 81 register unsigned long d4 __asm__("d4") = d; 82 register unsigned long d5 __asm__("d5") = e; 83 register unsigned long a0 __asm__("a0") = f; 84 __asm__ __volatile__ ("trap #0" : "+r"(d0) 85 : "r"(d1), "r"(d2), "r"(d3), "r"(d4), "r"(d5), "r"(a0) 86 : "memory"); 87 return d0; 88 } 89 90 #define SYSCALL_USE_SOCKETCALL 91 #define SYSCALL_IPC_BROKEN_MODE