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