github.com/afumu/libc@v0.0.6/musl/arch/microblaze/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 r12 __asm__("r12") = n; 9 register unsigned long r3 __asm__("r3"); 10 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 11 : "r"(r12) 12 : "memory", "r4"); 13 return r3; 14 } 15 16 static inline long __syscall1(long n, long a) 17 { 18 register unsigned long r12 __asm__("r12") = n; 19 register unsigned long r3 __asm__("r3"); 20 register unsigned long r5 __asm__("r5") = a; 21 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 22 : "r"(r12), "r"(r5) 23 : "memory", "r4"); 24 return r3; 25 } 26 27 static inline long __syscall2(long n, long a, long b) 28 { 29 register unsigned long r12 __asm__("r12") = n; 30 register unsigned long r3 __asm__("r3"); 31 register unsigned long r5 __asm__("r5") = a; 32 register unsigned long r6 __asm__("r6") = b; 33 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 34 : "r"(r12), "r"(r5), "r"(r6) 35 : "memory", "r4"); 36 return r3; 37 } 38 39 static inline long __syscall3(long n, long a, long b, long c) 40 { 41 register unsigned long r12 __asm__("r12") = n; 42 register unsigned long r3 __asm__("r3"); 43 register unsigned long r5 __asm__("r5") = a; 44 register unsigned long r6 __asm__("r6") = b; 45 register unsigned long r7 __asm__("r7") = c; 46 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 47 : "r"(r12), "r"(r5), "r"(r6), "r"(r7) 48 : "memory", "r4"); 49 return r3; 50 } 51 52 static inline long __syscall4(long n, long a, long b, long c, long d) 53 { 54 register unsigned long r12 __asm__("r12") = n; 55 register unsigned long r3 __asm__("r3"); 56 register unsigned long r5 __asm__("r5") = a; 57 register unsigned long r6 __asm__("r6") = b; 58 register unsigned long r7 __asm__("r7") = c; 59 register unsigned long r8 __asm__("r8") = d; 60 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 61 : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8) 62 : "memory", "r4"); 63 return r3; 64 } 65 66 static inline long __syscall5(long n, long a, long b, long c, long d, long e) 67 { 68 register unsigned long r12 __asm__("r12") = n; 69 register unsigned long r3 __asm__("r3"); 70 register unsigned long r5 __asm__("r5") = a; 71 register unsigned long r6 __asm__("r6") = b; 72 register unsigned long r7 __asm__("r7") = c; 73 register unsigned long r8 __asm__("r8") = d; 74 register unsigned long r9 __asm__("r9") = e; 75 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 76 : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8), "r"(r9) 77 : "memory", "r4"); 78 return r3; 79 } 80 81 static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) 82 { 83 register unsigned long r12 __asm__("r12") = n; 84 register unsigned long r3 __asm__("r3"); 85 register unsigned long r5 __asm__("r5") = a; 86 register unsigned long r6 __asm__("r6") = b; 87 register unsigned long r7 __asm__("r7") = c; 88 register unsigned long r8 __asm__("r8") = d; 89 register unsigned long r9 __asm__("r9") = e; 90 register unsigned long r10 __asm__("r10") = f; 91 __asm__ __volatile__ ("brki r14, 0x8" : "=r"(r3) 92 : "r"(r12), "r"(r5), "r"(r6), "r"(r7), "r"(r8), "r"(r9), "r"(r10) 93 : "memory", "r4"); 94 return r3; 95 } 96 97 #define SYSCALL_IPC_BROKEN_MODE