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(__LP64__) 67 # include <asm/unistd_64.h> 68 # else 69 # include <asm/unistd_x32.h> 70 # endif 71 #endif 72 73 #endif /* _ASM_X86_UNISTD_H */ 74