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