linux-parisc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] parisc: Unify the system call scripts
@ 2019-01-02 16:02 Firoz Khan
  2019-01-02 16:02 ` [PATCH 1/2] parisc: remove nargs from __SYSCALL Firoz Khan
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Firoz Khan @ 2019-01-02 16:02 UTC (permalink / raw)
  To: James E . J . Bottomley, Helge Deller, John David Anglin,
	Matthew Wilcox, linux-parisc, Greg Kroah-Hartman,
	Philippe Ombredanne, Thomas Gleixner, Kate Stewart
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

System call table generation support is provided for
alpha, ia64, m68k, microblaze, mips, parisc, powerpc,
sh, sparc and xtensa architectures. The implementat-
ions are almost similar across all the above archte-
ctures. In order to reduce the source code across all
the above architectures, create common ".sh" files and
keep it in the common directory, script/. This will 
be a generic scripts which can use for all the above
architectures.

This patch depends on;
 https://lore.kernel.org/lkml/1546439331-18646-1-git-send-email-firoz.khan@linaro.org/

Firoz Khan (2):
  parisc: remove nargs from __SYSCALL
  parisc: generate uapi header and system call table files

 arch/parisc/kernel/syscall.S              |  2 +-
 arch/parisc/kernel/syscalls/Makefile      | 11 ++++++++--
 arch/parisc/kernel/syscalls/syscallhdr.sh | 36 -------------------------------
 arch/parisc/kernel/syscalls/syscalltbl.sh | 36 -------------------------------
 4 files changed, 10 insertions(+), 75 deletions(-)
 delete mode 100644 arch/parisc/kernel/syscalls/syscallhdr.sh
 delete mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh

-- 
1.9.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] parisc: remove nargs from __SYSCALL
  2019-01-02 16:02 [PATCH 0/2] parisc: Unify the system call scripts Firoz Khan
@ 2019-01-02 16:02 ` Firoz Khan
  2019-01-02 16:02 ` [PATCH 2/2] parisc: generate uapi header and system call table files Firoz Khan
  2019-01-06  9:07 ` [PATCH 0/2] parisc: Unify the system call scripts Helge Deller
  2 siblings, 0 replies; 5+ messages in thread
From: Firoz Khan @ 2019-01-02 16:02 UTC (permalink / raw)
  To: James E . J . Bottomley, Helge Deller, John David Anglin,
	Matthew Wilcox, linux-parisc, Greg Kroah-Hartman,
	Philippe Ombredanne, Thomas Gleixner, Kate Stewart
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

The __SYSCALL macro's arguments are system call number,
system call entry name and number of arguments for the
system call.

Argument- nargs in __SYSCALL(nr, entry, nargs) is neither
calculated nor used anywhere. So it would be better to
keep the implementaion as  __SYSCALL(nr, entry). This will
unifies the implementation with some other architetures
too.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/parisc/kernel/syscall.S              | 2 +-
 arch/parisc/kernel/syscalls/syscalltbl.sh | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
index 4f77bd9..e843151 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -923,7 +923,7 @@ ENTRY(lws_table)
 END(lws_table)
 	/* End of lws table */
 
-#define __SYSCALL(nr, entry, nargs) ASM_ULONG_INSN entry
+#define __SYSCALL(nr, entry)	ASM_ULONG_INSN entry
 	.align 8
 ENTRY(sys_call_table)
 	.export sys_call_table,data
