xref: /linux/arch/arm64/include/asm/unistd.h (revision 5a94296bc02ac616336da7b5332b86d2ca8827f0)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2012 ARM Ltd.
4  */
5 #ifdef CONFIG_COMPAT
6 #define __ARCH_WANT_COMPAT_STAT64
7 #define __ARCH_WANT_SYS_GETHOSTNAME
8 #define __ARCH_WANT_SYS_PAUSE
9 #define __ARCH_WANT_SYS_GETPGRP
10 #define __ARCH_WANT_SYS_NICE
11 #define __ARCH_WANT_SYS_SIGPENDING
12 #define __ARCH_WANT_SYS_SIGPROCMASK
13 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
14 #define __ARCH_WANT_SYS_UTIME32
15 #define __ARCH_WANT_SYS_FORK
16 #define __ARCH_WANT_SYS_VFORK
17 
18 /*
19  * Compat syscall numbers used by the AArch64 kernel.
20  */
21 #define __NR_compat_restart_syscall	0
22 #define __NR_compat_exit		1
23 #define __NR_compat_read		3
24 #define __NR_compat_write		4
25 #define __NR_compat_gettimeofday	78
26 #define __NR_compat_sigreturn		119
27 #define __NR_compat_rt_sigreturn	173
28 #define __NR_compat_clock_gettime	263
29 #define __NR_compat_clock_getres	264
30 #define __NR_compat_clock_gettime64	403
31 #define __NR_compat_clock_getres_time64	406
32 
33 /*
34  * The following SVCs are ARM private.
35  */
36 #define __ARM_NR_COMPAT_BASE		0x0f0000
37 #define __ARM_NR_compat_cacheflush	(__ARM_NR_COMPAT_BASE + 2)
38 #define __ARM_NR_compat_set_tls		(__ARM_NR_COMPAT_BASE + 5)
39 #define __ARM_NR_COMPAT_END		(__ARM_NR_COMPAT_BASE + 0x800)
40 
41 #define __NR_compat_syscalls		447
42 #endif
43 
44 #define __ARCH_WANT_SYS_CLONE
45 
46 #ifndef __COMPAT_SYSCALL_NR
47 #include <uapi/asm/unistd.h>
48 #endif
49 
50 #define NR_syscalls (__NR_syscalls)
51