H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 1 | #ifndef _ASM_X86_UNISTD_H |
| 2 | #define _ASM_X86_UNISTD_H 1 |
| 3 | |
H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame^] | 4 | /* x32 syscall flag bit */ |
| 5 | #define __X32_SYSCALL_BIT 0x40000000 |
| 6 | |
Thomas Gleixner | 96a388d | 2007-10-11 11:20:03 +0200 | [diff] [blame] | 7 | #ifdef __KERNEL__ |
Adrian Bunk | b11caa7 | 2008-04-20 22:02:17 +0300 | [diff] [blame] | 8 | # ifdef CONFIG_X86_32 |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 9 | |
| 10 | # include <asm/unistd_32.h> |
| 11 | # define __ARCH_WANT_IPC_PARSE_VERSION |
| 12 | # define __ARCH_WANT_STAT64 |
H. Peter Anvin | 4f2f81a | 2012-01-19 12:41:25 -0800 | [diff] [blame] | 13 | # define __ARCH_WANT_SYS_IPC |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 14 | # define __ARCH_WANT_SYS_OLD_MMAP |
| 15 | # define __ARCH_WANT_SYS_OLD_SELECT |
| 16 | |
Adrian Bunk | b11caa7 | 2008-04-20 22:02:17 +0300 | [diff] [blame] | 17 | # else |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 18 | |
| 19 | # include <asm/unistd_64.h> |
| 20 | # define __ARCH_WANT_COMPAT_SYS_TIME |
| 21 | |
Adrian Bunk | b11caa7 | 2008-04-20 22:02:17 +0300 | [diff] [blame] | 22 | # endif |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 23 | |
| 24 | # define __ARCH_WANT_OLD_READDIR |
| 25 | # define __ARCH_WANT_OLD_STAT |
| 26 | # define __ARCH_WANT_SYS_ALARM |
| 27 | # define __ARCH_WANT_SYS_FADVISE64 |
| 28 | # define __ARCH_WANT_SYS_GETHOSTNAME |
| 29 | # define __ARCH_WANT_SYS_GETPGRP |
| 30 | # define __ARCH_WANT_SYS_LLSEEK |
| 31 | # define __ARCH_WANT_SYS_NICE |
| 32 | # define __ARCH_WANT_SYS_OLDUMOUNT |
| 33 | # define __ARCH_WANT_SYS_OLD_GETRLIMIT |
| 34 | # define __ARCH_WANT_SYS_OLD_UNAME |
| 35 | # define __ARCH_WANT_SYS_PAUSE |
| 36 | # define __ARCH_WANT_SYS_RT_SIGACTION |
| 37 | # define __ARCH_WANT_SYS_RT_SIGSUSPEND |
| 38 | # define __ARCH_WANT_SYS_SGETMASK |
| 39 | # define __ARCH_WANT_SYS_SIGNAL |
| 40 | # define __ARCH_WANT_SYS_SIGPENDING |
| 41 | # define __ARCH_WANT_SYS_SIGPROCMASK |
| 42 | # define __ARCH_WANT_SYS_SOCKETCALL |
| 43 | # define __ARCH_WANT_SYS_TIME |
| 44 | # define __ARCH_WANT_SYS_UTIME |
| 45 | # define __ARCH_WANT_SYS_WAITPID |
| 46 | |
| 47 | /* |
| 48 | * "Conditional" syscalls |
| 49 | * |
| 50 | * What we want is __attribute__((weak,alias("sys_ni_syscall"))), |
| 51 | * but it doesn't work on all toolchains, so we just do it by hand |
| 52 | */ |
| 53 | # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") |
| 54 | |
Adrian Bunk | b11caa7 | 2008-04-20 22:02:17 +0300 | [diff] [blame] | 55 | #else |
| 56 | # ifdef __i386__ |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 57 | # include <asm/unistd_32.h> |
H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame^] | 58 | # elif defined(__LP64__) |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 59 | # include <asm/unistd_64.h> |
H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame^] | 60 | # else |
| 61 | # include <asm/unistd_x32.h> |
Thomas Gleixner | 96a388d | 2007-10-11 11:20:03 +0200 | [diff] [blame] | 62 | # endif |
| 63 | #endif |
H. Peter Anvin | 303395a | 2011-11-11 16:07:41 -0800 | [diff] [blame] | 64 | |
| 65 | #endif /* _ASM_X86_UNISTD_H */ |