unistd.h 1.75 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

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

24
# else
25
26

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

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")

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 */