diff --git a/arch/parisc/kernel/syscalls/syscalltbl.sh b/arch/parisc/kernel/syscalls/syscalltbl.sh
index 45b5bae..f7393a7 100644
--- a/arch/parisc/kernel/syscalls/syscalltbl.sh
+++ b/arch/parisc/kernel/syscalls/syscalltbl.sh
@@ -13,10 +13,10 @@ emit() {
 	t_entry="$3"
 
 	while [ $t_nxt -lt $t_nr ]; do
-		printf "__SYSCALL(%s, sys_ni_syscall, )\n" "${t_nxt}"
+		printf "__SYSCALL(%s,sys_ni_syscall)\n" "${t_nxt}"
 		t_nxt=$((t_nxt+1))
 	done
-	printf "__SYSCALL(%s, %s, )\n" "${t_nxt}" "${t_entry}"
+	printf "__SYSCALL(%s,%s)\n" "${t_nxt}" "${t_entry}"
 }
 
 grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] parisc: generate uapi header and system call table files
  2019-01-02 16:02 [PATCH 0/2] parisc: Unify the system call scripts Firoz Khan
  2019-01-02 16:02 ` [PATCH 1/2] parisc: remove nargs from __SYSCALL Firoz Khan
@ 2019-01-02 16:02 ` Firoz Khan
  2019-01-06  9:07 ` [PATCH 0/2] parisc: Unify the system call scripts Helge Deller
  2 siblings, 0 replies; 5+ messages in thread
From: Firoz Khan @ 2019-01-02 16:02 UTC (permalink / raw)
  To: James E . J . Bottomley, Helge Deller, John David Anglin,
	Matthew Wilcox, linux-parisc, Greg Kroah-Hartman,
	Philippe Ombredanne, Thomas Gleixner, Kate Stewart
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan, Firoz Khan

From: Firoz Khan <firozk@codeaurora.org>

Unified system call table generation script must be run to
generate unistd_32/64.h and syscall_table_32/64/c32.h files.
This patch will have changes which will invokes the script.

This patch will generate unistd_32/64.h and syscall_table-
_32/64/c32.h files by the syscall table generation script
invoked by parisc/Makefile and the generated files against
the removed files must be identical.

The generated uapi header file will be included in uapi/-
asm/unistd.h and generated system call table header file
will be included by kernel/syscall.S file.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/parisc/kernel/syscalls/Makefile      | 11 ++++++++--
 arch/parisc/kernel/syscalls/syscallhdr.sh | 36 -------------------------------
 arch/parisc/kernel/syscalls/syscalltbl.sh | 36 -------------------------------
 3 files changed, 9 insertions(+), 74 deletions(-)
 delete mode 100644 arch/parisc/kernel/syscalls/syscallhdr.sh
 delete mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh

diff --git a/arch/parisc/kernel/syscalls/Makefile b/arch/parisc/kernel/syscalls/Makefile
index c22a21c..e24272d 100644
--- a/arch/parisc/kernel/syscalls/Makefile
+++ b/arch/parisc/kernel/syscalls/Makefile
@@ -6,8 +6,9 @@ _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)')	\
 	  $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)')
 
 syscall := $(srctree)/$(src)/syscall.tbl
-syshdr := $(srctree)/$(src)/syscallhdr.sh
-systbl := $(srctree)/$(src)/syscalltbl.sh
+syshdr := $(srctree)/scripts/syscallhdr.sh
+sysnr := $(srctree)/scripts/syscallnr.sh
+systbl := $(srctree)/scripts/syscalltbl.sh
 
 quiet_cmd_syshdr = SYSHDR  $@
       cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@'	\
@@ -15,6 +16,12 @@ quiet_cmd_syshdr = SYSHDR  $@
 		   '$(syshdr_pfx_$(basetarget))'		\
 		   '$(syshdr_offset_$(basetarget))'
 
+quiet_cmd_sysnr = SYSNR  $@
+      cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@'		\
+		  '$(sysnr_abis_$(basetarget))'			\
+		  '$(sysnr_pfx_$(basetarget))'			\
+		  '$(sysnr_offset_$(basetarget))'
+
 quiet_cmd_systbl = SYSTBL  $@
       cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@'	\
 		   '$(systbl_abis_$(basetarget))'		\
diff --git a/arch/parisc/kernel/syscalls/syscallhdr.sh b/arch/parisc/kernel/syscalls/syscallhdr.sh
deleted file mode 100644
index 50242b7..0000000
--- a/arch/parisc/kernel/syscalls/syscallhdr.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: GPL-2.0
-
-in="$1"
-out="$2"
-my_abis=`echo "($3)" | tr ',' '|'`
-prefix="$4"
-offset="$5"
-
-fileguard=_UAPI_ASM_PARISC_`basename "$out" | sed \
-	-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
-	-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
-grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
-	printf "#ifndef %s\n" "${fileguard}"
-	printf "#define %s\n" "${fileguard}"
-	printf "\n"
-
-	nxt=0
-	while read nr abi name entry compat ; do
-		if [ -z "$offset" ]; then
-			printf "#define __NR_%s%s\t%s\n" \
-				"${prefix}" "${name}" "${nr}"
-		else
-			printf "#define __NR_%s%s\t(%s + %s)\n" \
-				"${prefix}" "${name}" "${offset}" "${nr}"
-		fi
-		nxt=$((nr+1))
-	done
-
-	printf "\n"
-	printf "#ifdef __KERNEL__\n"
-	printf "#define __NR_syscalls\t%s\n" "${nxt}"
-	printf "#endif\n"
-	printf "\n"
-	printf "#endif /* %s */" "${fileguard}"
-) > "$out"
diff --git a/arch/parisc/kernel/syscalls/syscalltbl.sh b/arch/parisc/kernel/syscalls/syscalltbl.sh
deleted file mode 100644
index f7393a7..0000000
--- a/arch/parisc/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_ni_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"
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] parisc: Unify the system call scripts
  2019-01-02 16:02 [PATCH 0/2] parisc: Unify the system call scripts Firoz Khan
  2019-01-02 16:02 ` [PATCH 1/2] parisc: remove nargs from __SYSCALL Firoz Khan
  2019-01-02 16:02 ` [PATCH 2/2] parisc: generate uapi header and system call table files Firoz Khan
