1 #ifndef _ASM_X86_UNISTD_H
2 #define _ASM_X86_UNISTD_H 1
3 
4 /* x32 syscall flag bit */
5 #define __X32_SYSCALL_BIT	0x40000000
6 
7 #ifdef __KERNEL__
8 
9 # ifdef CONFIG_X86_X32_ABI
10 #  define __SYSCALL_MASK (~(__X32_SYSCALL_BIT))
11 # else
12 #  define __SYSCALL_MASK (~0)
13 # endif
14 
15 # ifdef CONFIG_X86_32
16 
17 #  include <asm/unistd_32.h>
18 #  define __ARCH_WANT_IPC_PARSE_VERSION
19 #  define __ARCH_WANT_STAT64
20 #  define __ARCH_WANT_SYS_IPC
21 #  define __ARCH_WANT_SYS_OLD_MMAP
22 #  define __ARCH_WANT_SYS_OLD_SELECT
23 
24 # else
25 
26 #  include <asm/unistd_64.h>
27 #  include <asm/unistd_64_x32.h>
28 #  define __ARCH_WANT_COMPAT_SYS_TIME
29 
30 # endif
31 
32 # define __ARCH_WANT_OLD_READDIR
33 # define __ARCH_WANT_OLD_STAT
34 # define __ARCH_WANT_SYS_ALARM
35 # define __ARCH_WANT_SYS_FADVISE64
36 # define __ARCH_WANT_SYS_GETHOSTNAME
37 # define __ARCH_WANT_SYS_GETPGRP
38 # define __ARCH_WANT_SYS_LLSEEK
39 # define __ARCH_WANT_SYS_NICE
40 # define __ARCH_WANT_SYS_OLDUMOUNT
41 # define __ARCH_WANT_SYS_OLD_GETRLIMIT
42 # define __ARCH_WANT_SYS_OLD_UNAME
43 # define __ARCH_WANT_SYS_PAUSE
44 # define __ARCH_WANT_SYS_RT_SIGACTION
45 # define __ARCH_WANT_SYS_RT_SIGSUSPEND
46 # define __ARCH_WANT_SYS_SGETMASK
47 # define __ARCH_WANT_SYS_SIGNAL
48 # define __ARCH_WANT_SYS_SIGPENDING
49 # define __ARCH_WANT_SYS_SIGPROCMASK
50 # define __ARCH_WANT_SYS_SOCKETCALL
51 # define __ARCH_WANT_SYS_TIME
52 # define __ARCH_WANT_SYS_UTIME
53 # define __ARCH_WANT_SYS_WAITPID
54 
55 /*
56  * "Conditional" syscalls
57  *
58  * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
59  * but it doesn't work on all toolchains, so we just do it by hand
60  */
61 # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
62 
63 #else
64 # ifdef __i386__
65 #  include <asm/unistd_32.h>
66 # elif defined(__ILP32__)
67 #  include <asm/unistd_x32.h>
68 # else
69 #  include <asm/unistd_64.h>
70 # endif
71 #endif
72 
73 #endif /* _ASM_X86_UNISTD_H */
74