Commit 7fe33e9f authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

arm64: convert unistd_32.h to syscall.tbl format



This is a straight conversion from the old asm/unistd32.h into the
format used by 32-bit arm and most other architectures, calling scripts
to generate the asm/unistd32.h header and a new asm/syscalls32.h headers.

I used a semi-automated text replacement method to do the conversion,
and then used 'vimdiff' to synchronize the whitespace and the (unused)
names of the non-compat syscalls with the arm version.

There are two differences between the generated syscalls names and the
old version:

 - the old asm/unistd32.h contained only a __NR_sync_file_range2
   entry, while the arm32 version also defines
   __NR_arm_sync_file_range with the same number. I added this
   duplicate back in asm/unistd32.h.

 - __NR__sysctl was removed from the arm64 file a while ago, but
   all the tables still contain it. This should probably get removed
   everywhere but I added it here for consistency.

On top of that, the arm64 version does not contain any references to
the 32-bit OABI syscalls that are not supported by arm64. If we ever
want to share the file between arm32 and arm64, it would not be
hard to add support for both in one file.

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

# arm32 syscall table used by lib/compat_audit.c:
syscall-y += unistd_32.h
# same constants with prefixes, used by vdso, seccomp and sigreturn:
syscall-y += unistd_compat_32.h

generic-y += early_ioremap.h
generic-y += mcs_spinlock.h
generic-y += qrwlock.h
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#define SECCOMP_ARCH_NATIVE_NAME	"aarch64"
#ifdef CONFIG_COMPAT
# define SECCOMP_ARCH_COMPAT		AUDIT_ARCH_ARM
# define SECCOMP_ARCH_COMPAT_NR	__NR_compat_syscalls
# define SECCOMP_ARCH_COMPAT_NR		__NR_compat32_syscalls
# define SECCOMP_ARCH_COMPAT_NAME	"arm"
#endif

+0 −2
Original line number Diff line number Diff line
@@ -38,8 +38,6 @@
#define __ARM_NR_compat_cacheflush	(__ARM_NR_COMPAT_BASE + 2)
#define __ARM_NR_compat_set_tls		(__ARM_NR_COMPAT_BASE + 5)
#define __ARM_NR_COMPAT_END		(__ARM_NR_COMPAT_BASE + 0x800)

#define __NR_compat_syscalls		463
#endif

#define __ARCH_WANT_SYS_CLONE
+5 −934

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

syscall_abis_32 +=

syscalltbl = arch/arm64/tools/syscall_%.tbl
Loading