@ 2019-01-06  9:07 ` Helge Deller
  2019-01-14  8:02   ` Firoz Khan
  2 siblings, 1 reply; 5+ messages in thread
From: Helge Deller @ 2019-01-06  9:07 UTC (permalink / raw)
  To: Firoz Khan, linux-parisc; +Cc: y2038, linux-kernel

On 02.01.19 17:02, Firoz Khan wrote:
> System call table generation support is provided for
> alpha, ia64, m68k, microblaze, mips, parisc, powerpc,
> sh, sparc and xtensa architectures. The implementat-
> ions are almost similar across all the above archte-
> ctures. In order to reduce the source code across all
> the above architectures, create common ".sh" files and
> keep it in the common directory, script/. This will 
> be a generic scripts which can use for all the above
> architectures.
> 
> This patch depends on;
>  https://lore.kernel.org/lkml/1546439331-18646-1-git-send-email-firoz.khan@linaro.org/

Ok, this has to go upstream first...

> Firoz Khan (2):
>   parisc: remove nargs from __SYSCALL
>   parisc: generate uapi header and system call table files

Both patches seem OK, and I can then take them through the parisc
git tree when the patch above has reached upstream.

Thanks!
Helge

> 
>  arch/parisc/kernel/syscall.S              |  2 +-
>  arch/parisc/kernel/syscalls/Makefile      | 11 ++++++++--
>  arch/parisc/kernel/syscalls/syscallhdr.sh | 36 -------------------------------
>  arch/parisc/kernel/syscalls/syscalltbl.sh | 36 -------------------------------
>  4 files changed, 10 insertions(+), 75 deletions(-)
>  delete mode 100644 arch/parisc/kernel/syscalls/syscallhdr.sh
>  delete mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] parisc: Unify the system call scripts
  2019-01-06  9:07 ` [PATCH 0/2] parisc: Unify the system call scripts Helge Deller
@ 2019-01-14  8:02   ` Firoz Khan
  0 siblings, 0 replies; 5+ messages in thread
From: Firoz Khan @ 2019-01-14  8:02 UTC (permalink / raw)
  To: Helge Deller; +Cc: linux-parisc, y2038 Mailman List, Linux Kernel Mailing List

Hi Helge,

On Sun, 6 Jan 2019 at 14:37, Helge Deller <deller@gmx.de> wrote:
>
> Both patches seem OK, and I can then take them through the parisc
> git tree when the patch above has reached upstream.

Thanks for the mail. Sorry for the late response as I was on a vacation.

FYI, I'm going to abandon this patch series (for other 9 architecture
also) and planning to come up with asm-generic support along with
this one. That can be single patch series and everything can be landed
in the same time.

Firoz

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-01-14  8:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-02 16:02 [PATCH 0/2] parisc: Unify the system call scripts Firoz Khan
2019-01-02 16:02 ` [PATCH 1/2] parisc: remove nargs from __SYSCALL Firoz Khan
2019-01-02 16:02 ` [PATCH 2/2] parisc: generate uapi header and system call table files Firoz Khan
2019-01-06  9:07 ` [PATCH 0/2] parisc: Unify the system call scripts Helge Deller
2019-01-14  8:02   ` Firoz Khan

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).