diff mbox series

ARM: syscalls: switch to generic syscalltbl.sh

Message ID 20210301142834.345062-1-masahiroy@kernel.org (mailing list archive)
State New, archived
Headers show
Series ARM: syscalls: switch to generic syscalltbl.sh | expand

Commit Message

Masahiro Yamada March 1, 2021, 2:28 p.m. UTC
Many architectures duplicate similar shell scripts.

This commit converts ARM to use scripts/syscalltbl.sh.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

KernelVersion: v5.12-rc1

 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

Comments

Linus Walleij March 5, 2021, 10:04 a.m. UTC | #1
On Mon, Mar 1, 2021 at 3:29 PM Masahiro Yamada <masahiroy@kernel.org> wrote:

> Many architectures duplicate similar shell scripts.
>
> This commit converts ARM to use scripts/syscalltbl.sh.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

This looks good to me to FWIW:
Acked-by: Linus Walleij <linus.walleij@linaro.org>

I'd like the arch maintainer Arnd Bergmann to take a look at it
though, he's the authority of cross-arch code sharing.

Yours,
Linus Walleij
Masahiro Yamada March 5, 2021, 2:53 p.m. UTC | #2
On Fri, Mar 5, 2021 at 7:04 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Mon, Mar 1, 2021 at 3:29 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> > Many architectures duplicate similar shell scripts.
> >
> > This commit converts ARM to use scripts/syscalltbl.sh.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
>
> This looks good to me to FWIW:
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

Thanks for the review.
This patch is already in Russell's patch tracker.

I manually copy/pasted your Ack:
https://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=9068/1


> I'd like the arch maintainer Arnd Bergmann to take a look at it
> though, he's the authority of cross-arch code sharing.


Actually, I sent a big series to linux-arch a few months ago,
but did not get much feedback.
https://lore.kernel.org/linux-arch/20210128005110.2613902-1-masahiroy@kernel.org/

I picked up scripts to my kbuild tree, then sent out
the rest per-arch.

Anyway, a lot of patches are flying.
Comments are appreciated.



--
Best Regards
Masahiro Yamada
Russell King (Oracle) March 25, 2021, 2:10 p.m. UTC | #3
On Fri, Mar 05, 2021 at 11:53:39PM +0900, Masahiro Yamada wrote:
> On Fri, Mar 5, 2021 at 7:04 PM Linus Walleij <linus.walleij@linaro.org> wrote:
> >
> > On Mon, Mar 1, 2021 at 3:29 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > > Many architectures duplicate similar shell scripts.
> > >
> > > This commit converts ARM to use scripts/syscalltbl.sh.
> > >
> > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> >
> > This looks good to me to FWIW:
> > Acked-by: Linus Walleij <linus.walleij@linaro.org>
> 
> Thanks for the review.
> This patch is already in Russell's patch tracker.
> 
> I manually copy/pasted your Ack:
> https://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=9068/1

I see you added a note to 9067/1 about the order of 9067/1 and 9068/1:

"Obviously, 9068 was submitted 30 seconds before 9067, but the patch
tracking system unfortunately picked them in reverse order,
unfortunately."

The patch system doesn't "pick" the patches. It merely accepts them in
the order that it receives them. I also received them in reverse order
into my personal mailbox as well, and also in reverse order from
infradead's mailing list.

2021-03-01 14:29:57 1lGjYa-0004Dd-Ok <= masahiroy@kernel.org
H=conuserg-10.nifty.com [210.131.2.77]:21701 I=[78.32.30.218]:25
P=esmtps X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 S=5966 DKIM=nifty.com
id=20210301142903.345278-1-masahiroy@kernel.org T="[PATCH] ARM:
syscalls: switch to generic syscallhdr.sh" for linux@armlinux.org.uk
2021-03-01 14:30:06 1lGjYj-0004Di-B3 <= masahiroy@kernel.org
H=conuserg-07.nifty.com [210.131.2.74]:55987 I=[78.32.30.218]:25
P=esmtps X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 S=5811 DKIM=nifty.com
id=20210301142834.345062-1-masahiroy@kernel.org T="[PATCH] ARM:
syscalls: switch to generic syscalltbl.sh" for linux@armlinux.org.uk

2021-03-01 14:32:46 1lGjbK-0004E2-0t <= masahiroy@kernel.org
H=condef-10.nifty.com [202.248.20.75]:19522 I=[78.32.30.218]:25 P=esmtps
X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 S=6136 DKIM=nifty.com
id=20210301142903.345278-1-masahiroy@kernel.org T="[PATCH] ARM:
syscalls: switch to generic syscallhdr.sh" for patches@arm.linux.org.uk
2021-03-01 14:33:47 1lGjcI-0004EF-Ny <= masahiroy@kernel.org
H=condef-09.nifty.com [202.248.20.74]:45947 I=[78.32.30.218]:25 P=esmtps
X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 S=5981 DKIM=nifty.com
id=20210301142834.345062-1-masahiroy@kernel.org T="[PATCH] ARM:
syscalls: switch to generic syscalltbl.sh" for patches@arm.linux.org.uk
diff mbox series

Patch

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 3654f979851b..d8be90f2bb41 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 := $(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 $(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"