From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-arch@vger.kernel.org, x86@kernel.org
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linux-sh@vger.kernel.org,
linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
Masahiro Yamada <masahiroy@kernel.org>
Subject: [PATCH 06/27] ARM: syscalls: switch to generic syscalltbl.sh
Date: Thu, 28 Jan 2021 09:50:48 +0900 [thread overview]
Message-ID: <20210128005110.2613902-7-masahiroy@kernel.org> (raw)
In-Reply-To: <20210128005110.2613902-1-masahiroy@kernel.org>
As of v5.11-rc1, 12 architectures duplicate similar shell scripts in
order to generate syscall table headers. My goal is to unify them into
the single scripts/syscalltbl.sh.
This commit converts ARM to use scripts/syscalltbl.sh.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
arch/arm/kernel/entry-common.S | 8 ++++----
arch/arm/tools/Makefile | 9 ++++-----
arch/arm/tools/syscalltbl.sh | 22 ----------------------
3 files changed, 8 insertions(+), 31 deletions(-)
delete mode 100644 arch/arm/tools/syscalltbl.sh
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index e0d7833a1827..7f0b7aba1498 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -344,20 +344,19 @@ ENTRY(\sym)
.size \sym, . - \sym
.endm
-#define NATIVE(nr, func) syscall nr, func
+#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
+#define __SYSCALL(nr, func) syscall nr, func
/*
* This is the syscall table declaration for native ABI syscalls.
* With EABI a couple syscalls are obsolete and defined as sys_ni_syscall.
*/
syscall_table_start sys_call_table
-#define COMPAT(nr, native, compat) syscall nr, native
#ifdef CONFIG_AEABI
#include <calls-eabi.S>
#else
#include <calls-oabi.S>
#endif
-#undef COMPAT
syscall_table_end sys_call_table
/*============================================================================
@@ -455,7 +454,8 @@ ENDPROC(sys_oabi_readahead)
* using the compatibility syscall entries.
*/
syscall_table_start sys_oabi_call_table
-#define COMPAT(nr, native, compat) syscall nr, compat
+#undef __SYSCALL_WITH_COMPAT
+#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
#include <calls-oabi.S>
syscall_table_end sys_oabi_call_table
diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
index 27d8beb7c941..c331cfe92b3c 100644
--- a/arch/arm/tools/Makefile
+++ b/arch/arm/tools/Makefile
@@ -10,7 +10,7 @@ kapi := $(gen)/asm
uapi := $(gen)/uapi/asm
syshdr := $(srctree)/$(src)/syscallhdr.sh
sysnr := $(srctree)/$(src)/syscallnr.sh
-systbl := $(srctree)/$(src)/syscalltbl.sh
+systbl := $(srctree)/scripts/syscalltbl.sh
syscall := $(srctree)/$(src)/syscall.tbl
gen-y := $(gen)/calls-oabi.S
@@ -47,8 +47,7 @@ quiet_cmd_syshdr = SYSHDR $@
'__NR_SYSCALL_BASE'
quiet_cmd_systbl = SYSTBL $@
- cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
- '$(systbl_abi_$(basetarget))'
+ cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@ $(abis)
quiet_cmd_sysnr = SYSNR $@
cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
@@ -70,10 +69,10 @@ sysnr_abi_unistd-nr := common,oabi,eabi,compat
$(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE
$(call if_changed,sysnr)
-systbl_abi_calls-oabi := common,oabi
+$(gen)/calls-oabi.S: abis := common,oabi
$(gen)/calls-oabi.S: $(syscall) $(systbl) FORCE
$(call if_changed,systbl)
-systbl_abi_calls-eabi := common,eabi
+$(gen)/calls-eabi.S: abis := common,eabi
$(gen)/calls-eabi.S: $(syscall) $(systbl) FORCE
$(call if_changed,systbl)
diff --git a/arch/arm/tools/syscalltbl.sh b/arch/arm/tools/syscalltbl.sh
deleted file mode 100644
index ae7e93cfbfd3..000000000000
--- a/arch/arm/tools/syscalltbl.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: GPL-2.0
-in="$1"
-out="$2"
-my_abis=`echo "($3)" | tr ',' '|'`
-
-grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
- while read nr abi name entry compat; do
- if [ "$abi" = "eabi" -a -n "$compat" ]; then
- echo "$in: error: a compat entry for an EABI syscall ($name) makes no sense" >&2
- exit 1
- fi
-
- if [ -n "$entry" ]; then
- if [ -z "$compat" ]; then
- echo "NATIVE($nr, $entry)"
- else
- echo "COMPAT($nr, $entry, $compat)"
- fi
- fi
- done
-) > "$out"
--
2.27.0
next prev parent reply other threads:[~2021-01-28 0:55 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-28 0:50 [PATCH 00/27] arch: syscalls: unifiy all syscalltbl.sh into scripts/syscalltbl.sh Masahiro Yamada
2021-01-28 0:50 ` [PATCH 01/27] scripts: add generic syscalltbl.sh Masahiro Yamada
2021-01-28 1:01 ` Masahiro Yamada
2021-01-28 0:50 ` [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL() Masahiro Yamada
2021-01-28 0:55 ` Masahiro Yamada
2021-01-28 7:59 ` Sergei Shtylyov
2021-01-28 8:00 ` Sergei Shtylyov
2021-01-28 0:50 ` [PATCH 03/27] x86/build: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:50 ` [PATCH 04/27] x86/entry/x32: rename __x32_compat_sys_* to __x64_compat_sys_* Masahiro Yamada
2021-01-28 0:50 ` [PATCH 05/27] x86/syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:50 ` Masahiro Yamada [this message]
2021-01-28 0:50 ` [PATCH 07/27] alpha: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:50 ` [PATCH 08/27] alpha: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:50 ` [PATCH 09/27] ia64: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:50 ` [PATCH 10/27] ia64: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:50 ` [PATCH 11/27] m68k: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 7:58 ` Geert Uytterhoeven
2021-01-28 0:50 ` [PATCH 12/27] m68k: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 8:17 ` Geert Uytterhoeven
2021-01-28 0:50 ` [PATCH 13/27] microblaze: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:50 ` [PATCH 14/27] microblaze: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:50 ` [PATCH 15/27] mips: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:50 ` [PATCH 16/27] mips: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:50 ` [PATCH 17/27] parisc: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:51 ` [PATCH 18/27] parisc: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:51 ` [PATCH 19/27] sh: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:51 ` [PATCH 20/27] sh: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:51 ` [PATCH 21/27] sparc: remove wrong comment from arch/sparc/include/asm/Kbuild Masahiro Yamada
2021-02-14 17:00 ` Masahiro Yamada
2021-01-28 0:51 ` [PATCH 22/27] sparc: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:51 ` [PATCH 23/27] sparc: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:51 ` [PATCH 24/27] powerpc: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:51 ` [PATCH 25/27] powerpc: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-01-28 0:51 ` [PATCH 26/27] xtensa: add missing FORCE and fix 'targets' to make if_changed work Masahiro Yamada
2021-01-28 0:51 ` [PATCH 27/27] xtensa: syscalls: switch to generic syscalltbl.sh Masahiro Yamada
2021-02-15 12:03 ` [PATCH 00/27] arch: syscalls: unifiy all syscalltbl.sh into scripts/syscalltbl.sh Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210128005110.2613902-7-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=linux-xtensa@linux-xtensa.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=sparclinux@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).