xref: /openbmc/linux/arch/arm64/include/asm/unistd.h (revision bc5aa3a0)
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_SYS_GETDENTS64
18 #define __ARCH_WANT_COMPAT_STAT64
19 #define __ARCH_WANT_SYS_GETHOSTNAME
20 #define __ARCH_WANT_SYS_PAUSE
21 #define __ARCH_WANT_SYS_GETPGRP
22 #define __ARCH_WANT_SYS_LLSEEK
23 #define __ARCH_WANT_SYS_NICE
24 #define __ARCH_WANT_SYS_SIGPENDING
25 #define __ARCH_WANT_SYS_SIGPROCMASK
26 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
27 #define __ARCH_WANT_SYS_FORK
28 #define __ARCH_WANT_SYS_VFORK
29 
30 /*
31  * Compat syscall numbers used by the AArch64 kernel.
32  */
33 #define __NR_compat_restart_syscall	0
34 #define __NR_compat_exit		1
35 #define __NR_compat_read		3
36 #define __NR_compat_write		4
37 #define __NR_compat_sigreturn		119
38 #define __NR_compat_rt_sigreturn	173
39 
40 /*
41  * The following SVCs are ARM private.
42  */
43 #define __ARM_NR_COMPAT_BASE		0x0f0000
44 #define __ARM_NR_compat_cacheflush	(__ARM_NR_COMPAT_BASE+2)
45 #define __ARM_NR_compat_set_tls		(__ARM_NR_COMPAT_BASE+5)
46 
47 #define __NR_compat_syscalls		394
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