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		390
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