Commit e632bca0 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

arm64: generate 64-bit syscall.tbl



Change the asm/unistd.h header for arm64 to no longer include
asm-generic/unistd.h itself, but instead generate both the asm/unistd.h
contents and the list of entry points using the syscall.tbl scripts that
we use on most other architectures.

Once his is done for the remaining architectures, the generic unistd.h
header can be removed and the generated tbl file put in its place.

The Makefile changes are more complex than they should be, I need
a little help to improve those. Ideally this should be done in an
architecture-independent way as well.

Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 7fe33e9f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
syscall-y += syscall_table_32.h
syscall-y += syscall_table_64.h

# arm32 syscall table used by lib/compat_audit.c:
syscall-y += unistd_32.h
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#define SECCOMP_ARCH_NATIVE_NR		NR_syscalls
#define SECCOMP_ARCH_NATIVE_NAME	"aarch64"
#ifdef CONFIG_COMPAT
#include <asm/unistd_compat_32.h>
# define SECCOMP_ARCH_COMPAT		AUDIT_ARCH_ARM
# define SECCOMP_ARCH_COMPAT_NR		__NR_compat32_syscalls
# define SECCOMP_ARCH_COMPAT_NAME	"arm"
+2 −3
Original line number Diff line number Diff line
@@ -41,9 +41,8 @@
#endif

#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_NEW_STAT

#ifndef __COMPAT_SYSCALL_NR
#include <uapi/asm/unistd.h>
#endif
#include <asm/unistd_64.h>

#define NR_syscalls (__NR_syscalls)
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
syscall-y += unistd_64.h

generic-y += kvm_para.h
+1 −23
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * Copyright (C) 2012 ARM Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#define __ARCH_WANT_RENAMEAT
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SET_GET_RLIMIT
#define __ARCH_WANT_TIME32_SYSCALLS
#define __ARCH_WANT_MEMFD_SECRET

#include <asm-generic/unistd.h>
#include <asm/unistd_64.h>
Loading