xref: /openbmc/linux/arch/arm64/include/asm/unistd.h (revision c8ec3743)
1 /*
2  * Copyright (C) 2012 ARM Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16 #ifdef CONFIG_COMPAT
17 #define __ARCH_WANT_COMPAT_STAT64
18 #define __ARCH_WANT_SYS_GETHOSTNAME
19 #define __ARCH_WANT_SYS_PAUSE
20 #define __ARCH_WANT_SYS_GETPGRP
21 #define __ARCH_WANT_SYS_NICE
22 #define __ARCH_WANT_SYS_SIGPENDING
23 #define __ARCH_WANT_SYS_SIGPROCMASK
24 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
25 #define __ARCH_WANT_SYS_UTIME32
26 #define __ARCH_WANT_SYS_FORK
27 #define __ARCH_WANT_SYS_VFORK
28 
29 /*
30  * Compat syscall numbers used by the AArch64 kernel.
31  */
32 #define __NR_compat_restart_syscall	0
33 #define __NR_compat_exit		1
34 #define __NR_compat_read		3
35 #define __NR_compat_write		4
36 #define __NR_compat_sigreturn		119
37 #define __NR_compat_rt_sigreturn	173
38 
39 /*
40  * The following SVCs are ARM private.
41  */
42 #define __ARM_NR_COMPAT_BASE		0x0f0000
43 #define __ARM_NR_compat_cacheflush	(__ARM_NR_COMPAT_BASE + 2)
44 #define __ARM_NR_compat_set_tls		(__ARM_NR_COMPAT_BASE + 5)
45 #define __ARM_NR_COMPAT_END		(__ARM_NR_COMPAT_BASE + 0x800)
46 
47 #define __NR_compat_syscalls		400
48 #endif
49 
50 #define __ARCH_WANT_SYS_CLONE
51 
52 #ifndef __COMPAT_SYSCALL_NR
53 #include <uapi/asm/unistd.h>
54 #endif
55 
56 #define NR_syscalls (__NR_syscalls)
57