boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

syscall_arch.h (1216B)


      1 #define __SYSCALL_LL_E(x) (x)
      2 #define __SYSCALL_LL_O(x) (x)
      3 
      4 /* tcc-friendly: avoid GCC register-asm-variable extension and
      5    x86 inline-asm constraints by routing every syscall through a
      6    pure-asm trampoline (src/internal/x86_64/syscall.s). */
      7 extern long __syscall(long, ...);
      8 
      9 static __inline long __syscall0(long n)
     10 {
     11 	return __syscall(n);
     12 }
     13 
     14 static __inline long __syscall1(long n, long a1)
     15 {
     16 	return __syscall(n, a1);
     17 }
     18 
     19 static __inline long __syscall2(long n, long a1, long a2)
     20 {
     21 	return __syscall(n, a1, a2);
     22 }
     23 
     24 static __inline long __syscall3(long n, long a1, long a2, long a3)
     25 {
     26 	return __syscall(n, a1, a2, a3);
     27 }
     28 
     29 static __inline long __syscall4(long n, long a1, long a2, long a3, long a4)
     30 {
     31 	return __syscall(n, a1, a2, a3, a4);
     32 }
     33 
     34 static __inline long __syscall5(long n, long a1, long a2, long a3, long a4, long a5)
     35 {
     36 	return __syscall(n, a1, a2, a3, a4, a5);
     37 }
     38 
     39 static __inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6)
     40 {
     41 	return __syscall(n, a1, a2, a3, a4, a5, a6);
     42 }
     43 
     44 #define VDSO_USEFUL
     45 #define VDSO_CGT_SYM "__vdso_clock_gettime"
     46 #define VDSO_CGT_VER "LINUX_2.6"
     47 #define VDSO_GETCPU_SYM "__vdso_getcpu"
     48 #define VDSO_GETCPU_VER "LINUX_2.6"
     49 
     50 #define IPC_64 0