Merge git://1984.lsi.us.es/nf-next
[cascardo/linux.git] / arch / x86 / include / asm / unistd.h
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_STAT64
19 #  define __ARCH_WANT_SYS_IPC
20 #  define __ARCH_WANT_SYS_OLD_MMAP
21 #  define __ARCH_WANT_SYS_OLD_SELECT
22
23 # else
24
25 #  include <asm/unistd_64.h>
26 #  include <asm/unistd_64_x32.h>
27 #  define __ARCH_WANT_COMPAT_SYS_TIME
28
29 # endif
30
31 # define __ARCH_WANT_OLD_READDIR
32 # define __ARCH_WANT_OLD_STAT
33 # define __ARCH_WANT_SYS_ALARM
34 # define __ARCH_WANT_SYS_FADVISE64
35 # define __ARCH_WANT_SYS_GETHOSTNAME
36 # define __ARCH_WANT_SYS_GETPGRP
37 # define __ARCH_WANT_SYS_LLSEEK
38 # define __ARCH_WANT_SYS_NICE
39 # define __ARCH_WANT_SYS_OLDUMOUNT
40 # define __ARCH_WANT_SYS_OLD_GETRLIMIT
41 # define __ARCH_WANT_SYS_OLD_UNAME
42 # define __ARCH_WANT_SYS_PAUSE
43 # define __ARCH_WANT_SYS_RT_SIGACTION
44 # define __ARCH_WANT_SYS_RT_SIGSUSPEND
45 # define __ARCH_WANT_SYS_SGETMASK
46 # define __ARCH_WANT_SYS_SIGNAL
47 # define __ARCH_WANT_SYS_SIGPENDING
48 # define __ARCH_WANT_SYS_SIGPROCMASK
49 # define __ARCH_WANT_SYS_SOCKETCALL
50 # define __ARCH_WANT_SYS_TIME
51 # define __ARCH_WANT_SYS_UTIME
52 # define __ARCH_WANT_SYS_WAITPID
53
54 /*
55  * "Conditional" syscalls
56  *
57  * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
58  * but it doesn't work on all toolchains, so we just do it by hand
59  */
60 # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
61
62 #else
63 # ifdef __i386__
64 #  include <asm/unistd_32.h>
65 # elif defined(__ILP32__)
66 #  include <asm/unistd_x32.h>
67 # else
68 #  include <asm/unistd_64.h>
69 # endif
70 #endif
71
72 #endif /* _ASM_X86_UNISTD_H */