unistd.h 1.7 KB
Newer Older
1 2 3
#ifndef _ASM_X86_UNISTD_H
#define _ASM_X86_UNISTD_H 1

4 5 6
/* x32 syscall flag bit */
#define __X32_SYSCALL_BIT	0x40000000

7
#ifdef __KERNEL__
8 9 10 11 12 13 14

# ifdef CONFIG_X86_X32_ABI
#  define __SYSCALL_MASK (~(__X32_SYSCALL_BIT))
# else
#  define __SYSCALL_MASK (~0)
# endif

A
Adrian Bunk 已提交
15
# ifdef CONFIG_X86_32
16 17 18 19

#  include <asm/unistd_32.h>
#  define __ARCH_WANT_IPC_PARSE_VERSION
#  define __ARCH_WANT_STAT64
20
#  define __ARCH_WANT_SYS_IPC
21 22 23
#  define __ARCH_WANT_SYS_OLD_MMAP
#  define __ARCH_WANT_SYS_OLD_SELECT

A
Adrian Bunk 已提交
24
# else
25 26

#  include <asm/unistd_64.h>
27
#  include <asm/unistd_64_x32.h>
28 29
#  define __ARCH_WANT_COMPAT_SYS_TIME

A
Adrian Bunk 已提交
30
# endif
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

# define __ARCH_WANT_OLD_READDIR
# define __ARCH_WANT_OLD_STAT
# define __ARCH_WANT_SYS_ALARM
# define __ARCH_WANT_SYS_FADVISE64
# define __ARCH_WANT_SYS_GETHOSTNAME
# define __ARCH_WANT_SYS_GETPGRP
# define __ARCH_WANT_SYS_LLSEEK
# define __ARCH_WANT_SYS_NICE
# define __ARCH_WANT_SYS_OLDUMOUNT
# define __ARCH_WANT_SYS_OLD_GETRLIMIT
# define __ARCH_WANT_SYS_OLD_UNAME
# define __ARCH_WANT_SYS_PAUSE
# define __ARCH_WANT_SYS_RT_SIGACTION
# define __ARCH_WANT_SYS_RT_SIGSUSPEND
# define __ARCH_WANT_SYS_SGETMASK
# define __ARCH_WANT_SYS_SIGNAL
# define __ARCH_WANT_SYS_SIGPENDING
# define __ARCH_WANT_SYS_SIGPROCMASK
# define __ARCH_WANT_SYS_SOCKETCALL
# define __ARCH_WANT_SYS_TIME
# define __ARCH_WANT_SYS_UTIME
# define __ARCH_WANT_SYS_WAITPID

/*
 * "Conditional" syscalls
 *
 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
 * but it doesn't work on all toolchains, so we just do it by hand
 */
# define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")

A
Adrian Bunk 已提交
63 64
#else
# ifdef __i386__
65
#  include <asm/unistd_32.h>
66
# elif defined(__LP64__)
67
#  include <asm/unistd_64.h>
68 69
# else
#  include <asm/unistd_x32.h>
70 71
# endif
#endif
72 73

#endif /* _ASM_X86_UNISTD_H */