linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 23/27] sparc: syscalls: switch to generic syscalltbl.sh
Date: Thu, 28 Jan 2021 09:51:05 +0900	[thread overview]
Message-ID: <20210128005110.2613902-24-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 sparc to use scripts/syscalltbl.sh. This also
unifies syscall_table_64.h and syscall_table_c32.h.

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

 arch/sparc/include/asm/Kbuild            |  1 -
 arch/sparc/kernel/syscalls/Makefile      | 19 ++++---------
 arch/sparc/kernel/syscalls/syscalltbl.sh | 36 ------------------------
 arch/sparc/kernel/systbls_32.S           |  4 +--
 arch/sparc/kernel/systbls_64.S           |  8 ++++--
 5 files changed, 12 insertions(+), 56 deletions(-)
 delete mode 100644 arch/sparc/kernel/syscalls/syscalltbl.sh

diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index aec20406145e..0b9d98ced34a 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 generated-y += syscall_table_32.h
 generated-y += syscall_table_64.h
-generated-y += syscall_table_c32.h
 generic-y += export.h
 generic-y += kvm_para.h
 generic-y += mcs_spinlock.h
diff --git a/arch/sparc/kernel/syscalls/Makefile b/arch/sparc/kernel/syscalls/Makefile
index 556fe30a6c8f..77fea5beb9be 100644
--- a/arch/sparc/kernel/syscalls/Makefile
+++ b/arch/sparc/kernel/syscalls/Makefile
@@ -7,7 +7,7 @@ _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)')	\
 
 syscall := $(srctree)/$(src)/syscall.tbl
 syshdr := $(srctree)/$(src)/syscallhdr.sh
-systbl := $(srctree)/$(src)/syscalltbl.sh
+systbl := $(srctree)/scripts/syscalltbl.sh
 
 quiet_cmd_syshdr = SYSHDR  $@
       cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@'	\
@@ -16,10 +16,7 @@ quiet_cmd_syshdr = SYSHDR  $@
 		   '$(syshdr_offset_$(basetarget))'
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@'	\
-		   '$(systbl_abis_$(basetarget))'		\
-		   '$(systbl_abi_$(basetarget))'		\
-		   '$(systbl_offset_$(basetarget))'
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@ $(abis)
 
 syshdr_abis_unistd_32 := common,32
 $(uapi)/unistd_32.h: $(syscall) $(syshdr) FORCE
@@ -29,23 +26,17 @@ syshdr_abis_unistd_64 := common,64
 $(uapi)/unistd_64.h: $(syscall) $(syshdr) FORCE
 	$(call if_changed,syshdr)
 
-systbl_abis_syscall_table_32 := common,32
+$(kapi)/syscall_table_32.h: abis := common,32
 $(kapi)/syscall_table_32.h: $(syscall) $(systbl) FORCE
 	$(call if_changed,systbl)
 
-systbl_abis_syscall_table_64 := common,64
+$(kapi)/syscall_table_64.h: abis := common,64
 $(kapi)/syscall_table_64.h: $(syscall) $(systbl) FORCE
 	$(call if_changed,systbl)
 
-systbl_abis_syscall_table_c32 := common,32
-systbl_abi_syscall_table_c32 := c32
-$(kapi)/syscall_table_c32.h: $(syscall) $(systbl) FORCE
-	$(call if_changed,systbl)
-
 uapisyshdr-y		+= unistd_32.h unistd_64.h
 kapisyshdr-y		+= syscall_table_32.h		\
-			   syscall_table_64.h		\
-			   syscall_table_c32.h
+			   syscall_table_64.h
 
 uapisyshdr-y	:= $(addprefix $(uapi)/, $(uapisyshdr-y))
 kapisyshdr-y	:= $(addprefix $(kapi)/, $(kapisyshdr-y))
diff --git a/arch/sparc/kernel/syscalls/syscalltbl.sh b/arch/sparc/kernel/syscalls/syscalltbl.sh
deleted file mode 100644
index 77cf0143ba19..000000000000
--- a/arch/sparc/kernel/syscalls/syscalltbl.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: GPL-2.0
-
-in="$1"
-out="$2"
-my_abis=`echo "($3)" | tr ',' '|'`
-my_abi="$4"
-offset="$5"
-
-emit() {
-	t_nxt="$1"
-	t_nr="$2"
-	t_entry="$3"
-
-	while [ $t_nxt -lt $t_nr ]; do
-		printf "__SYSCALL(%s, sys_nis_syscall, )\n" "${t_nxt}"
-		t_nxt=$((t_nxt+1))
-	done
-	printf "__SYSCALL(%s, %s, )\n" "${t_nxt}" "${t_entry}"
-}
-
-grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
-	nxt=0
-	if [ -z "$offset" ]; then
-		offset=0
-	fi
-
-	while read nr abi name entry compat ; do
-		if [ "$my_abi" = "c32" ] && [ ! -z "$compat" ]; then
-			emit $((nxt+offset)) $((nr+offset)) $compat
-		else
-			emit $((nxt+offset)) $((nr+offset)) $entry
-		fi
-		nxt=$((nr+1))
-	done
-) > "$out"
diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S
index ab9e4d57685a..3aaffa017706 100644
--- a/arch/sparc/kernel/systbls_32.S
+++ b/arch/sparc/kernel/systbls_32.S
@@ -9,10 +9,10 @@
  * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
  */
 
-#define __SYSCALL(nr, entry, nargs) .long entry
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, native)
+#define __SYSCALL(nr, entry) .long entry
 	.data
 	.align 4
 	.globl sys_call_table
 sys_call_table:
 #include <asm/syscall_table_32.h>	/* 32-bit native syscalls */
-#undef __SYSCALL
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S
index a27394bf7d7f..398fe449dd34 100644
--- a/arch/sparc/kernel/systbls_64.S
+++ b/arch/sparc/kernel/systbls_64.S
@@ -10,18 +10,20 @@
  * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
  */
 
-#define __SYSCALL(nr, entry, nargs) .word entry
+#define __SYSCALL(nr, entry) .word entry
 	.text
 	.align	4
 #ifdef CONFIG_COMPAT
 	.globl sys_call_table32
 sys_call_table32:
-#include <asm/syscall_table_c32.h>	/* Compat syscalls */
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, compat)
+#include <asm/syscall_table_32.h>	/* Compat syscalls */
+#undef __SYSCALL_WITH_COMPAT
 #endif /* CONFIG_COMPAT */
 
 	.align	4
 	.globl sys_call_table64, sys_call_table
 sys_call_table64:
 sys_call_table:
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, native)
 #include <asm/syscall_table_64.h>	/* 64-bit native syscalls */
-#undef __SYSCALL
-- 
2.27.0


  parent reply	other threads:[~2021-01-28  0:57 UTC|newest]

Thread overview: 39+ 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-02-04 14:16   ` Mickaël Salaün
2021-02-12 15:13     ` Mickaël Salaün
2021-02-13  4:50       ` Masahiro Yamada
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 ` [PATCH 06/27] ARM: syscalls: " Masahiro Yamada
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 ` Masahiro Yamada [this message]
2021-01-28  0:51 ` [PATCH 24/27] powerpc: " 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-24-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).