All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/13] syscalls: Add a shared table for all archs
@ 2026-08-12 17:38 André Almeida
  2026-08-12 17:38 ` [PATCH v5 01/13] syscalls: Make --abis parsing more robust André Almeida
                   ` (12 more replies)
  0 siblings, 13 replies; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

While implementing a new syscall, we need to wire up it's number to the arch
table. Since syscall number 403, all architectures are on sync regarding the
number (except alpha), which make things a lot easier but more repetitive as
well. Have a look at commit b36d4b6aa88 ("arch: hookup listns() system call"),
with 15 lines of mostly:

  +470    common  listns                          sys_listns

There's already a "common" table shared with a bunch of archs at
`scripts/syscall.tbl`, but due to historical reasons some archs will never be
able to move to this table and share all the numbers.

The generic table starts from 403 (clock_gettime64), the first common syscall.

I've compile tested for arm32, arm64, s390, mips, sparc and alpha by comparing
the syscalls_*.h and unistd_*.h files generated before and after this patchset.
For most of cases the files are identical, for the few cases that they are not,
there's a note in the commit explaining why they are equivalent.

Thanks!
	André

Changes in v5:
- Add archs lists to Cc
- alpha: Change custom alpha_syscall to __syscall
- mips: Use "common" for all ABI tables
- mips: Kept it as a single table for n32/n64
- Fix bug introduced by mixing --offset and --compat-offset
- v4: https://patch.msgid.link/20260812-tonyk-syscall_table-v4-0-748d0229ad40@igalia.com

Changes in v4:
- Replace cln3 with clone3 in the ABIs
- mips: Get rid of custom mips ABIs (o32, n32, n64) and use 32 and 64
- mips: Unify n32 and n64 tables
- Add alpha to the syscall party, along with it's adaptations
- Remove --no-compat option and define SYSCALL_WITH_COMPAT() macro for archs
that need it
- v3: https://patch.msgid.link/20260807-tonyk-syscall_table-v3-0-7c45a23c50b5@igalia.com

Changes in v3:
- Removed x86 for now, let's wait till x32 is dropped
- Added much more archs
- v2: https://patch.msgid.link/20260727-tonyk-syscall_table-v2-0-95d4f1ee471f@igalia.com

Changes in v2:
- Managed to move to the real first common syscall: 403 (clock_gettime64)
- Added -no-compat option to be used with x86_64
- v1: https://patch.msgid.link/20260724-tonyk-syscall_table-v1-0-9c53188423da@igalia.com

---
André Almeida (13):
      syscalls: Make --abis parsing more robust
      syscalls: Create unified partial table for all archs
      scripts/syscall.tbl: Use the common table
      arm: Use the common syscall table
      s390: Use the common syscall table
      sparc: Use the common syscall table
      mips: Remove duplicated syscallnr.sh
      mips: Get rid of custom mips ABIs for syscall tables
      mips: Use the common syscall table
      syscalls: Add an option for offsetting the common table
      alpha: Define entry point for set_mempolicy_home_node syscall
      alpha: Remove alpha_ prefix from custom syscall entries
      alpha: Use the common syscall table

 arch/alpha/kernel/entry.S                 |   8 +-
 arch/alpha/kernel/syscalls/Makefile       |  10 +-
 arch/alpha/kernel/syscalls/syscall.tbl    |  54 +-
 arch/alpha/kernel/systbls.S               |   1 +
 arch/arm/tools/Makefile                   |  10 +-
 arch/arm/tools/syscall.tbl                |  68 ---
 arch/arm64/tools/syscall_32.tbl           |  68 ---
 arch/mips/kernel/scall64-n32.S            |   1 +
 arch/mips/kernel/scall64-n64.S            |   2 +
 arch/mips/kernel/syscalls/Makefile        |  30 +-
 arch/mips/kernel/syscalls/syscall_n.tbl   | 464 +++++++++++++++++
 arch/mips/kernel/syscalls/syscall_n32.tbl | 412 ---------------
 arch/mips/kernel/syscalls/syscall_n64.tbl | 388 --------------
 arch/mips/kernel/syscalls/syscall_o32.tbl | 826 ++++++++++++++----------------
 arch/mips/kernel/syscalls/syscallnr.sh    |  26 -
 arch/s390/kernel/syscall.c                |   2 +
 arch/s390/kernel/syscalls/Makefile        |   8 +-
 arch/s390/kernel/syscalls/syscall.tbl     |  48 --
 arch/sparc/kernel/syscalls/Makefile       |   8 +-
 arch/sparc/kernel/syscalls/syscall.tbl    |  68 ---
 scripts/Makefile.asm-headers              |   9 +-
 scripts/syscall.tbl                       |  68 ---
 scripts/syscall_common.tbl                |  83 +++
 scripts/syscallhdr.sh                     |  81 ++-
 scripts/syscalltbl.sh                     |  47 +-
 25 files changed, 1094 insertions(+), 1696 deletions(-)
---
base-commit: 075b74841bd0065a3bda3440873c747938e69b68
change-id: 20260724-tonyk-syscall_table-928bbb1b26bb

Best regards,
--  
André Almeida <andrealmeid@igalia.com>


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

* [PATCH v5 01/13] syscalls: Make --abis parsing more robust
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:50   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 02/13] syscalls: Create unified partial table for all archs André Almeida
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Some archs Makefile have something like this as the rule for making the
syscall files:

  cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@

The $* symbol is evaluated to the variable found at $(uapi)/unistd-%.h,
where % is 32 or 64, resulting in e.g. `--abis common,32`. Sometimes the
rule for the file won't have a %, resulting in a trailing comma e.g.
`--abis common,`.

Currently this input is transformed into (common|). This is problematic
because grep will then match any ABI because of the trailing `|`. Make the
syscalls scripts more robust by removing any trailing comma.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 scripts/syscallhdr.sh | 2 +-
 scripts/syscalltbl.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/syscallhdr.sh b/scripts/syscallhdr.sh
index 22e34cd46b9b..bad1ab606a0f 100755
--- a/scripts/syscallhdr.sh
+++ b/scripts/syscallhdr.sh
@@ -39,7 +39,7 @@ while [ $# -gt 0 ]
 do
 	case $1 in
 	--abis)
-		abis=$(echo "($2)" | tr ',' '|')
+		abis="($(echo "${2%,}" | tr ',' '|'))"
 		shift 2;;
 	--emit-nr)
 		emit_nr=1
diff --git a/scripts/syscalltbl.sh b/scripts/syscalltbl.sh
index 6a903b87a7c2..c4b1f85c2dd6 100755
--- a/scripts/syscalltbl.sh
+++ b/scripts/syscalltbl.sh
@@ -33,7 +33,7 @@ while [ $# -gt 0 ]
 do
 	case $1 in
 	--abis)
-		abis=$(echo "($2)" | tr ',' '|')
+		abis="($(echo "${2%,}" | tr ',' '|'))"
 		shift 2;;
 	-*)
 		echo "$1: unknown option" >&2

-- 
2.55.0


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

* [PATCH v5 02/13] syscalls: Create unified partial table for all archs
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
  2026-08-12 17:38 ` [PATCH v5 01/13] syscalls: Make --abis parsing more robust André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:49   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 03/13] scripts/syscall.tbl: Use the common table André Almeida
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

To take advantage of the subset of syscall numbers that are guaranteed to
be shared, create a new table and adapt generation scripts to use it. In
that way, every new syscall can be added to a single file.

Create special ABIs in order to make the table work for different archs:

 - `clone3` for archs that use the common clone3 entry
 - `__clone3` for archs that use their own special entry point

Create flags for syscall Makefiles to use the common table.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 scripts/syscall_common.tbl | 83 ++++++++++++++++++++++++++++++++++++++++++++++
 scripts/syscallhdr.sh      | 60 +++++++++++++++++++++++++--------
 scripts/syscalltbl.sh      | 29 ++++++++++++----
 3 files changed, 152 insertions(+), 20 deletions(-)

diff --git a/scripts/syscall_common.tbl b/scripts/syscall_common.tbl
new file mode 100644
index 000000000000..81e326a8172f
--- /dev/null
+++ b/scripts/syscall_common.tbl
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+#
+# syscall numbers shared by all architectures
+#
+# The format is:
+# <number> <abi> <name> <entry point> [<compat entry point> [noreturn]]
+#
+# The abi can be "32", "clone3", "__cln3" and "memfd_secret"
+#
+# clone3 stands for the common clone3 entry, used by most archs. Some archs have
+# their special entry and should use "__clone3".
+#
+# "memfd_secret" is not implemented by every architecture
+
+403	32	clock_gettime64			sys_clock_gettime
+404	32	clock_settime64			sys_clock_settime
+405	32	clock_adjtime64			sys_clock_adjtime
+406	32	clock_getres_time64		sys_clock_getres
+407	32	clock_nanosleep_time64		sys_clock_nanosleep
+408	32	timer_gettime64			sys_timer_gettime
+409	32	timer_settime64			sys_timer_settime
+410	32	timerfd_gettime64		sys_timerfd_gettime
+411	32	timerfd_settime64		sys_timerfd_settime
+412	32	utimensat_time64		sys_utimensat
+413	32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
+414	32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
+416	32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
+417	32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
+418	32	mq_timedsend_time64		sys_mq_timedsend
+419	32	mq_timedreceive_time64		sys_mq_timedreceive
+420	32	semtimedop_time64		sys_semtimedop
+421	32	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
+422	32	futex_time64			sys_futex
+423	32	sched_rr_get_interval_time64	sys_sched_rr_get_interval
+424	common	pidfd_send_signal		sys_pidfd_send_signal
+425	common	io_uring_setup			sys_io_uring_setup
+426	common	io_uring_enter			sys_io_uring_enter
+427	common	io_uring_register		sys_io_uring_register
+428	common	open_tree			sys_open_tree
+429	common	move_mount			sys_move_mount
+430	common	fsopen				sys_fsopen
+431	common	fsconfig			sys_fsconfig
+432	common	fsmount				sys_fsmount
+433	common	fspick				sys_fspick
+434	common	pidfd_open			sys_pidfd_open
+435	clone3	clone3				sys_clone3
+435	__clone3	clone3			__sys_clone3
+436	common	close_range			sys_close_range
+437	common	openat2				sys_openat2
+438	common	pidfd_getfd			sys_pidfd_getfd
+439	common	faccessat2			sys_faccessat2
+440	common	process_madvise			sys_process_madvise
+441	common	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
+442	common	mount_setattr			sys_mount_setattr
+443	common	quotactl_fd			sys_quotactl_fd
+444	common	landlock_create_ruleset		sys_landlock_create_ruleset
+445	common	landlock_add_rule		sys_landlock_add_rule
+446	common	landlock_restrict_self		sys_landlock_restrict_self
+447	memfd_secret	memfd_secret		sys_memfd_secret
+448	common	process_mrelease		sys_process_mrelease
+449	common	futex_waitv			sys_futex_waitv
+450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
+451	common	cachestat			sys_cachestat
+452	common	fchmodat2			sys_fchmodat2
+453	common	map_shadow_stack		sys_map_shadow_stack
+454	common	futex_wake			sys_futex_wake
+455	common	futex_wait			sys_futex_wait
+456	common	futex_requeue			sys_futex_requeue
+457	common	statmount			sys_statmount
+458	common	listmount			sys_listmount
+459	common	lsm_get_self_attr		sys_lsm_get_self_attr
+460	common	lsm_set_self_attr		sys_lsm_set_self_attr
+461	common	lsm_list_modules		sys_lsm_list_modules
+462	common	mseal				sys_mseal
+463	common	setxattrat			sys_setxattrat
+464	common	getxattrat			sys_getxattrat
+465	common	listxattrat			sys_listxattrat
+466	common	removexattrat			sys_removexattrat
+467	common	open_tree_attr			sys_open_tree_attr
+468	common	file_getattr			sys_file_getattr
+469	common	file_setattr			sys_file_setattr
+470	common	listns				sys_listns
+471	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/scripts/syscallhdr.sh b/scripts/syscallhdr.sh
index bad1ab606a0f..54e09d3e686c 100755
--- a/scripts/syscallhdr.sh
+++ b/scripts/syscallhdr.sh
@@ -16,7 +16,7 @@
 set -e
 
 usage() {
-	echo >&2 "usage: $0 [--abis ABIS] [--emit-nr] [--offset OFFSET] [--prefix PREFIX] INFILE OUTFILE" >&2
+	echo >&2 "usage: $0 [--abis ABIS] [--emit-nr] [--offset OFFSET] [--prefix PREFIX] [--common-tbl PATH] INFILE OUTFILE" >&2
 	echo >&2
 	echo >&2 "  INFILE    input syscall table"
 	echo >&2 "  OUTFILE   output header file"
@@ -26,6 +26,7 @@ usage() {
 	echo >&2 "  --emit-nr          Emit the macro of the number of syscalls (__NR_syscalls)"
 	echo >&2 "  --offset OFFSET    The offset of syscall numbers"
 	echo >&2 "  --prefix PREFIX    The prefix to the macro like __NR_<PREFIX><NAME>"
+	echo >&2 "  --common-tbl PATH  Use the common number table"
 	exit 1
 }
 
@@ -34,6 +35,8 @@ abis=
 emit_nr=
 offset=
 prefix=
+common_tbl=
+common_tbl_path=
 
 while [ $# -gt 0 ]
 do
@@ -50,6 +53,10 @@ do
 	--prefix)
 		prefix=$2
 		shift 2;;
+	--common-tbl)
+		common_tbl=1
+		common_tbl_path=$2
+		shift 2;;
 	-*)
 		echo "$1: unknown option" >&2
 		usage;;
@@ -69,13 +76,33 @@ guard=_UAPI_ASM_$(basename "$outfile" |
 	sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
 	-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g')
 
-grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$infile" | {
+emit_start_guard() {
 	echo "#ifndef $guard"
 	echo "#define $guard"
 	echo
+}
+
+# emit_nr(prefix, nr)
+emit_nr() {
+	local nr=$1
+	local prefix=$2
+	echo
+	echo "#ifdef __KERNEL__"
+	echo "#define __NR_${prefix}syscalls $nr"
+	echo "#endif"
+}
+
+emit_end_guard() {
+	echo
+	echo "#endif /* $guard */"
+}
+
+max=0
+# gen_hdr(infile)
+gen_hdr() {
+	input=$1
 
-	max=0
-	while read nr abi name native compat ; do
+	while read nr abi name native compat; do
 
 		max=$nr
 
@@ -84,15 +111,20 @@ grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$infile" | {
 		fi
 
 		echo "#define __NR_$prefix$name $nr"
-	done
 
-	if [ -n "$emit_nr" ]; then
-		echo
-		echo "#ifdef __KERNEL__"
-		echo "#define __NR_${prefix}syscalls $(($max + 1))"
-		echo "#endif"
-	fi
+	done < <(grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$input")
+}
 
-	echo
-	echo "#endif /* $guard */"
-} > "$outfile"
+emit_start_guard > $outfile
+
+gen_hdr $infile >> $outfile
+
+if [ -n "$common_tbl" ]; then
+	gen_hdr $common_tbl_path  >> "$outfile"
+fi
+
+if [ -n "$emit_nr" ]; then
+	emit_nr $(($max + 1)) $prefix >> $outfile
+fi
+
+emit_end_guard >> $outfile
diff --git a/scripts/syscalltbl.sh b/scripts/syscalltbl.sh
index c4b1f85c2dd6..91c135143b22 100755
--- a/scripts/syscalltbl.sh
+++ b/scripts/syscalltbl.sh
@@ -16,18 +16,21 @@
 set -e
 
 usage() {
-	echo >&2 "usage: $0 [--abis ABIS] INFILE OUTFILE" >&2
+	echo >&2 "usage: $0 [--abis ABIS] [--common-tbl PATH] INFILE OUTFILE" >&2
 	echo >&2
 	echo >&2 "  INFILE    input syscall table"
 	echo >&2 "  OUTFILE   output header file"
 	echo >&2
 	echo >&2 "options:"
 	echo >&2 "  --abis ABIS        ABI(s) to handle (By default, all lines are handled)"
+	echo >&2 "  --common-tbl PATH  Use the common syscall number table"
 	exit 1
 }
 
 # default unless specified by options
 abis=
+common_tbl=
+common_tbl_path=
 
 while [ $# -gt 0 ]
 do
@@ -35,6 +38,10 @@ do
 	--abis)
 		abis="($(echo "${2%,}" | tr ',' '|'))"
 		shift 2;;
+	--common-tbl)
+		common_tbl=1
+		common_tbl_path=$2
+		shift 2;;
 	-*)
 		echo "$1: unknown option" >&2
 		usage;;
@@ -52,12 +59,14 @@ outfile="$2"
 
 nxt=0
 
-grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | {
+# gen_tbl(infile)
+gen_tbl() {
+	input=$1
 
 	while read nr abi name native compat noreturn; do
 
 		if [ $nxt -gt $nr ]; then
-			echo "error: $infile: syscall table is not sorted or duplicates the same syscall number" >&2
+			echo "error: $input: syscall table is not sorted or duplicates the same syscall number" >&2
 			exit 1
 		fi
 
@@ -72,7 +81,7 @@ grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | {
 
 		if [ -n "$noreturn" ]; then
 			if [ "$noreturn" != "noreturn" ]; then
-				echo "error: $infile: invalid string \"$noreturn\" in 'noreturn' column"
+				echo "error: $input: invalid string \"$noreturn\" in 'noreturn' column"
 				exit 1
 			fi
 			if [ -n "$compat" ]; then
@@ -88,5 +97,13 @@ grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | {
 			echo "__SYSCALL($nr, sys_ni_syscall)"
 		fi
 		nxt=$((nr + 1))
-	done
-} > "$outfile"
+
+	done < <(grep -E "^[0-9]+[[:space:]]+$abis" "$input")
+
+}
+
+gen_tbl $infile  > "$outfile"
+
+if [ -n "$common_tbl" ]; then
+	gen_tbl $common_tbl_path >> "$outfile"
+fi

-- 
2.55.0


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

* [PATCH v5 03/13] scripts/syscall.tbl: Use the common table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
  2026-08-12 17:38 ` [PATCH v5 01/13] syscalls: Make --abis parsing more robust André Almeida
  2026-08-12 17:38 ` [PATCH v5 02/13] syscalls: Create unified partial table for all archs André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:53   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 04/13] arm: Use the common syscall table André Almeida
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Remove some of the duplicated code by using the common syscall number
table.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/arm64/tools/syscall_32.tbl | 68 -----------------------------------------
 scripts/Makefile.asm-headers    |  9 +++---
 scripts/syscall.tbl             | 68 -----------------------------------------
 3 files changed, 5 insertions(+), 140 deletions(-)

diff --git a/arch/arm64/tools/syscall_32.tbl b/arch/arm64/tools/syscall_32.tbl
index 62d93d88e0fe..957cb7d59443 100644
--- a/arch/arm64/tools/syscall_32.tbl
+++ b/arch/arm64/tools/syscall_32.tbl
@@ -415,71 +415,3 @@
 400	common	migrate_pages		sys_migrate_pages
 401	common	kexec_file_load		sys_kexec_file_load
 # 402 is unused
-403	common	clock_gettime64			sys_clock_gettime
-404	common	clock_settime64			sys_clock_settime
-405	common	clock_adjtime64			sys_clock_adjtime
-406	common	clock_getres_time64		sys_clock_getres
-407	common	clock_nanosleep_time64		sys_clock_nanosleep
-408	common	timer_gettime64			sys_timer_gettime
-409	common	timer_settime64			sys_timer_settime
-410	common	timerfd_gettime64		sys_timerfd_gettime
-411	common	timerfd_settime64		sys_timerfd_settime
-412	common	utimensat_time64		sys_utimensat
-413	common	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
-414	common	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	common	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
-417	common	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
-418	common	mq_timedsend_time64		sys_mq_timedsend
-419	common	mq_timedreceive_time64		sys_mq_timedreceive
-420	common	semtimedop_time64		sys_semtimedop
-421	common	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
-422	common	futex_time64			sys_futex
-423	common	sched_rr_get_interval_time64	sys_sched_rr_get_interval
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-# 447 reserved for memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/scripts/Makefile.asm-headers b/scripts/Makefile.asm-headers
index 8a4856e74180..681713f240cc 100644
--- a/scripts/Makefile.asm-headers
+++ b/scripts/Makefile.asm-headers
@@ -15,9 +15,10 @@ all:
 
 src := $(srctree)/$(subst /generated,,$(obj))
 
-syscall_abis_32  += common,32
-syscall_abis_64  += common,64
+syscall_abis_32  += clone3,common,32
+syscall_abis_64  += clone3,common,64
 syscalltbl := $(srctree)/scripts/syscall.tbl
+syscalltbl_common := $(srctree)/scripts/syscall_common.tbl
 syshdr-args := --emit-nr
 
 # let architectures override $(syscall_abis_%) and $(syscalltbl)
@@ -58,14 +59,14 @@ quiet_cmd_remove = REMOVE  $(unwanted)
       cmd_remove = rm -f $(unwanted)
 
 quiet_cmd_syshdr = SYSHDR  $@
-      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) \
+      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --common-tbl $(syscalltbl_common) \
 		   $(if $(syshdr-args-$*),$(syshdr-args-$*),$(syshdr-args)) \
 		   $(if $(syscall_compat),--prefix "compat$*_") \
 		   --abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \
 		   $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) $(systbl) \
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) --common-tbl $(syscalltbl_common) \
 		   $(if $(systbl-args-$*),$(systbl-args-$*),$(systbl-args)) \
 		   --abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \
 		   $< $@
diff --git a/scripts/syscall.tbl b/scripts/syscall.tbl
index 7a42b32b6577..ee828d03094e 100644
--- a/scripts/syscall.tbl
+++ b/scripts/syscall.tbl
@@ -344,71 +344,3 @@
 293	common	rseq				sys_rseq
 294	common	kexec_file_load			sys_kexec_file_load
 # 295 through 402 are unassigned to sync up with generic numbers don't use
-403	32	clock_gettime64			sys_clock_gettime
-404	32	clock_settime64			sys_clock_settime
-405	32	clock_adjtime64			sys_clock_adjtime
-406	32	clock_getres_time64		sys_clock_getres
-407	32	clock_nanosleep_time64		sys_clock_nanosleep
-408	32	timer_gettime64			sys_timer_gettime
-409	32	timer_settime64			sys_timer_settime
-410	32	timerfd_gettime64		sys_timerfd_gettime
-411	32	timerfd_settime64		sys_timerfd_settime
-412	32	utimensat_time64		sys_utimensat
-413	32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
-414	32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
-417	32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
-418	32	mq_timedsend_time64		sys_mq_timedsend
-419	32	mq_timedreceive_time64		sys_mq_timedreceive
-420	32	semtimedop_time64		sys_semtimedop
-421	32	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
-422	32	futex_time64			sys_futex
-423	32	sched_rr_get_interval_time64	sys_sched_rr_get_interval
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-447	memfd_secret	memfd_secret		sys_memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield

-- 
2.55.0


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

* [PATCH v5 04/13] arm: Use the common syscall table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (2 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 03/13] scripts/syscall.tbl: Use the common table André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 18:10   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 05/13] s390: " André Almeida
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Remove some of the duplicated code by using the common syscall number
table.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/arm/tools/Makefile    | 10 +++++--
 arch/arm/tools/syscall.tbl | 68 ----------------------------------------------
 2 files changed, 7 insertions(+), 71 deletions(-)

diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
index 28b6da8ac5f6..fd73bf6db3bf 100644
--- a/arch/arm/tools/Makefile
+++ b/arch/arm/tools/Makefile
@@ -12,6 +12,8 @@ syshdr := $(srctree)/scripts/syscallhdr.sh
 sysnr := $(src)/syscallnr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
 syscall := $(src)/syscall.tbl
+syscalltbl_common := $(srctree)/scripts/syscall_common.tbl
+abis := common,clone3,32
 
 gen-y := $(gen)/calls-oabi.S
 gen-y += $(gen)/calls-eabi.S
@@ -38,11 +40,13 @@ $(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE
 	$(call if_changed,gen_mach)
 
 quiet_cmd_syshdr = SYSHDR  $@
-      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis common,$* \
+      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis $(abis),$* \
+		   --common-tbl $(syscalltbl_common) \
 		   --offset __NR_SYSCALL_BASE $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis),$* \
+		   --common-tbl $(syscalltbl_common) $< $@
 
 quiet_cmd_sysnr  = SYSNR   $@
       cmd_sysnr  = $(CONFIG_SHELL) $(sysnr) $< $@
@@ -50,7 +54,7 @@ quiet_cmd_sysnr  = SYSNR   $@
 $(uapi)/unistd-%.h: $(syscall) $(syshdr) FORCE
 	$(call if_changed,syshdr)
 
-$(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE
+$(kapi)/unistd-nr.h: $(syscalltbl_common) $(sysnr) FORCE
 	$(call if_changed,sysnr)
 
 $(gen)/calls-%.S: $(syscall) $(systbl) FORCE
diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
index 94351e22bfcf..d5bc0e7adf2f 100644
--- a/arch/arm/tools/syscall.tbl
+++ b/arch/arm/tools/syscall.tbl
@@ -418,71 +418,3 @@
 400	common	migrate_pages		sys_migrate_pages
 401	common	kexec_file_load		sys_kexec_file_load
 # 402 is unused
-403	common	clock_gettime64			sys_clock_gettime
-404	common	clock_settime64			sys_clock_settime
-405	common	clock_adjtime64			sys_clock_adjtime
-406	common	clock_getres_time64		sys_clock_getres
-407	common	clock_nanosleep_time64		sys_clock_nanosleep
-408	common	timer_gettime64			sys_timer_gettime
-409	common	timer_settime64			sys_timer_settime
-410	common	timerfd_gettime64		sys_timerfd_gettime
-411	common	timerfd_settime64		sys_timerfd_settime
-412	common	utimensat_time64		sys_utimensat
-413	common	pselect6_time64			sys_pselect6
-414	common	ppoll_time64			sys_ppoll
-416	common	io_pgetevents_time64		sys_io_pgetevents
-417	common	recvmmsg_time64			sys_recvmmsg
-418	common	mq_timedsend_time64		sys_mq_timedsend
-419	common	mq_timedreceive_time64		sys_mq_timedreceive
-420	common	semtimedop_time64		sys_semtimedop
-421	common	rt_sigtimedwait_time64		sys_rt_sigtimedwait
-422	common	futex_time64			sys_futex
-423	common	sched_rr_get_interval_time64	sys_sched_rr_get_interval
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-# 447 reserved for memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield

-- 
2.55.0


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

* [PATCH v5 05/13] s390: Use the common syscall table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (3 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 04/13] arm: Use the common syscall table André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:50   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 06/13] sparc: " André Almeida
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Remove some of the duplicated code by using the common syscall number
table.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/s390/kernel/syscall.c            |  2 ++
 arch/s390/kernel/syscalls/Makefile    |  8 ++++--
 arch/s390/kernel/syscalls/syscall.tbl | 48 -----------------------------------
 3 files changed, 8 insertions(+), 50 deletions(-)

diff --git a/arch/s390/kernel/syscall.c b/arch/s390/kernel/syscall.c
index 75d5a3cab14e..71bff05bc7b0 100644
--- a/arch/s390/kernel/syscall.c
+++ b/arch/s390/kernel/syscall.c
@@ -40,6 +40,8 @@
 
 #include "entry.h"
 
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, native)
+
 #define __SYSCALL(nr, sym) long __s390x_##sym(struct pt_regs *);
 #include <asm/syscall_table.h>
 #undef __SYSCALL
diff --git a/arch/s390/kernel/syscalls/Makefile b/arch/s390/kernel/syscalls/Makefile
index d5fca0ca0890..dae9c17f5928 100644
--- a/arch/s390/kernel/syscalls/Makefile
+++ b/arch/s390/kernel/syscalls/Makefile
@@ -5,14 +5,18 @@ uapi := arch/$(SRCARCH)/include/generated/uapi/asm
 $(shell mkdir -p $(uapi) $(kapi))
 
 syscall := $(src)/syscall.tbl
+syscalltbl_common := $(srctree)/scripts/syscall_common.tbl
 syshdr := $(srctree)/scripts/syscallhdr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
+abis := common,clone3,memfd_secret
 
 quiet_cmd_syshdr = SYSHDR  $@
-      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis common,$* $< $@
+      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis $(abis),$* \
+		   --common-tbl $(syscalltbl_common) $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis),$* \
+		   --common-tbl $(syscalltbl_common) $< $@
 
 $(uapi)/unistd_%.h: $(syscall) $(syshdr) FORCE
 	$(call if_changed,syshdr)
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 09a7ef04d979..ce6d15260dd1 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -350,51 +350,3 @@
 400	common	msgsnd				sys_msgsnd
 401	common	msgrcv				sys_msgrcv
 402	common	msgctl				sys_msgctl
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-447	common	memfd_secret			sys_memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield

-- 
2.55.0


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

* [PATCH v5 06/13] sparc: Use the common syscall table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (4 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 05/13] s390: " André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:48   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh André Almeida
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Remove some of the duplicated code by using the common syscall number
table.

The generated files are not exactly the same as before, but they have no
functional changes:

 - syscall_table_32.h would generated lines like the following
   __SYSCALL_WITH_COMPAT(422, sys_futex, sys_futex), which is equivalent to
   __SYSCALL(422, sys_futex)

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/sparc/kernel/syscalls/Makefile    |  8 +++-
 arch/sparc/kernel/syscalls/syscall.tbl | 68 ----------------------------------
 2 files changed, 6 insertions(+), 70 deletions(-)

diff --git a/arch/sparc/kernel/syscalls/Makefile b/arch/sparc/kernel/syscalls/Makefile
index 8440c16dfb22..c6d6378f7aef 100644
--- a/arch/sparc/kernel/syscalls/Makefile
+++ b/arch/sparc/kernel/syscalls/Makefile
@@ -5,14 +5,18 @@ uapi := arch/$(SRCARCH)/include/generated/uapi/asm
 $(shell mkdir -p $(uapi) $(kapi))
 
 syscall := $(src)/syscall.tbl
+syscalltbl_common := $(srctree)/scripts/syscall_common.tbl
 syshdr := $(srctree)/scripts/syscallhdr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
+abis := __clone3,common
 
 quiet_cmd_syshdr = SYSHDR  $@
-      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis common,$* $< $@
+      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis $(abis),$* \
+		   --common-tbl $(syscalltbl_common) $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis),$* \
+		   --common-tbl $(syscalltbl_common) $< $@
 
 $(uapi)/unistd_%.h: $(syscall) $(syshdr) FORCE
 	$(call if_changed,syshdr)
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index 7e71bf7fcd14..5f407da6b9da 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -449,71 +449,3 @@
 400	common	msgsnd			sys_msgsnd			compat_sys_msgsnd
 401	common	msgrcv			sys_msgrcv			compat_sys_msgrcv
 402	common	msgctl			sys_msgctl			compat_sys_msgctl
-403	32	clock_gettime64			sys_clock_gettime		sys_clock_gettime
-404	32	clock_settime64			sys_clock_settime		sys_clock_settime
-405	32	clock_adjtime64			sys_clock_adjtime		sys_clock_adjtime
-406	32	clock_getres_time64		sys_clock_getres		sys_clock_getres
-407	32	clock_nanosleep_time64		sys_clock_nanosleep		sys_clock_nanosleep
-408	32	timer_gettime64			sys_timer_gettime		sys_timer_gettime
-409	32	timer_settime64			sys_timer_settime		sys_timer_settime
-410	32	timerfd_gettime64		sys_timerfd_gettime		sys_timerfd_gettime
-411	32	timerfd_settime64		sys_timerfd_settime		sys_timerfd_settime
-412	32	utimensat_time64		sys_utimensat			sys_utimensat
-413	32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
-414	32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
-417	32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
-418	32	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
-419	32	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
-420	32	semtimedop_time64		sys_semtimedop			sys_semtimedop
-421	32	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
-422	32	futex_time64			sys_futex			sys_futex
-423	32	sched_rr_get_interval_time64	sys_sched_rr_get_interval	sys_sched_rr_get_interval
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				__sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2			sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-# 447 reserved for memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common  futex_waitv                     sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal 				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield

-- 
2.55.0


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

* [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (5 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 06/13] sparc: " André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:48   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables André Almeida
                   ` (5 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

The common scripts/ already have a script for generating the numbers of
syscalls file. Use it and drop the custom script.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/mips/kernel/syscalls/Makefile     |  9 +++++----
 arch/mips/kernel/syscalls/syscallnr.sh | 26 --------------------------
 2 files changed, 5 insertions(+), 30 deletions(-)

diff --git a/arch/mips/kernel/syscalls/Makefile b/arch/mips/kernel/syscalls/Makefile
index 56f6f093bb88..69adc21483ed 100644
--- a/arch/mips/kernel/syscalls/Makefile
+++ b/arch/mips/kernel/syscalls/Makefile
@@ -5,16 +5,17 @@ uapi := arch/$(SRCARCH)/include/generated/uapi/asm
 $(shell mkdir -p $(uapi) $(kapi))
 
 syshdr := $(srctree)/scripts/syscallhdr.sh
-sysnr := $(src)/syscallnr.sh
+sysnr := $(srctree)/scripts/syscallnr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
 
 quiet_cmd_syshdr = SYSHDR  $@
       cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux $< $@
 
 quiet_cmd_sysnr = SYSNR   $@
-      cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@'		\
-		  '$(sysnr_abis_$(basetarget))'			\
-		  '$(sysnr_pfx_$(basetarget))'
+      cmd_sysnr = $(CONFIG_SHELL) $(sysnr) \
+		  --prefix $(sysnr_pfx_$(basetarget))_Linux_ \
+		  --abis $(sysnr_abis_$(basetarget)) \
+		  $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
       cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
diff --git a/arch/mips/kernel/syscalls/syscallnr.sh b/arch/mips/kernel/syscalls/syscallnr.sh
deleted file mode 100644
index c190bbefbfc2..000000000000
--- a/arch/mips/kernel/syscalls/syscallnr.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: GPL-2.0
-
-in="$1"
-out="$2"
-my_abis=`echo "($3)" | tr ',' '|'`
-prefix="$4"
-
-fileguard=_UAPI_ASM_MIPS_`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
-		nxt=$((nr+1))
-	done
-
-	printf "#define __NR_%s_Linux_syscalls\t%s\n" "${prefix}" "${nxt}"
-	printf "\n"
-	printf "#endif /* %s */" "${fileguard}"
-	printf "\n"
-) > "$out"

-- 
2.55.0


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

* [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (6 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:49   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 09/13] mips: Use the common syscall table André Almeida
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Get rid of the mips exclusive ABIs for the syscall tables and replace them
with the common ABI names, replacing n32, o32 and n64 with common. The
common ABI names have no advantage for this files.

No functional change happens, but it simplifies and helps to unify the
tables.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
Changes from v4:
 - Change everything to "common"
---
 arch/mips/kernel/syscalls/Makefile        |   4 +-
 arch/mips/kernel/syscalls/syscall_n32.tbl | 800 +++++++++++++--------------
 arch/mips/kernel/syscalls/syscall_n64.tbl | 750 ++++++++++++-------------
 arch/mips/kernel/syscalls/syscall_o32.tbl | 892 +++++++++++++++---------------
 4 files changed, 1222 insertions(+), 1224 deletions(-)

diff --git a/arch/mips/kernel/syscalls/Makefile b/arch/mips/kernel/syscalls/Makefile
index 69adc21483ed..1bfc2346d100 100644
--- a/arch/mips/kernel/syscalls/Makefile
+++ b/arch/mips/kernel/syscalls/Makefile
@@ -13,9 +13,7 @@ quiet_cmd_syshdr = SYSHDR  $@
 
 quiet_cmd_sysnr = SYSNR   $@
       cmd_sysnr = $(CONFIG_SHELL) $(sysnr) \
-		  --prefix $(sysnr_pfx_$(basetarget))_Linux_ \
-		  --abis $(sysnr_abis_$(basetarget)) \
-		  $< $@
+		  --prefix $(sysnr_pfx_$(basetarget))_Linux_ $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
       cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
diff --git a/arch/mips/kernel/syscalls/syscall_n32.tbl b/arch/mips/kernel/syscalls/syscall_n32.tbl
index 7430714e2b8f..7189cf66bb96 100644
--- a/arch/mips/kernel/syscalls/syscall_n32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n32.tbl
@@ -5,408 +5,408 @@
 # The format is:
 # <number> <abi> <name> <entry point> <compat entry point>
 #
-# The <abi> is always "n32" for this file.
+# The <abi> is always "common" for this file.
 #
-0	n32	read				sys_read
-1	n32	write				sys_write
-2	n32	open				sys_open
-3	n32	close				sys_close
-4	n32	stat				sys_newstat
-5	n32	fstat				sys_newfstat
-6	n32	lstat				sys_newlstat
-7	n32	poll				sys_poll
-8	n32	lseek				sys_lseek
-9	n32	mmap				sys_mips_mmap
-10	n32	mprotect			sys_mprotect
-11	n32	munmap				sys_munmap
-12	n32	brk				sys_brk
-13	n32	rt_sigaction			compat_sys_rt_sigaction
-14	n32	rt_sigprocmask			compat_sys_rt_sigprocmask
-15	n32	ioctl				compat_sys_ioctl
-16	n32	pread64				sys_pread64
-17	n32	pwrite64			sys_pwrite64
-18	n32	readv				sys_readv
-19	n32	writev				sys_writev
-20	n32	access				sys_access
-21	n32	pipe				sysm_pipe
-22	n32	_newselect			compat_sys_select
-23	n32	sched_yield			sys_sched_yield
-24	n32	mremap				sys_mremap
-25	n32	msync				sys_msync
-26	n32	mincore				sys_mincore
-27	n32	madvise				sys_madvise
-28	n32	shmget				sys_shmget
-29	n32	shmat				sys_shmat
-30	n32	shmctl				compat_sys_old_shmctl
-31	n32	dup				sys_dup
-32	n32	dup2				sys_dup2
-33	n32	pause				sys_pause
-34	n32	nanosleep			sys_nanosleep_time32
-35	n32	getitimer			compat_sys_getitimer
-36	n32	setitimer			compat_sys_setitimer
-37	n32	alarm				sys_alarm
-38	n32	getpid				sys_getpid
-39	n32	sendfile			compat_sys_sendfile
-40	n32	socket				sys_socket
-41	n32	connect				sys_connect
-42	n32	accept				sys_accept
-43	n32	sendto				sys_sendto
-44	n32	recvfrom			compat_sys_recvfrom
-45	n32	sendmsg				compat_sys_sendmsg
-46	n32	recvmsg				compat_sys_recvmsg
-47	n32	shutdown			sys_shutdown
-48	n32	bind				sys_bind
-49	n32	listen				sys_listen
-50	n32	getsockname			sys_getsockname
-51	n32	getpeername			sys_getpeername
-52	n32	socketpair			sys_socketpair
-53	n32	setsockopt			sys_setsockopt
-54	n32	getsockopt			sys_getsockopt
-55	n32	clone				__sys_clone
-56	n32	fork				__sys_fork
-57	n32	execve				compat_sys_execve
-58	n32	exit				sys_exit
-59	n32	wait4				compat_sys_wait4
-60	n32	kill				sys_kill
-61	n32	uname				sys_newuname
-62	n32	semget				sys_semget
-63	n32	semop				sys_semop
-64	n32	semctl				compat_sys_old_semctl
-65	n32	shmdt				sys_shmdt
-66	n32	msgget				sys_msgget
-67	n32	msgsnd				compat_sys_msgsnd
-68	n32	msgrcv				compat_sys_msgrcv
-69	n32	msgctl				compat_sys_old_msgctl
-70	n32	fcntl				compat_sys_fcntl
-71	n32	flock				sys_flock
-72	n32	fsync				sys_fsync
-73	n32	fdatasync			sys_fdatasync
-74	n32	truncate			sys_truncate
-75	n32	ftruncate			sys_ftruncate
-76	n32	getdents			compat_sys_getdents
-77	n32	getcwd				sys_getcwd
-78	n32	chdir				sys_chdir
-79	n32	fchdir				sys_fchdir
-80	n32	rename				sys_rename
-81	n32	mkdir				sys_mkdir
-82	n32	rmdir				sys_rmdir
-83	n32	creat				sys_creat
-84	n32	link				sys_link
-85	n32	unlink				sys_unlink
-86	n32	symlink				sys_symlink
-87	n32	readlink			sys_readlink
-88	n32	chmod				sys_chmod
-89	n32	fchmod				sys_fchmod
-90	n32	chown				sys_chown
-91	n32	fchown				sys_fchown
-92	n32	lchown				sys_lchown
-93	n32	umask				sys_umask
-94	n32	gettimeofday			compat_sys_gettimeofday
-95	n32	getrlimit			compat_sys_getrlimit
-96	n32	getrusage			compat_sys_getrusage
-97	n32	sysinfo				compat_sys_sysinfo
-98	n32	times				compat_sys_times
-99	n32	ptrace				compat_sys_ptrace
-100	n32	getuid				sys_getuid
-101	n32	syslog				sys_syslog
-102	n32	getgid				sys_getgid
-103	n32	setuid				sys_setuid
-104	n32	setgid				sys_setgid
-105	n32	geteuid				sys_geteuid
-106	n32	getegid				sys_getegid
-107	n32	setpgid				sys_setpgid
-108	n32	getppid				sys_getppid
-109	n32	getpgrp				sys_getpgrp
-110	n32	setsid				sys_setsid
-111	n32	setreuid			sys_setreuid
-112	n32	setregid			sys_setregid
-113	n32	getgroups			sys_getgroups
-114	n32	setgroups			sys_setgroups
-115	n32	setresuid			sys_setresuid
-116	n32	getresuid			sys_getresuid
-117	n32	setresgid			sys_setresgid
-118	n32	getresgid			sys_getresgid
-119	n32	getpgid				sys_getpgid
-120	n32	setfsuid			sys_setfsuid
-121	n32	setfsgid			sys_setfsgid
-122	n32	getsid				sys_getsid
-123	n32	capget				sys_capget
-124	n32	capset				sys_capset
-125	n32	rt_sigpending			compat_sys_rt_sigpending
-126	n32	rt_sigtimedwait			compat_sys_rt_sigtimedwait_time32
-127	n32	rt_sigqueueinfo			compat_sys_rt_sigqueueinfo
-128	n32	rt_sigsuspend			compat_sys_rt_sigsuspend
-129	n32	sigaltstack			compat_sys_sigaltstack
-130	n32	utime				sys_utime32
-131	n32	mknod				sys_mknod
-132	n32	personality			sys_32_personality
-133	n32	ustat				compat_sys_ustat
-134	n32	statfs				compat_sys_statfs
-135	n32	fstatfs				compat_sys_fstatfs
-136	n32	sysfs				sys_sysfs
-137	n32	getpriority			sys_getpriority
-138	n32	setpriority			sys_setpriority
-139	n32	sched_setparam			sys_sched_setparam
-140	n32	sched_getparam			sys_sched_getparam
-141	n32	sched_setscheduler		sys_sched_setscheduler
-142	n32	sched_getscheduler		sys_sched_getscheduler
-143	n32	sched_get_priority_max		sys_sched_get_priority_max
-144	n32	sched_get_priority_min		sys_sched_get_priority_min
-145	n32	sched_rr_get_interval		sys_sched_rr_get_interval_time32
-146	n32	mlock				sys_mlock
-147	n32	munlock				sys_munlock
-148	n32	mlockall			sys_mlockall
-149	n32	munlockall			sys_munlockall
-150	n32	vhangup				sys_vhangup
-151	n32	pivot_root			sys_pivot_root
-152	n32	_sysctl				sys_ni_syscall
-153	n32	prctl				sys_prctl
-154	n32	adjtimex			sys_adjtimex_time32
-155	n32	setrlimit			compat_sys_setrlimit
-156	n32	chroot				sys_chroot
-157	n32	sync				sys_sync
-158	n32	acct				sys_acct
-159	n32	settimeofday			compat_sys_settimeofday
-160	n32	mount				sys_mount
-161	n32	umount2				sys_umount
-162	n32	swapon				sys_swapon
-163	n32	swapoff				sys_swapoff
-164	n32	reboot				sys_reboot
-165	n32	sethostname			sys_sethostname
-166	n32	setdomainname			sys_setdomainname
-167	n32	create_module			sys_ni_syscall
-168	n32	init_module			sys_init_module
-169	n32	delete_module			sys_delete_module
-170	n32	get_kernel_syms			sys_ni_syscall
-171	n32	query_module			sys_ni_syscall
-172	n32	quotactl			sys_quotactl
-173	n32	nfsservctl			sys_ni_syscall
-174	n32	getpmsg				sys_ni_syscall
-175	n32	putpmsg				sys_ni_syscall
-176	n32	afs_syscall			sys_ni_syscall
+0	common	read				sys_read
+1	common	write				sys_write
+2	common	open				sys_open
+3	common	close				sys_close
+4	common	stat				sys_newstat
+5	common	fstat				sys_newfstat
+6	common	lstat				sys_newlstat
+7	common	poll				sys_poll
+8	common	lseek				sys_lseek
+9	common	mmap				sys_mips_mmap
+10	common	mprotect			sys_mprotect
+11	common	munmap				sys_munmap
+12	common	brk				sys_brk
+13	common	rt_sigaction			compat_sys_rt_sigaction
+14	common	rt_sigprocmask			compat_sys_rt_sigprocmask
+15	common	ioctl				compat_sys_ioctl
+16	common	pread64				sys_pread64
+17	common	pwrite64			sys_pwrite64
+18	common	readv				sys_readv
+19	common	writev				sys_writev
+20	common	access				sys_access
+21	common	pipe				sysm_pipe
+22	common	_newselect			compat_sys_select
+23	common	sched_yield			sys_sched_yield
+24	common	mremap				sys_mremap
+25	common	msync				sys_msync
+26	common	mincore				sys_mincore
+27	common	madvise				sys_madvise
+28	common	shmget				sys_shmget
+29	common	shmat				sys_shmat
+30	common	shmctl				compat_sys_old_shmctl
+31	common	dup				sys_dup
+32	common	dup2				sys_dup2
+33	common	pause				sys_pause
+34	common	nanosleep			sys_nanosleep_time32
+35	common	getitimer			compat_sys_getitimer
+36	common	setitimer			compat_sys_setitimer
+37	common	alarm				sys_alarm
+38	common	getpid				sys_getpid
+39	common	sendfile			compat_sys_sendfile
+40	common	socket				sys_socket
+41	common	connect				sys_connect
+42	common	accept				sys_accept
+43	common	sendto				sys_sendto
+44	common	recvfrom			compat_sys_recvfrom
+45	common	sendmsg				compat_sys_sendmsg
+46	common	recvmsg				compat_sys_recvmsg
+47	common	shutdown			sys_shutdown
+48	common	bind				sys_bind
+49	common	listen				sys_listen
+50	common	getsockname			sys_getsockname
+51	common	getpeername			sys_getpeername
+52	common	socketpair			sys_socketpair
+53	common	setsockopt			sys_setsockopt
+54	common	getsockopt			sys_getsockopt
+55	common	clone				__sys_clone
+56	common	fork				__sys_fork
+57	common	execve				compat_sys_execve
+58	common	exit				sys_exit
+59	common	wait4				compat_sys_wait4
+60	common	kill				sys_kill
+61	common	uname				sys_newuname
+62	common	semget				sys_semget
+63	common	semop				sys_semop
+64	common	semctl				compat_sys_old_semctl
+65	common	shmdt				sys_shmdt
+66	common	msgget				sys_msgget
+67	common	msgsnd				compat_sys_msgsnd
+68	common	msgrcv				compat_sys_msgrcv
+69	common	msgctl				compat_sys_old_msgctl
+70	common	fcntl				compat_sys_fcntl
+71	common	flock				sys_flock
+72	common	fsync				sys_fsync
+73	common	fdatasync			sys_fdatasync
+74	common	truncate			sys_truncate
+75	common	ftruncate			sys_ftruncate
+76	common	getdents			compat_sys_getdents
+77	common	getcwd				sys_getcwd
+78	common	chdir				sys_chdir
+79	common	fchdir				sys_fchdir
+80	common	rename				sys_rename
+81	common	mkdir				sys_mkdir
+82	common	rmdir				sys_rmdir
+83	common	creat				sys_creat
+84	common	link				sys_link
+85	common	unlink				sys_unlink
+86	common	symlink				sys_symlink
+87	common	readlink			sys_readlink
+88	common	chmod				sys_chmod
+89	common	fchmod				sys_fchmod
+90	common	chown				sys_chown
+91	common	fchown				sys_fchown
+92	common	lchown				sys_lchown
+93	common	umask				sys_umask
+94	common	gettimeofday			compat_sys_gettimeofday
+95	common	getrlimit			compat_sys_getrlimit
+96	common	getrusage			compat_sys_getrusage
+97	common	sysinfo				compat_sys_sysinfo
+98	common	times				compat_sys_times
+99	common	ptrace				compat_sys_ptrace
+100	common	getuid				sys_getuid
+101	common	syslog				sys_syslog
+102	common	getgid				sys_getgid
+103	common	setuid				sys_setuid
+104	common	setgid				sys_setgid
+105	common	geteuid				sys_geteuid
+106	common	getegid				sys_getegid
+107	common	setpgid				sys_setpgid
+108	common	getppid				sys_getppid
+109	common	getpgrp				sys_getpgrp
+110	common	setsid				sys_setsid
+111	common	setreuid			sys_setreuid
+112	common	setregid			sys_setregid
+113	common	getgroups			sys_getgroups
+114	common	setgroups			sys_setgroups
+115	common	setresuid			sys_setresuid
+116	common	getresuid			sys_getresuid
+117	common	setresgid			sys_setresgid
+118	common	getresgid			sys_getresgid
+119	common	getpgid				sys_getpgid
+120	common	setfsuid			sys_setfsuid
+121	common	setfsgid			sys_setfsgid
+122	common	getsid				sys_getsid
+123	common	capget				sys_capget
+124	common	capset				sys_capset
+125	common	rt_sigpending			compat_sys_rt_sigpending
+126	common	rt_sigtimedwait			compat_sys_rt_sigtimedwait_time32
+127	common	rt_sigqueueinfo			compat_sys_rt_sigqueueinfo
+128	common	rt_sigsuspend			compat_sys_rt_sigsuspend
+129	common	sigaltstack			compat_sys_sigaltstack
+130	common	utime				sys_utime32
+131	common	mknod				sys_mknod
+132	common	personality			sys_32_personality
+133	common	ustat				compat_sys_ustat
+134	common	statfs				compat_sys_statfs
+135	common	fstatfs				compat_sys_fstatfs
+136	common	sysfs				sys_sysfs
+137	common	getpriority			sys_getpriority
+138	common	setpriority			sys_setpriority
+139	common	sched_setparam			sys_sched_setparam
+140	common	sched_getparam			sys_sched_getparam
+141	common	sched_setscheduler		sys_sched_setscheduler
+142	common	sched_getscheduler		sys_sched_getscheduler
+143	common	sched_get_priority_max		sys_sched_get_priority_max
+144	common	sched_get_priority_min		sys_sched_get_priority_min
+145	common	sched_rr_get_interval		sys_sched_rr_get_interval_time32
+146	common	mlock				sys_mlock
+147	common	munlock				sys_munlock
+148	common	mlockall			sys_mlockall
+149	common	munlockall			sys_munlockall
+150	common	vhangup				sys_vhangup
+151	common	pivot_root			sys_pivot_root
+152	common	_sysctl				sys_ni_syscall
+153	common	prctl				sys_prctl
+154	common	adjtimex			sys_adjtimex_time32
+155	common	setrlimit			compat_sys_setrlimit
+156	common	chroot				sys_chroot
+157	common	sync				sys_sync
+158	common	acct				sys_acct
+159	common	settimeofday			compat_sys_settimeofday
+160	common	mount				sys_mount
+161	common	umount2				sys_umount
+162	common	swapon				sys_swapon
+163	common	swapoff				sys_swapoff
+164	common	reboot				sys_reboot
+165	common	sethostname			sys_sethostname
+166	common	setdomainname			sys_setdomainname
+167	common	create_module			sys_ni_syscall
+168	common	init_module			sys_init_module
+169	common	delete_module			sys_delete_module
+170	common	get_kernel_syms			sys_ni_syscall
+171	common	query_module			sys_ni_syscall
+172	common	quotactl			sys_quotactl
+173	common	nfsservctl			sys_ni_syscall
+174	common	getpmsg				sys_ni_syscall
+175	common	putpmsg				sys_ni_syscall
+176	common	afs_syscall			sys_ni_syscall
 # 177 reserved for security
-177	n32	reserved177			sys_ni_syscall
-178	n32	gettid				sys_gettid
-179	n32	readahead			sys_readahead
-180	n32	setxattr			sys_setxattr
-181	n32	lsetxattr			sys_lsetxattr
-182	n32	fsetxattr			sys_fsetxattr
-183	n32	getxattr			sys_getxattr
-184	n32	lgetxattr			sys_lgetxattr
-185	n32	fgetxattr			sys_fgetxattr
-186	n32	listxattr			sys_listxattr
-187	n32	llistxattr			sys_llistxattr
-188	n32	flistxattr			sys_flistxattr
-189	n32	removexattr			sys_removexattr
-190	n32	lremovexattr			sys_lremovexattr
-191	n32	fremovexattr			sys_fremovexattr
-192	n32	tkill				sys_tkill
-193	n32	reserved193			sys_ni_syscall
-194	n32	futex				sys_futex_time32
-195	n32	sched_setaffinity		compat_sys_sched_setaffinity
-196	n32	sched_getaffinity		compat_sys_sched_getaffinity
-197	n32	cacheflush			sys_cacheflush
-198	n32	cachectl			sys_cachectl
-199	n32	sysmips				__sys_sysmips
-200	n32	io_setup			compat_sys_io_setup
-201	n32	io_destroy			sys_io_destroy
-202	n32	io_getevents			sys_io_getevents_time32
-203	n32	io_submit			compat_sys_io_submit
-204	n32	io_cancel			sys_io_cancel
-205	n32	exit_group			sys_exit_group
-206	n32	lookup_dcookie			sys_ni_syscall
-207	n32	epoll_create			sys_epoll_create
-208	n32	epoll_ctl			sys_epoll_ctl
-209	n32	epoll_wait			sys_epoll_wait
-210	n32	remap_file_pages		sys_remap_file_pages
-211	n32	rt_sigreturn			sysn32_rt_sigreturn
-212	n32	fcntl64				compat_sys_fcntl64
-213	n32	set_tid_address			sys_set_tid_address
-214	n32	restart_syscall			sys_restart_syscall
-215	n32	semtimedop			sys_semtimedop_time32
-216	n32	fadvise64			sys_fadvise64_64
-217	n32	statfs64			compat_sys_statfs64
-218	n32	fstatfs64			compat_sys_fstatfs64
-219	n32	sendfile64			sys_sendfile64
-220	n32	timer_create			compat_sys_timer_create
-221	n32	timer_settime			sys_timer_settime32
-222	n32	timer_gettime			sys_timer_gettime32
-223	n32	timer_getoverrun		sys_timer_getoverrun
-224	n32	timer_delete			sys_timer_delete
-225	n32	clock_settime			sys_clock_settime32
-226	n32	clock_gettime			sys_clock_gettime32
-227	n32	clock_getres			sys_clock_getres_time32
-228	n32	clock_nanosleep			sys_clock_nanosleep_time32
-229	n32	tgkill				sys_tgkill
-230	n32	utimes				sys_utimes_time32
-231	n32	mbind				sys_mbind
-232	n32	get_mempolicy			sys_get_mempolicy
-233	n32	set_mempolicy			sys_set_mempolicy
-234	n32	mq_open				compat_sys_mq_open
-235	n32	mq_unlink			sys_mq_unlink
-236	n32	mq_timedsend			sys_mq_timedsend_time32
-237	n32	mq_timedreceive			sys_mq_timedreceive_time32
-238	n32	mq_notify			compat_sys_mq_notify
-239	n32	mq_getsetattr			compat_sys_mq_getsetattr
-240	n32	vserver				sys_ni_syscall
-241	n32	waitid				compat_sys_waitid
+177	common	reserved177			sys_ni_syscall
+178	common	gettid				sys_gettid
+179	common	readahead			sys_readahead
+180	common	setxattr			sys_setxattr
+181	common	lsetxattr			sys_lsetxattr
+182	common	fsetxattr			sys_fsetxattr
+183	common	getxattr			sys_getxattr
+184	common	lgetxattr			sys_lgetxattr
+185	common	fgetxattr			sys_fgetxattr
+186	common	listxattr			sys_listxattr
+187	common	llistxattr			sys_llistxattr
+188	common	flistxattr			sys_flistxattr
+189	common	removexattr			sys_removexattr
+190	common	lremovexattr			sys_lremovexattr
+191	common	fremovexattr			sys_fremovexattr
+192	common	tkill				sys_tkill
+193	common	reserved193			sys_ni_syscall
+194	common	futex				sys_futex_time32
+195	common	sched_setaffinity		compat_sys_sched_setaffinity
+196	common	sched_getaffinity		compat_sys_sched_getaffinity
+197	common	cacheflush			sys_cacheflush
+198	common	cachectl			sys_cachectl
+199	common	sysmips				__sys_sysmips
+200	common	io_setup			compat_sys_io_setup
+201	common	io_destroy			sys_io_destroy
+202	common	io_getevents			sys_io_getevents_time32
+203	common	io_submit			compat_sys_io_submit
+204	common	io_cancel			sys_io_cancel
+205	common	exit_group			sys_exit_group
+206	common	lookup_dcookie			sys_ni_syscall
+207	common	epoll_create			sys_epoll_create
+208	common	epoll_ctl			sys_epoll_ctl
+209	common	epoll_wait			sys_epoll_wait
+210	common	remap_file_pages		sys_remap_file_pages
+211	common	rt_sigreturn			sysn32_rt_sigreturn
+212	common	fcntl64				compat_sys_fcntl64
+213	common	set_tid_address			sys_set_tid_address
+214	common	restart_syscall			sys_restart_syscall
+215	common	semtimedop			sys_semtimedop_time32
+216	common	fadvise64			sys_fadvise64_64
+217	common	statfs64			compat_sys_statfs64
+218	common	fstatfs64			compat_sys_fstatfs64
+219	common	sendfile64			sys_sendfile64
+220	common	timer_create			compat_sys_timer_create
+221	common	timer_settime			sys_timer_settime32
+222	common	timer_gettime			sys_timer_gettime32
+223	common	timer_getoverrun		sys_timer_getoverrun
+224	common	timer_delete			sys_timer_delete
+225	common	clock_settime			sys_clock_settime32
+226	common	clock_gettime			sys_clock_gettime32
+227	common	clock_getres			sys_clock_getres_time32
+228	common	clock_nanosleep			sys_clock_nanosleep_time32
+229	common	tgkill				sys_tgkill
+230	common	utimes				sys_utimes_time32
+231	common	mbind				sys_mbind
+232	common	get_mempolicy			sys_get_mempolicy
+233	common	set_mempolicy			sys_set_mempolicy
+234	common	mq_open				compat_sys_mq_open
+235	common	mq_unlink			sys_mq_unlink
+236	common	mq_timedsend			sys_mq_timedsend_time32
+237	common	mq_timedreceive			sys_mq_timedreceive_time32
+238	common	mq_notify			compat_sys_mq_notify
+239	common	mq_getsetattr			compat_sys_mq_getsetattr
+240	common	vserver				sys_ni_syscall
+241	common	waitid				compat_sys_waitid
 # 242 was sys_setaltroot
-243	n32	add_key				sys_add_key
-244	n32	request_key			sys_request_key
-245	n32	keyctl				compat_sys_keyctl
-246	n32	set_thread_area			sys_set_thread_area
-247	n32	inotify_init			sys_inotify_init
-248	n32	inotify_add_watch		sys_inotify_add_watch
-249	n32	inotify_rm_watch		sys_inotify_rm_watch
-250	n32	migrate_pages			sys_migrate_pages
-251	n32	openat				sys_openat
-252	n32	mkdirat				sys_mkdirat
-253	n32	mknodat				sys_mknodat
-254	n32	fchownat			sys_fchownat
-255	n32	futimesat			sys_futimesat_time32
-256	n32	newfstatat			sys_newfstatat
-257	n32	unlinkat			sys_unlinkat
-258	n32	renameat			sys_renameat
-259	n32	linkat				sys_linkat
-260	n32	symlinkat			sys_symlinkat
-261	n32	readlinkat			sys_readlinkat
-262	n32	fchmodat			sys_fchmodat
-263	n32	faccessat			sys_faccessat
-264	n32	pselect6			compat_sys_pselect6_time32
-265	n32	ppoll				compat_sys_ppoll_time32
-266	n32	unshare				sys_unshare
-267	n32	splice				sys_splice
-268	n32	sync_file_range			sys_sync_file_range
-269	n32	tee				sys_tee
-270	n32	vmsplice			sys_vmsplice
-271	n32	move_pages			sys_move_pages
-272	n32	set_robust_list			compat_sys_set_robust_list
-273	n32	get_robust_list			compat_sys_get_robust_list
-274	n32	kexec_load			compat_sys_kexec_load
-275	n32	getcpu				sys_getcpu
-276	n32	epoll_pwait			compat_sys_epoll_pwait
-277	n32	ioprio_set			sys_ioprio_set
-278	n32	ioprio_get			sys_ioprio_get
-279	n32	utimensat			sys_utimensat_time32
-280	n32	signalfd			compat_sys_signalfd
-281	n32	timerfd				sys_ni_syscall
-282	n32	eventfd				sys_eventfd
-283	n32	fallocate			sys_fallocate
-284	n32	timerfd_create			sys_timerfd_create
-285	n32	timerfd_gettime			sys_timerfd_gettime32
-286	n32	timerfd_settime			sys_timerfd_settime32
-287	n32	signalfd4			compat_sys_signalfd4
-288	n32	eventfd2			sys_eventfd2
-289	n32	epoll_create1			sys_epoll_create1
-290	n32	dup3				sys_dup3
-291	n32	pipe2				sys_pipe2
-292	n32	inotify_init1			sys_inotify_init1
-293	n32	preadv				compat_sys_preadv
-294	n32	pwritev				compat_sys_pwritev
-295	n32	rt_tgsigqueueinfo		compat_sys_rt_tgsigqueueinfo
-296	n32	perf_event_open			sys_perf_event_open
-297	n32	accept4				sys_accept4
-298	n32	recvmmsg			compat_sys_recvmmsg_time32
-299	n32	getdents64			sys_getdents64
-300	n32	fanotify_init			sys_fanotify_init
-301	n32	fanotify_mark			sys_fanotify_mark
-302	n32	prlimit64			sys_prlimit64
-303	n32	name_to_handle_at		sys_name_to_handle_at
-304	n32	open_by_handle_at		sys_open_by_handle_at
-305	n32	clock_adjtime			sys_clock_adjtime32
-306	n32	syncfs				sys_syncfs
-307	n32	sendmmsg			compat_sys_sendmmsg
-308	n32	setns				sys_setns
-309	n32	process_vm_readv		sys_process_vm_readv
-310	n32	process_vm_writev		sys_process_vm_writev
-311	n32	kcmp				sys_kcmp
-312	n32	finit_module			sys_finit_module
-313	n32	sched_setattr			sys_sched_setattr
-314	n32	sched_getattr			sys_sched_getattr
-315	n32	renameat2			sys_renameat2
-316	n32	seccomp				sys_seccomp
-317	n32	getrandom			sys_getrandom
-318	n32	memfd_create			sys_memfd_create
-319	n32	bpf				sys_bpf
-320	n32	execveat			compat_sys_execveat
-321	n32	userfaultfd			sys_userfaultfd
-322	n32	membarrier			sys_membarrier
-323	n32	mlock2				sys_mlock2
-324	n32	copy_file_range			sys_copy_file_range
-325	n32	preadv2				compat_sys_preadv2
-326	n32	pwritev2			compat_sys_pwritev2
-327	n32	pkey_mprotect			sys_pkey_mprotect
-328	n32	pkey_alloc			sys_pkey_alloc
-329	n32	pkey_free			sys_pkey_free
-330	n32	statx				sys_statx
-331	n32	rseq				sys_rseq
-332	n32	io_pgetevents			compat_sys_io_pgetevents
+243	common	add_key				sys_add_key
+244	common	request_key			sys_request_key
+245	common	keyctl				compat_sys_keyctl
+246	common	set_thread_area			sys_set_thread_area
+247	common	inotify_init			sys_inotify_init
+248	common	inotify_add_watch		sys_inotify_add_watch
+249	common	inotify_rm_watch		sys_inotify_rm_watch
+250	common	migrate_pages			sys_migrate_pages
+251	common	openat				sys_openat
+252	common	mkdirat				sys_mkdirat
+253	common	mknodat				sys_mknodat
+254	common	fchownat			sys_fchownat
+255	common	futimesat			sys_futimesat_time32
+256	common	newfstatat			sys_newfstatat
+257	common	unlinkat			sys_unlinkat
+258	common	renameat			sys_renameat
+259	common	linkat				sys_linkat
+260	common	symlinkat			sys_symlinkat
+261	common	readlinkat			sys_readlinkat
+262	common	fchmodat			sys_fchmodat
+263	common	faccessat			sys_faccessat
+264	common	pselect6			compat_sys_pselect6_time32
+265	common	ppoll				compat_sys_ppoll_time32
+266	common	unshare				sys_unshare
+267	common	splice				sys_splice
+268	common	sync_file_range			sys_sync_file_range
+269	common	tee				sys_tee
+270	common	vmsplice			sys_vmsplice
+271	common	move_pages			sys_move_pages
+272	common	set_robust_list			compat_sys_set_robust_list
+273	common	get_robust_list			compat_sys_get_robust_list
+274	common	kexec_load			compat_sys_kexec_load
+275	common	getcpu				sys_getcpu
+276	common	epoll_pwait			compat_sys_epoll_pwait
+277	common	ioprio_set			sys_ioprio_set
+278	common	ioprio_get			sys_ioprio_get
+279	common	utimensat			sys_utimensat_time32
+280	common	signalfd			compat_sys_signalfd
+281	common	timerfd				sys_ni_syscall
+282	common	eventfd				sys_eventfd
+283	common	fallocate			sys_fallocate
+284	common	timerfd_create			sys_timerfd_create
+285	common	timerfd_gettime			sys_timerfd_gettime32
+286	common	timerfd_settime			sys_timerfd_settime32
+287	common	signalfd4			compat_sys_signalfd4
+288	common	eventfd2			sys_eventfd2
+289	common	epoll_create1			sys_epoll_create1
+290	common	dup3				sys_dup3
+291	common	pipe2				sys_pipe2
+292	common	inotify_init1			sys_inotify_init1
+293	common	preadv				compat_sys_preadv
+294	common	pwritev				compat_sys_pwritev
+295	common	rt_tgsigqueueinfo		compat_sys_rt_tgsigqueueinfo
+296	common	perf_event_open			sys_perf_event_open
+297	common	accept4				sys_accept4
+298	common	recvmmsg			compat_sys_recvmmsg_time32
+299	common	getdents64			sys_getdents64
+300	common	fanotify_init			sys_fanotify_init
+301	common	fanotify_mark			sys_fanotify_mark
+302	common	prlimit64			sys_prlimit64
+303	common	name_to_handle_at		sys_name_to_handle_at
+304	common	open_by_handle_at		sys_open_by_handle_at
+305	common	clock_adjtime			sys_clock_adjtime32
+306	common	syncfs				sys_syncfs
+307	common	sendmmsg			compat_sys_sendmmsg
+308	common	setns				sys_setns
+309	common	process_vm_readv		sys_process_vm_readv
+310	common	process_vm_writev		sys_process_vm_writev
+311	common	kcmp				sys_kcmp
+312	common	finit_module			sys_finit_module
+313	common	sched_setattr			sys_sched_setattr
+314	common	sched_getattr			sys_sched_getattr
+315	common	renameat2			sys_renameat2
+316	common	seccomp				sys_seccomp
+317	common	getrandom			sys_getrandom
+318	common	memfd_create			sys_memfd_create
+319	common	bpf				sys_bpf
+320	common	execveat			compat_sys_execveat
+321	common	userfaultfd			sys_userfaultfd
+322	common	membarrier			sys_membarrier
+323	common	mlock2				sys_mlock2
+324	common	copy_file_range			sys_copy_file_range
+325	common	preadv2				compat_sys_preadv2
+326	common	pwritev2			compat_sys_pwritev2
+327	common	pkey_mprotect			sys_pkey_mprotect
+328	common	pkey_alloc			sys_pkey_alloc
+329	common	pkey_free			sys_pkey_free
+330	common	statx				sys_statx
+331	common	rseq				sys_rseq
+332	common	io_pgetevents			compat_sys_io_pgetevents
 # 333 through 402 are unassigned to sync up with generic numbers
-403	n32	clock_gettime64			sys_clock_gettime
-404	n32	clock_settime64			sys_clock_settime
-405	n32	clock_adjtime64			sys_clock_adjtime
-406	n32	clock_getres_time64		sys_clock_getres
-407	n32	clock_nanosleep_time64		sys_clock_nanosleep
-408	n32	timer_gettime64			sys_timer_gettime
-409	n32	timer_settime64			sys_timer_settime
-410	n32	timerfd_gettime64		sys_timerfd_gettime
-411	n32	timerfd_settime64		sys_timerfd_settime
-412	n32	utimensat_time64		sys_utimensat
-413	n32	pselect6_time64			compat_sys_pselect6_time64
-414	n32	ppoll_time64			compat_sys_ppoll_time64
-416	n32	io_pgetevents_time64		compat_sys_io_pgetevents_time64
-417	n32	recvmmsg_time64			compat_sys_recvmmsg_time64
-418	n32	mq_timedsend_time64		sys_mq_timedsend
-419	n32	mq_timedreceive_time64		sys_mq_timedreceive
-420	n32	semtimedop_time64		sys_semtimedop
-421	n32	rt_sigtimedwait_time64		compat_sys_rt_sigtimedwait_time64
-422	n32	futex_time64			sys_futex
-423	n32	sched_rr_get_interval_time64	sys_sched_rr_get_interval
-424	n32	pidfd_send_signal		sys_pidfd_send_signal
-425	n32	io_uring_setup			sys_io_uring_setup
-426	n32	io_uring_enter			sys_io_uring_enter
-427	n32	io_uring_register		sys_io_uring_register
-428	n32	open_tree			sys_open_tree
-429	n32	move_mount			sys_move_mount
-430	n32	fsopen				sys_fsopen
-431	n32	fsconfig			sys_fsconfig
-432	n32	fsmount				sys_fsmount
-433	n32	fspick				sys_fspick
-434	n32	pidfd_open			sys_pidfd_open
-435	n32	clone3				__sys_clone3
-436	n32	close_range			sys_close_range
-437	n32	openat2				sys_openat2
-438	n32	pidfd_getfd			sys_pidfd_getfd
-439	n32	faccessat2			sys_faccessat2
-440	n32	process_madvise			sys_process_madvise
-441	n32	epoll_pwait2			compat_sys_epoll_pwait2
-442	n32	mount_setattr			sys_mount_setattr
-443	n32	quotactl_fd			sys_quotactl_fd
-444	n32	landlock_create_ruleset		sys_landlock_create_ruleset
-445	n32	landlock_add_rule		sys_landlock_add_rule
-446	n32	landlock_restrict_self		sys_landlock_restrict_self
+403	common	clock_gettime64			sys_clock_gettime
+404	common	clock_settime64			sys_clock_settime
+405	common	clock_adjtime64			sys_clock_adjtime
+406	common	clock_getres_time64		sys_clock_getres
+407	common	clock_nanosleep_time64		sys_clock_nanosleep
+408	common	timer_gettime64			sys_timer_gettime
+409	common	timer_settime64			sys_timer_settime
+410	common	timerfd_gettime64		sys_timerfd_gettime
+411	common	timerfd_settime64		sys_timerfd_settime
+412	common	utimensat_time64		sys_utimensat
+413	common	pselect6_time64			compat_sys_pselect6_time64
+414	common	ppoll_time64			compat_sys_ppoll_time64
+416	common	io_pgetevents_time64		compat_sys_io_pgetevents_time64
+417	common	recvmmsg_time64			compat_sys_recvmmsg_time64
+418	common	mq_timedsend_time64		sys_mq_timedsend
+419	common	mq_timedreceive_time64		sys_mq_timedreceive
+420	common	semtimedop_time64		sys_semtimedop
+421	common	rt_sigtimedwait_time64		compat_sys_rt_sigtimedwait_time64
+422	common	futex_time64			sys_futex
+423	common	sched_rr_get_interval_time64	sys_sched_rr_get_interval
+424	common	pidfd_send_signal		sys_pidfd_send_signal
+425	common	io_uring_setup			sys_io_uring_setup
+426	common	io_uring_enter			sys_io_uring_enter
+427	common	io_uring_register		sys_io_uring_register
+428	common	open_tree			sys_open_tree
+429	common	move_mount			sys_move_mount
+430	common	fsopen				sys_fsopen
+431	common	fsconfig			sys_fsconfig
+432	common	fsmount				sys_fsmount
+433	common	fspick				sys_fspick
+434	common	pidfd_open			sys_pidfd_open
+435	common	clone3				__sys_clone3
+436	common	close_range			sys_close_range
+437	common	openat2				sys_openat2
+438	common	pidfd_getfd			sys_pidfd_getfd
+439	common	faccessat2			sys_faccessat2
+440	common	process_madvise			sys_process_madvise
+441	common	epoll_pwait2			compat_sys_epoll_pwait2
+442	common	mount_setattr			sys_mount_setattr
+443	common	quotactl_fd			sys_quotactl_fd
+444	common	landlock_create_ruleset		sys_landlock_create_ruleset
+445	common	landlock_add_rule		sys_landlock_add_rule
+446	common	landlock_restrict_self		sys_landlock_restrict_self
 # 447 reserved for memfd_secret
-448	n32	process_mrelease		sys_process_mrelease
-449	n32	futex_waitv			sys_futex_waitv
-450	n32	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	n32	cachestat			sys_cachestat
-452	n32	fchmodat2			sys_fchmodat2
-453	n32	map_shadow_stack		sys_map_shadow_stack
-454	n32	futex_wake			sys_futex_wake
-455	n32	futex_wait			sys_futex_wait
-456	n32	futex_requeue			sys_futex_requeue
-457	n32	statmount			sys_statmount
-458	n32	listmount			sys_listmount
-459	n32	lsm_get_self_attr		sys_lsm_get_self_attr
-460	n32	lsm_set_self_attr		sys_lsm_set_self_attr
-461	n32	lsm_list_modules		sys_lsm_list_modules
-462	n32	mseal				sys_mseal
-463	n32	setxattrat			sys_setxattrat
-464	n32	getxattrat			sys_getxattrat
-465	n32	listxattrat			sys_listxattrat
-466	n32	removexattrat			sys_removexattrat
-467	n32	open_tree_attr			sys_open_tree_attr
-468	n32	file_getattr			sys_file_getattr
-469	n32	file_setattr			sys_file_setattr
-470	n32	listns				sys_listns
-471	n32	rseq_slice_yield		sys_rseq_slice_yield
+448	common	process_mrelease		sys_process_mrelease
+449	common	futex_waitv			sys_futex_waitv
+450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
+451	common	cachestat			sys_cachestat
+452	common	fchmodat2			sys_fchmodat2
+453	common	map_shadow_stack		sys_map_shadow_stack
+454	common	futex_wake			sys_futex_wake
+455	common	futex_wait			sys_futex_wait
+456	common	futex_requeue			sys_futex_requeue
+457	common	statmount			sys_statmount
+458	common	listmount			sys_listmount
+459	common	lsm_get_self_attr		sys_lsm_get_self_attr
+460	common	lsm_set_self_attr		sys_lsm_set_self_attr
+461	common	lsm_list_modules		sys_lsm_list_modules
+462	common	mseal				sys_mseal
+463	common	setxattrat			sys_setxattrat
+464	common	getxattrat			sys_getxattrat
+465	common	listxattrat			sys_listxattrat
+466	common	removexattrat			sys_removexattrat
+467	common	open_tree_attr			sys_open_tree_attr
+468	common	file_getattr			sys_file_getattr
+469	common	file_setattr			sys_file_setattr
+470	common	listns				sys_listns
+471	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/arch/mips/kernel/syscalls/syscall_n64.tbl b/arch/mips/kernel/syscalls/syscall_n64.tbl
index 630aab9e5425..9acc68729e21 100644
--- a/arch/mips/kernel/syscalls/syscall_n64.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n64.tbl
@@ -5,384 +5,384 @@
 # The format is:
 # <number> <abi> <name> <entry point>
 #
-# The <abi> is always "n64" for this file.
+# The <abi> is always "common" for this file.
 #
-0	n64	read				sys_read
-1	n64	write				sys_write
-2	n64	open				sys_open
-3	n64	close				sys_close
-4	n64	stat				sys_newstat
-5	n64	fstat				sys_newfstat
-6	n64	lstat				sys_newlstat
-7	n64	poll				sys_poll
-8	n64	lseek				sys_lseek
-9	n64	mmap				sys_mips_mmap
-10	n64	mprotect			sys_mprotect
-11	n64	munmap				sys_munmap
-12	n64	brk				sys_brk
-13	n64	rt_sigaction			sys_rt_sigaction
-14	n64	rt_sigprocmask			sys_rt_sigprocmask
-15	n64	ioctl				sys_ioctl
-16	n64	pread64				sys_pread64
-17	n64	pwrite64			sys_pwrite64
-18	n64	readv				sys_readv
-19	n64	writev				sys_writev
-20	n64	access				sys_access
-21	n64	pipe				sysm_pipe
-22	n64	_newselect			sys_select
-23	n64	sched_yield			sys_sched_yield
-24	n64	mremap				sys_mremap
-25	n64	msync				sys_msync
-26	n64	mincore				sys_mincore
-27	n64	madvise				sys_madvise
-28	n64	shmget				sys_shmget
-29	n64	shmat				sys_shmat
-30	n64	shmctl				sys_old_shmctl
-31	n64	dup				sys_dup
-32	n64	dup2				sys_dup2
-33	n64	pause				sys_pause
-34	n64	nanosleep			sys_nanosleep
-35	n64	getitimer			sys_getitimer
-36	n64	setitimer			sys_setitimer
-37	n64	alarm				sys_alarm
-38	n64	getpid				sys_getpid
-39	n64	sendfile			sys_sendfile64
-40	n64	socket				sys_socket
-41	n64	connect				sys_connect
-42	n64	accept				sys_accept
-43	n64	sendto				sys_sendto
-44	n64	recvfrom			sys_recvfrom
-45	n64	sendmsg				sys_sendmsg
-46	n64	recvmsg				sys_recvmsg
-47	n64	shutdown			sys_shutdown
-48	n64	bind				sys_bind
-49	n64	listen				sys_listen
-50	n64	getsockname			sys_getsockname
-51	n64	getpeername			sys_getpeername
-52	n64	socketpair			sys_socketpair
-53	n64	setsockopt			sys_setsockopt
-54	n64	getsockopt			sys_getsockopt
-55	n64	clone				__sys_clone
-56	n64	fork				__sys_fork
-57	n64	execve				sys_execve
-58	n64	exit				sys_exit
-59	n64	wait4				sys_wait4
-60	n64	kill				sys_kill
-61	n64	uname				sys_newuname
-62	n64	semget				sys_semget
-63	n64	semop				sys_semop
-64	n64	semctl				sys_old_semctl
-65	n64	shmdt				sys_shmdt
-66	n64	msgget				sys_msgget
-67	n64	msgsnd				sys_msgsnd
-68	n64	msgrcv				sys_msgrcv
-69	n64	msgctl				sys_old_msgctl
-70	n64	fcntl				sys_fcntl
-71	n64	flock				sys_flock
-72	n64	fsync				sys_fsync
-73	n64	fdatasync			sys_fdatasync
-74	n64	truncate			sys_truncate
-75	n64	ftruncate			sys_ftruncate
-76	n64	getdents			sys_getdents
-77	n64	getcwd				sys_getcwd
-78	n64	chdir				sys_chdir
-79	n64	fchdir				sys_fchdir
-80	n64	rename				sys_rename
-81	n64	mkdir				sys_mkdir
-82	n64	rmdir				sys_rmdir
-83	n64	creat				sys_creat
-84	n64	link				sys_link
-85	n64	unlink				sys_unlink
-86	n64	symlink				sys_symlink
-87	n64	readlink			sys_readlink
-88	n64	chmod				sys_chmod
-89	n64	fchmod				sys_fchmod
-90	n64	chown				sys_chown
-91	n64	fchown				sys_fchown
-92	n64	lchown				sys_lchown
-93	n64	umask				sys_umask
-94	n64	gettimeofday			sys_gettimeofday
-95	n64	getrlimit			sys_getrlimit
-96	n64	getrusage			sys_getrusage
-97	n64	sysinfo				sys_sysinfo
-98	n64	times				sys_times
-99	n64	ptrace				sys_ptrace
-100	n64	getuid				sys_getuid
-101	n64	syslog				sys_syslog
-102	n64	getgid				sys_getgid
-103	n64	setuid				sys_setuid
-104	n64	setgid				sys_setgid
-105	n64	geteuid				sys_geteuid
-106	n64	getegid				sys_getegid
-107	n64	setpgid				sys_setpgid
-108	n64	getppid				sys_getppid
-109	n64	getpgrp				sys_getpgrp
-110	n64	setsid				sys_setsid
-111	n64	setreuid			sys_setreuid
-112	n64	setregid			sys_setregid
-113	n64	getgroups			sys_getgroups
-114	n64	setgroups			sys_setgroups
-115	n64	setresuid			sys_setresuid
-116	n64	getresuid			sys_getresuid
-117	n64	setresgid			sys_setresgid
-118	n64	getresgid			sys_getresgid
-119	n64	getpgid				sys_getpgid
-120	n64	setfsuid			sys_setfsuid
-121	n64	setfsgid			sys_setfsgid
-122	n64	getsid				sys_getsid
-123	n64	capget				sys_capget
-124	n64	capset				sys_capset
-125	n64	rt_sigpending			sys_rt_sigpending
-126	n64	rt_sigtimedwait			sys_rt_sigtimedwait
-127	n64	rt_sigqueueinfo			sys_rt_sigqueueinfo
-128	n64	rt_sigsuspend			sys_rt_sigsuspend
-129	n64	sigaltstack			sys_sigaltstack
-130	n64	utime				sys_utime
-131	n64	mknod				sys_mknod
-132	n64	personality			sys_personality
-133	n64	ustat				sys_ustat
-134	n64	statfs				sys_statfs
-135	n64	fstatfs				sys_fstatfs
-136	n64	sysfs				sys_sysfs
-137	n64	getpriority			sys_getpriority
-138	n64	setpriority			sys_setpriority
-139	n64	sched_setparam			sys_sched_setparam
-140	n64	sched_getparam			sys_sched_getparam
-141	n64	sched_setscheduler		sys_sched_setscheduler
-142	n64	sched_getscheduler		sys_sched_getscheduler
-143	n64	sched_get_priority_max		sys_sched_get_priority_max
-144	n64	sched_get_priority_min		sys_sched_get_priority_min
-145	n64	sched_rr_get_interval		sys_sched_rr_get_interval
-146	n64	mlock				sys_mlock
-147	n64	munlock				sys_munlock
-148	n64	mlockall			sys_mlockall
-149	n64	munlockall			sys_munlockall
-150	n64	vhangup				sys_vhangup
-151	n64	pivot_root			sys_pivot_root
-152	n64	_sysctl				sys_ni_syscall
-153	n64	prctl				sys_prctl
-154	n64	adjtimex			sys_adjtimex
-155	n64	setrlimit			sys_setrlimit
-156	n64	chroot				sys_chroot
-157	n64	sync				sys_sync
-158	n64	acct				sys_acct
-159	n64	settimeofday			sys_settimeofday
-160	n64	mount				sys_mount
-161	n64	umount2				sys_umount
-162	n64	swapon				sys_swapon
-163	n64	swapoff				sys_swapoff
-164	n64	reboot				sys_reboot
-165	n64	sethostname			sys_sethostname
-166	n64	setdomainname			sys_setdomainname
-167	n64	create_module			sys_ni_syscall
-168	n64	init_module			sys_init_module
-169	n64	delete_module			sys_delete_module
-170	n64	get_kernel_syms			sys_ni_syscall
-171	n64	query_module			sys_ni_syscall
-172	n64	quotactl			sys_quotactl
-173	n64	nfsservctl			sys_ni_syscall
-174	n64	getpmsg				sys_ni_syscall
-175	n64	putpmsg				sys_ni_syscall
-176	n64	afs_syscall			sys_ni_syscall
+0	common	read				sys_read
+1	common	write				sys_write
+2	common	open				sys_open
+3	common	close				sys_close
+4	common	stat				sys_newstat
+5	common	fstat				sys_newfstat
+6	common	lstat				sys_newlstat
+7	common	poll				sys_poll
+8	common	lseek				sys_lseek
+9	common	mmap				sys_mips_mmap
+10	common	mprotect			sys_mprotect
+11	common	munmap				sys_munmap
+12	common	brk				sys_brk
+13	common	rt_sigaction			sys_rt_sigaction
+14	common	rt_sigprocmask			sys_rt_sigprocmask
+15	common	ioctl				sys_ioctl
+16	common	pread64				sys_pread64
+17	common	pwrite64			sys_pwrite64
+18	common	readv				sys_readv
+19	common	writev				sys_writev
+20	common	access				sys_access
+21	common	pipe				sysm_pipe
+22	common	_newselect			sys_select
+23	common	sched_yield			sys_sched_yield
+24	common	mremap				sys_mremap
+25	common	msync				sys_msync
+26	common	mincore				sys_mincore
+27	common	madvise				sys_madvise
+28	common	shmget				sys_shmget
+29	common	shmat				sys_shmat
+30	common	shmctl				sys_old_shmctl
+31	common	dup				sys_dup
+32	common	dup2				sys_dup2
+33	common	pause				sys_pause
+34	common	nanosleep			sys_nanosleep
+35	common	getitimer			sys_getitimer
+36	common	setitimer			sys_setitimer
+37	common	alarm				sys_alarm
+38	common	getpid				sys_getpid
+39	common	sendfile			sys_sendfile64
+40	common	socket				sys_socket
+41	common	connect				sys_connect
+42	common	accept				sys_accept
+43	common	sendto				sys_sendto
+44	common	recvfrom			sys_recvfrom
+45	common	sendmsg				sys_sendmsg
+46	common	recvmsg				sys_recvmsg
+47	common	shutdown			sys_shutdown
+48	common	bind				sys_bind
+49	common	listen				sys_listen
+50	common	getsockname			sys_getsockname
+51	common	getpeername			sys_getpeername
+52	common	socketpair			sys_socketpair
+53	common	setsockopt			sys_setsockopt
+54	common	getsockopt			sys_getsockopt
+55	common	clone				__sys_clone
+56	common	fork				__sys_fork
+57	common	execve				sys_execve
+58	common	exit				sys_exit
+59	common	wait4				sys_wait4
+60	common	kill				sys_kill
+61	common	uname				sys_newuname
+62	common	semget				sys_semget
+63	common	semop				sys_semop
+64	common	semctl				sys_old_semctl
+65	common	shmdt				sys_shmdt
+66	common	msgget				sys_msgget
+67	common	msgsnd				sys_msgsnd
+68	common	msgrcv				sys_msgrcv
+69	common	msgctl				sys_old_msgctl
+70	common	fcntl				sys_fcntl
+71	common	flock				sys_flock
+72	common	fsync				sys_fsync
+73	common	fdatasync			sys_fdatasync
+74	common	truncate			sys_truncate
+75	common	ftruncate			sys_ftruncate
+76	common	getdents			sys_getdents
+77	common	getcwd				sys_getcwd
+78	common	chdir				sys_chdir
+79	common	fchdir				sys_fchdir
+80	common	rename				sys_rename
+81	common	mkdir				sys_mkdir
+82	common	rmdir				sys_rmdir
+83	common	creat				sys_creat
+84	common	link				sys_link
+85	common	unlink				sys_unlink
+86	common	symlink				sys_symlink
+87	common	readlink			sys_readlink
+88	common	chmod				sys_chmod
+89	common	fchmod				sys_fchmod
+90	common	chown				sys_chown
+91	common	fchown				sys_fchown
+92	common	lchown				sys_lchown
+93	common	umask				sys_umask
+94	common	gettimeofday			sys_gettimeofday
+95	common	getrlimit			sys_getrlimit
+96	common	getrusage			sys_getrusage
+97	common	sysinfo				sys_sysinfo
+98	common	times				sys_times
+99	common	ptrace				sys_ptrace
+100	common	getuid				sys_getuid
+101	common	syslog				sys_syslog
+102	common	getgid				sys_getgid
+103	common	setuid				sys_setuid
+104	common	setgid				sys_setgid
+105	common	geteuid				sys_geteuid
+106	common	getegid				sys_getegid
+107	common	setpgid				sys_setpgid
+108	common	getppid				sys_getppid
+109	common	getpgrp				sys_getpgrp
+110	common	setsid				sys_setsid
+111	common	setreuid			sys_setreuid
+112	common	setregid			sys_setregid
+113	common	getgroups			sys_getgroups
+114	common	setgroups			sys_setgroups
+115	common	setresuid			sys_setresuid
+116	common	getresuid			sys_getresuid
+117	common	setresgid			sys_setresgid
+118	common	getresgid			sys_getresgid
+119	common	getpgid				sys_getpgid
+120	common	setfsuid			sys_setfsuid
+121	common	setfsgid			sys_setfsgid
+122	common	getsid				sys_getsid
+123	common	capget				sys_capget
+124	common	capset				sys_capset
+125	common	rt_sigpending			sys_rt_sigpending
+126	common	rt_sigtimedwait			sys_rt_sigtimedwait
+127	common	rt_sigqueueinfo			sys_rt_sigqueueinfo
+128	common	rt_sigsuspend			sys_rt_sigsuspend
+129	common	sigaltstack			sys_sigaltstack
+130	common	utime				sys_utime
+131	common	mknod				sys_mknod
+132	common	personality			sys_personality
+133	common	ustat				sys_ustat
+134	common	statfs				sys_statfs
+135	common	fstatfs				sys_fstatfs
+136	common	sysfs				sys_sysfs
+137	common	getpriority			sys_getpriority
+138	common	setpriority			sys_setpriority
+139	common	sched_setparam			sys_sched_setparam
+140	common	sched_getparam			sys_sched_getparam
+141	common	sched_setscheduler		sys_sched_setscheduler
+142	common	sched_getscheduler		sys_sched_getscheduler
+143	common	sched_get_priority_max		sys_sched_get_priority_max
+144	common	sched_get_priority_min		sys_sched_get_priority_min
+145	common	sched_rr_get_interval		sys_sched_rr_get_interval
+146	common	mlock				sys_mlock
+147	common	munlock				sys_munlock
+148	common	mlockall			sys_mlockall
+149	common	munlockall			sys_munlockall
+150	common	vhangup				sys_vhangup
+151	common	pivot_root			sys_pivot_root
+152	common	_sysctl				sys_ni_syscall
+153	common	prctl				sys_prctl
+154	common	adjtimex			sys_adjtimex
+155	common	setrlimit			sys_setrlimit
+156	common	chroot				sys_chroot
+157	common	sync				sys_sync
+158	common	acct				sys_acct
+159	common	settimeofday			sys_settimeofday
+160	common	mount				sys_mount
+161	common	umount2				sys_umount
+162	common	swapon				sys_swapon
+163	common	swapoff				sys_swapoff
+164	common	reboot				sys_reboot
+165	common	sethostname			sys_sethostname
+166	common	setdomainname			sys_setdomainname
+167	common	create_module			sys_ni_syscall
+168	common	init_module			sys_init_module
+169	common	delete_module			sys_delete_module
+170	common	get_kernel_syms			sys_ni_syscall
+171	common	query_module			sys_ni_syscall
+172	common	quotactl			sys_quotactl
+173	common	nfsservctl			sys_ni_syscall
+174	common	getpmsg				sys_ni_syscall
+175	common	putpmsg				sys_ni_syscall
+176	common	afs_syscall			sys_ni_syscall
 # 177 reserved for security
-177	n64	reserved177			sys_ni_syscall
-178	n64	gettid				sys_gettid
-179	n64	readahead			sys_readahead
-180	n64	setxattr			sys_setxattr
-181	n64	lsetxattr			sys_lsetxattr
-182	n64	fsetxattr			sys_fsetxattr
-183	n64	getxattr			sys_getxattr
-184	n64	lgetxattr			sys_lgetxattr
-185	n64	fgetxattr			sys_fgetxattr
-186	n64	listxattr			sys_listxattr
-187	n64	llistxattr			sys_llistxattr
-188	n64	flistxattr			sys_flistxattr
-189	n64	removexattr			sys_removexattr
-190	n64	lremovexattr			sys_lremovexattr
-191	n64	fremovexattr			sys_fremovexattr
-192	n64	tkill				sys_tkill
-193	n64	reserved193			sys_ni_syscall
-194	n64	futex				sys_futex
-195	n64	sched_setaffinity		sys_sched_setaffinity
-196	n64	sched_getaffinity		sys_sched_getaffinity
-197	n64	cacheflush			sys_cacheflush
-198	n64	cachectl			sys_cachectl
-199	n64	sysmips				__sys_sysmips
-200	n64	io_setup			sys_io_setup
-201	n64	io_destroy			sys_io_destroy
-202	n64	io_getevents			sys_io_getevents
-203	n64	io_submit			sys_io_submit
-204	n64	io_cancel			sys_io_cancel
-205	n64	exit_group			sys_exit_group
-206	n64	lookup_dcookie			sys_ni_syscall
-207	n64	epoll_create			sys_epoll_create
-208	n64	epoll_ctl			sys_epoll_ctl
-209	n64	epoll_wait			sys_epoll_wait
-210	n64	remap_file_pages		sys_remap_file_pages
-211	n64	rt_sigreturn			sys_rt_sigreturn
-212	n64	set_tid_address			sys_set_tid_address
-213	n64	restart_syscall			sys_restart_syscall
-214	n64	semtimedop			sys_semtimedop
-215	n64	fadvise64			sys_fadvise64_64
-216	n64	timer_create			sys_timer_create
-217	n64	timer_settime			sys_timer_settime
-218	n64	timer_gettime			sys_timer_gettime
-219	n64	timer_getoverrun		sys_timer_getoverrun
-220	n64	timer_delete			sys_timer_delete
-221	n64	clock_settime			sys_clock_settime
-222	n64	clock_gettime			sys_clock_gettime
-223	n64	clock_getres			sys_clock_getres
-224	n64	clock_nanosleep			sys_clock_nanosleep
-225	n64	tgkill				sys_tgkill
-226	n64	utimes				sys_utimes
-227	n64	mbind				sys_mbind
-228	n64	get_mempolicy			sys_get_mempolicy
-229	n64	set_mempolicy			sys_set_mempolicy
-230	n64	mq_open				sys_mq_open
-231	n64	mq_unlink			sys_mq_unlink
-232	n64	mq_timedsend			sys_mq_timedsend
-233	n64	mq_timedreceive			sys_mq_timedreceive
-234	n64	mq_notify			sys_mq_notify
-235	n64	mq_getsetattr			sys_mq_getsetattr
-236	n64	vserver				sys_ni_syscall
-237	n64	waitid				sys_waitid
+177	common	reserved177			sys_ni_syscall
+178	common	gettid				sys_gettid
+179	common	readahead			sys_readahead
+180	common	setxattr			sys_setxattr
+181	common	lsetxattr			sys_lsetxattr
+182	common	fsetxattr			sys_fsetxattr
+183	common	getxattr			sys_getxattr
+184	common	lgetxattr			sys_lgetxattr
+185	common	fgetxattr			sys_fgetxattr
+186	common	listxattr			sys_listxattr
+187	common	llistxattr			sys_llistxattr
+188	common	flistxattr			sys_flistxattr
+189	common	removexattr			sys_removexattr
+190	common	lremovexattr			sys_lremovexattr
+191	common	fremovexattr			sys_fremovexattr
+192	common	tkill				sys_tkill
+193	common	reserved193			sys_ni_syscall
+194	common	futex				sys_futex
+195	common	sched_setaffinity		sys_sched_setaffinity
+196	common	sched_getaffinity		sys_sched_getaffinity
+197	common	cacheflush			sys_cacheflush
+198	common	cachectl			sys_cachectl
+199	common	sysmips				__sys_sysmips
+200	common	io_setup			sys_io_setup
+201	common	io_destroy			sys_io_destroy
+202	common	io_getevents			sys_io_getevents
+203	common	io_submit			sys_io_submit
+204	common	io_cancel			sys_io_cancel
+205	common	exit_group			sys_exit_group
+206	common	lookup_dcookie			sys_ni_syscall
+207	common	epoll_create			sys_epoll_create
+208	common	epoll_ctl			sys_epoll_ctl
+209	common	epoll_wait			sys_epoll_wait
+210	common	remap_file_pages		sys_remap_file_pages
+211	common	rt_sigreturn			sys_rt_sigreturn
+212	common	set_tid_address			sys_set_tid_address
+213	common	restart_syscall			sys_restart_syscall
+214	common	semtimedop			sys_semtimedop
+215	common	fadvise64			sys_fadvise64_64
+216	common	timer_create			sys_timer_create
+217	common	timer_settime			sys_timer_settime
+218	common	timer_gettime			sys_timer_gettime
+219	common	timer_getoverrun		sys_timer_getoverrun
+220	common	timer_delete			sys_timer_delete
+221	common	clock_settime			sys_clock_settime
+222	common	clock_gettime			sys_clock_gettime
+223	common	clock_getres			sys_clock_getres
+224	common	clock_nanosleep			sys_clock_nanosleep
+225	common	tgkill				sys_tgkill
+226	common	utimes				sys_utimes
+227	common	mbind				sys_mbind
+228	common	get_mempolicy			sys_get_mempolicy
+229	common	set_mempolicy			sys_set_mempolicy
+230	common	mq_open				sys_mq_open
+231	common	mq_unlink			sys_mq_unlink
+232	common	mq_timedsend			sys_mq_timedsend
+233	common	mq_timedreceive			sys_mq_timedreceive
+234	common	mq_notify			sys_mq_notify
+235	common	mq_getsetattr			sys_mq_getsetattr
+236	common	vserver				sys_ni_syscall
+237	common	waitid				sys_waitid
 # 238 was sys_setaltroot
-239	n64	add_key				sys_add_key
-240	n64	request_key			sys_request_key
-241	n64	keyctl				sys_keyctl
-242	n64	set_thread_area			sys_set_thread_area
-243	n64	inotify_init			sys_inotify_init
-244	n64	inotify_add_watch		sys_inotify_add_watch
-245	n64	inotify_rm_watch		sys_inotify_rm_watch
-246	n64	migrate_pages			sys_migrate_pages
-247	n64	openat				sys_openat
-248	n64	mkdirat				sys_mkdirat
-249	n64	mknodat				sys_mknodat
-250	n64	fchownat			sys_fchownat
-251	n64	futimesat			sys_futimesat
-252	n64	newfstatat			sys_newfstatat
-253	n64	unlinkat			sys_unlinkat
-254	n64	renameat			sys_renameat
-255	n64	linkat				sys_linkat
-256	n64	symlinkat			sys_symlinkat
-257	n64	readlinkat			sys_readlinkat
-258	n64	fchmodat			sys_fchmodat
-259	n64	faccessat			sys_faccessat
-260	n64	pselect6			sys_pselect6
-261	n64	ppoll				sys_ppoll
-262	n64	unshare				sys_unshare
-263	n64	splice				sys_splice
-264	n64	sync_file_range			sys_sync_file_range
-265	n64	tee				sys_tee
-266	n64	vmsplice			sys_vmsplice
-267	n64	move_pages			sys_move_pages
-268	n64	set_robust_list			sys_set_robust_list
-269	n64	get_robust_list			sys_get_robust_list
-270	n64	kexec_load			sys_kexec_load
-271	n64	getcpu				sys_getcpu
-272	n64	epoll_pwait			sys_epoll_pwait
-273	n64	ioprio_set			sys_ioprio_set
-274	n64	ioprio_get			sys_ioprio_get
-275	n64	utimensat			sys_utimensat
-276	n64	signalfd			sys_signalfd
-277	n64	timerfd				sys_ni_syscall
-278	n64	eventfd				sys_eventfd
-279	n64	fallocate			sys_fallocate
-280	n64	timerfd_create			sys_timerfd_create
-281	n64	timerfd_gettime			sys_timerfd_gettime
-282	n64	timerfd_settime			sys_timerfd_settime
-283	n64	signalfd4			sys_signalfd4
-284	n64	eventfd2			sys_eventfd2
-285	n64	epoll_create1			sys_epoll_create1
-286	n64	dup3				sys_dup3
-287	n64	pipe2				sys_pipe2
-288	n64	inotify_init1			sys_inotify_init1
-289	n64	preadv				sys_preadv
-290	n64	pwritev				sys_pwritev
-291	n64	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo
-292	n64	perf_event_open			sys_perf_event_open
-293	n64	accept4				sys_accept4
-294	n64	recvmmsg			sys_recvmmsg
-295	n64	fanotify_init			sys_fanotify_init
-296	n64	fanotify_mark			sys_fanotify_mark
-297	n64	prlimit64			sys_prlimit64
-298	n64	name_to_handle_at		sys_name_to_handle_at
-299	n64	open_by_handle_at		sys_open_by_handle_at
-300	n64	clock_adjtime			sys_clock_adjtime
-301	n64	syncfs				sys_syncfs
-302	n64	sendmmsg			sys_sendmmsg
-303	n64	setns				sys_setns
-304	n64	process_vm_readv		sys_process_vm_readv
-305	n64	process_vm_writev		sys_process_vm_writev
-306	n64	kcmp				sys_kcmp
-307	n64	finit_module			sys_finit_module
-308	n64	getdents64			sys_getdents64
-309	n64	sched_setattr			sys_sched_setattr
-310	n64	sched_getattr			sys_sched_getattr
-311	n64	renameat2			sys_renameat2
-312	n64	seccomp				sys_seccomp
-313	n64	getrandom			sys_getrandom
-314	n64	memfd_create			sys_memfd_create
-315	n64	bpf				sys_bpf
-316	n64	execveat			sys_execveat
-317	n64	userfaultfd			sys_userfaultfd
-318	n64	membarrier			sys_membarrier
-319	n64	mlock2				sys_mlock2
-320	n64	copy_file_range			sys_copy_file_range
-321	n64	preadv2				sys_preadv2
-322	n64	pwritev2			sys_pwritev2
-323	n64	pkey_mprotect			sys_pkey_mprotect
-324	n64	pkey_alloc			sys_pkey_alloc
-325	n64	pkey_free			sys_pkey_free
-326	n64	statx				sys_statx
-327	n64	rseq				sys_rseq
-328	n64	io_pgetevents			sys_io_pgetevents
+239	common	add_key				sys_add_key
+240	common	request_key			sys_request_key
+241	common	keyctl				sys_keyctl
+242	common	set_thread_area			sys_set_thread_area
+243	common	inotify_init			sys_inotify_init
+244	common	inotify_add_watch		sys_inotify_add_watch
+245	common	inotify_rm_watch		sys_inotify_rm_watch
+246	common	migrate_pages			sys_migrate_pages
+247	common	openat				sys_openat
+248	common	mkdirat				sys_mkdirat
+249	common	mknodat				sys_mknodat
+250	common	fchownat			sys_fchownat
+251	common	futimesat			sys_futimesat
+252	common	newfstatat			sys_newfstatat
+253	common	unlinkat			sys_unlinkat
+254	common	renameat			sys_renameat
+255	common	linkat				sys_linkat
+256	common	symlinkat			sys_symlinkat
+257	common	readlinkat			sys_readlinkat
+258	common	fchmodat			sys_fchmodat
+259	common	faccessat			sys_faccessat
+260	common	pselect6			sys_pselect6
+261	common	ppoll				sys_ppoll
+262	common	unshare				sys_unshare
+263	common	splice				sys_splice
+264	common	sync_file_range			sys_sync_file_range
+265	common	tee				sys_tee
+266	common	vmsplice			sys_vmsplice
+267	common	move_pages			sys_move_pages
+268	common	set_robust_list			sys_set_robust_list
+269	common	get_robust_list			sys_get_robust_list
+270	common	kexec_load			sys_kexec_load
+271	common	getcpu				sys_getcpu
+272	common	epoll_pwait			sys_epoll_pwait
+273	common	ioprio_set			sys_ioprio_set
+274	common	ioprio_get			sys_ioprio_get
+275	common	utimensat			sys_utimensat
+276	common	signalfd			sys_signalfd
+277	common	timerfd				sys_ni_syscall
+278	common	eventfd				sys_eventfd
+279	common	fallocate			sys_fallocate
+280	common	timerfd_create			sys_timerfd_create
+281	common	timerfd_gettime			sys_timerfd_gettime
+282	common	timerfd_settime			sys_timerfd_settime
+283	common	signalfd4			sys_signalfd4
+284	common	eventfd2			sys_eventfd2
+285	common	epoll_create1			sys_epoll_create1
+286	common	dup3				sys_dup3
+287	common	pipe2				sys_pipe2
+288	common	inotify_init1			sys_inotify_init1
+289	common	preadv				sys_preadv
+290	common	pwritev				sys_pwritev
+291	common	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo
+292	common	perf_event_open			sys_perf_event_open
+293	common	accept4				sys_accept4
+294	common	recvmmsg			sys_recvmmsg
+295	common	fanotify_init			sys_fanotify_init
+296	common	fanotify_mark			sys_fanotify_mark
+297	common	prlimit64			sys_prlimit64
+298	common	name_to_handle_at		sys_name_to_handle_at
+299	common	open_by_handle_at		sys_open_by_handle_at
+300	common	clock_adjtime			sys_clock_adjtime
+301	common	syncfs				sys_syncfs
+302	common	sendmmsg			sys_sendmmsg
+303	common	setns				sys_setns
+304	common	process_vm_readv		sys_process_vm_readv
+305	common	process_vm_writev		sys_process_vm_writev
+306	common	kcmp				sys_kcmp
+307	common	finit_module			sys_finit_module
+308	common	getdents64			sys_getdents64
+309	common	sched_setattr			sys_sched_setattr
+310	common	sched_getattr			sys_sched_getattr
+311	common	renameat2			sys_renameat2
+312	common	seccomp				sys_seccomp
+313	common	getrandom			sys_getrandom
+314	common	memfd_create			sys_memfd_create
+315	common	bpf				sys_bpf
+316	common	execveat			sys_execveat
+317	common	userfaultfd			sys_userfaultfd
+318	common	membarrier			sys_membarrier
+319	common	mlock2				sys_mlock2
+320	common	copy_file_range			sys_copy_file_range
+321	common	preadv2				sys_preadv2
+322	common	pwritev2			sys_pwritev2
+323	common	pkey_mprotect			sys_pkey_mprotect
+324	common	pkey_alloc			sys_pkey_alloc
+325	common	pkey_free			sys_pkey_free
+326	common	statx				sys_statx
+327	common	rseq				sys_rseq
+328	common	io_pgetevents			sys_io_pgetevents
 # 329 through 423 are reserved to sync up with other architectures
-424	n64	pidfd_send_signal		sys_pidfd_send_signal
-425	n64	io_uring_setup			sys_io_uring_setup
-426	n64	io_uring_enter			sys_io_uring_enter
-427	n64	io_uring_register		sys_io_uring_register
-428	n64	open_tree			sys_open_tree
-429	n64	move_mount			sys_move_mount
-430	n64	fsopen				sys_fsopen
-431	n64	fsconfig			sys_fsconfig
-432	n64	fsmount				sys_fsmount
-433	n64	fspick				sys_fspick
-434	n64	pidfd_open			sys_pidfd_open
-435	n64	clone3				__sys_clone3
-436	n64	close_range			sys_close_range
-437	n64	openat2				sys_openat2
-438	n64	pidfd_getfd			sys_pidfd_getfd
-439	n64	faccessat2			sys_faccessat2
-440	n64	process_madvise			sys_process_madvise
-441	n64	epoll_pwait2			sys_epoll_pwait2
-442	n64	mount_setattr			sys_mount_setattr
-443	n64	quotactl_fd			sys_quotactl_fd
-444	n64	landlock_create_ruleset		sys_landlock_create_ruleset
-445	n64	landlock_add_rule		sys_landlock_add_rule
-446	n64	landlock_restrict_self		sys_landlock_restrict_self
+424	common	pidfd_send_signal		sys_pidfd_send_signal
+425	common	io_uring_setup			sys_io_uring_setup
+426	common	io_uring_enter			sys_io_uring_enter
+427	common	io_uring_register		sys_io_uring_register
+428	common	open_tree			sys_open_tree
+429	common	move_mount			sys_move_mount
+430	common	fsopen				sys_fsopen
+431	common	fsconfig			sys_fsconfig
+432	common	fsmount				sys_fsmount
+433	common	fspick				sys_fspick
+434	common	pidfd_open			sys_pidfd_open
+435	common	clone3				__sys_clone3
+436	common	close_range			sys_close_range
+437	common	openat2				sys_openat2
+438	common	pidfd_getfd			sys_pidfd_getfd
+439	common	faccessat2			sys_faccessat2
+440	common	process_madvise			sys_process_madvise
+441	common	epoll_pwait2			sys_epoll_pwait2
+442	common	mount_setattr			sys_mount_setattr
+443	common	quotactl_fd			sys_quotactl_fd
+444	common	landlock_create_ruleset		sys_landlock_create_ruleset
+445	common	landlock_add_rule		sys_landlock_add_rule
+446	common	landlock_restrict_self		sys_landlock_restrict_self
 # 447 reserved for memfd_secret
-448	n64	process_mrelease		sys_process_mrelease
-449	n64	futex_waitv			sys_futex_waitv
+448	common	process_mrelease		sys_process_mrelease
+449	common	futex_waitv			sys_futex_waitv
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	n64	cachestat			sys_cachestat
-452	n64	fchmodat2			sys_fchmodat2
-453	n64	map_shadow_stack		sys_map_shadow_stack
-454	n64	futex_wake			sys_futex_wake
-455	n64	futex_wait			sys_futex_wait
-456	n64	futex_requeue			sys_futex_requeue
-457	n64	statmount			sys_statmount
-458	n64	listmount			sys_listmount
-459	n64	lsm_get_self_attr		sys_lsm_get_self_attr
-460	n64	lsm_set_self_attr		sys_lsm_set_self_attr
-461	n64	lsm_list_modules		sys_lsm_list_modules
-462	n64	mseal				sys_mseal
-463	n64	setxattrat			sys_setxattrat
-464	n64	getxattrat			sys_getxattrat
-465	n64	listxattrat			sys_listxattrat
-466	n64	removexattrat			sys_removexattrat
-467	n64	open_tree_attr			sys_open_tree_attr
-468	n64	file_getattr			sys_file_getattr
-469	n64	file_setattr			sys_file_setattr
-470	n64	listns				sys_listns
-471	n64	rseq_slice_yield		sys_rseq_slice_yield
+451	common	cachestat			sys_cachestat
+452	common	fchmodat2			sys_fchmodat2
+453	common	map_shadow_stack		sys_map_shadow_stack
+454	common	futex_wake			sys_futex_wake
+455	common	futex_wait			sys_futex_wait
+456	common	futex_requeue			sys_futex_requeue
+457	common	statmount			sys_statmount
+458	common	listmount			sys_listmount
+459	common	lsm_get_self_attr		sys_lsm_get_self_attr
+460	common	lsm_set_self_attr		sys_lsm_set_self_attr
+461	common	lsm_list_modules		sys_lsm_list_modules
+462	common	mseal				sys_mseal
+463	common	setxattrat			sys_setxattrat
+464	common	getxattrat			sys_getxattrat
+465	common	listxattrat			sys_listxattrat
+466	common	removexattrat			sys_removexattrat
+467	common	open_tree_attr			sys_open_tree_attr
+468	common	file_getattr			sys_file_getattr
+469	common	file_setattr			sys_file_setattr
+470	common	listns				sys_listns
+471	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 128653112284..89e660d50e66 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -5,457 +5,457 @@
 # The format is:
 # <number> <abi> <name> <entry point> <compat entry point>
 #
-# The <abi> is always "o32" for this file.
+# The <abi> is always "common" for this file.
 #
-0	o32	syscall				sys_syscall			sys32_syscall
-1	o32	exit				sys_exit
-2	o32	fork				__sys_fork
-3	o32	read				sys_read
-4	o32	write				sys_write
-5	o32	open				sys_open			compat_sys_open
-6	o32	close				sys_close
-7	o32	waitpid				sys_waitpid
-8	o32	creat				sys_creat
-9	o32	link				sys_link
-10	o32	unlink				sys_unlink
-11	o32	execve				sys_execve			compat_sys_execve
-12	o32	chdir				sys_chdir
-13	o32	time				sys_time32
-14	o32	mknod				sys_mknod
-15	o32	chmod				sys_chmod
-16	o32	lchown				sys_lchown
-17	o32	break				sys_ni_syscall
+0	common	syscall				sys_syscall			sys32_syscall
+1	common	exit				sys_exit
+2	common	fork				__sys_fork
+3	common	read				sys_read
+4	common	write				sys_write
+5	common	open				sys_open			compat_sys_open
+6	common	close				sys_close
+7	common	waitpid				sys_waitpid
+8	common	creat				sys_creat
+9	common	link				sys_link
+10	common	unlink				sys_unlink
+11	common	execve				sys_execve			compat_sys_execve
+12	common	chdir				sys_chdir
+13	common	time				sys_time32
+14	common	mknod				sys_mknod
+15	common	chmod				sys_chmod
+16	common	lchown				sys_lchown
+17	common	break				sys_ni_syscall
 # 18 was sys_stat
-18	o32	unused18			sys_ni_syscall
-19	o32	lseek				sys_lseek			compat_sys_lseek
-20	o32	getpid				sys_getpid
-21	o32	mount				sys_mount
-22	o32	umount				sys_oldumount
-23	o32	setuid				sys_setuid
-24	o32	getuid				sys_getuid
-25	o32	stime				sys_stime32
-26	o32	ptrace				sys_ptrace			compat_sys_ptrace
-27	o32	alarm				sys_alarm
+18	common	unused18			sys_ni_syscall
+19	common	lseek				sys_lseek			compat_sys_lseek
+20	common	getpid				sys_getpid
+21	common	mount				sys_mount
+22	common	umount				sys_oldumount
+23	common	setuid				sys_setuid
+24	common	getuid				sys_getuid
+25	common	stime				sys_stime32
+26	common	ptrace				sys_ptrace			compat_sys_ptrace
+27	common	alarm				sys_alarm
 # 28 was sys_fstat
-28	o32	unused28			sys_ni_syscall
-29	o32	pause				sys_pause
-30	o32	utime				sys_utime32
-31	o32	stty				sys_ni_syscall
-32	o32	gtty				sys_ni_syscall
-33	o32	access				sys_access
-34	o32	nice				sys_nice
-35	o32	ftime				sys_ni_syscall
-36	o32	sync				sys_sync
-37	o32	kill				sys_kill
-38	o32	rename				sys_rename
-39	o32	mkdir				sys_mkdir
-40	o32	rmdir				sys_rmdir
-41	o32	dup				sys_dup
-42	o32	pipe				sysm_pipe
-43	o32	times				sys_times			compat_sys_times
-44	o32	prof				sys_ni_syscall
-45	o32	brk				sys_brk
-46	o32	setgid				sys_setgid
-47	o32	getgid				sys_getgid
-48	o32	signal				sys_ni_syscall
-49	o32	geteuid				sys_geteuid
-50	o32	getegid				sys_getegid
-51	o32	acct				sys_acct
-52	o32	umount2				sys_umount
-53	o32	lock				sys_ni_syscall
-54	o32	ioctl				sys_ioctl			compat_sys_ioctl
-55	o32	fcntl				sys_fcntl			compat_sys_fcntl
-56	o32	mpx				sys_ni_syscall
-57	o32	setpgid				sys_setpgid
-58	o32	ulimit				sys_ni_syscall
-59	o32	unused59			sys_olduname
-60	o32	umask				sys_umask
-61	o32	chroot				sys_chroot
-62	o32	ustat				sys_ustat			compat_sys_ustat
-63	o32	dup2				sys_dup2
-64	o32	getppid				sys_getppid
-65	o32	getpgrp				sys_getpgrp
-66	o32	setsid				sys_setsid
-67	o32	sigaction			sys_sigaction			sys_32_sigaction
-68	o32	sgetmask			sys_sgetmask
-69	o32	ssetmask			sys_ssetmask
-70	o32	setreuid			sys_setreuid
-71	o32	setregid			sys_setregid
-72	o32	sigsuspend			sys_sigsuspend			sys32_sigsuspend
-73	o32	sigpending			sys_sigpending			compat_sys_sigpending
-74	o32	sethostname			sys_sethostname
-75	o32	setrlimit			sys_setrlimit			compat_sys_setrlimit
-76	o32	getrlimit			sys_getrlimit			compat_sys_getrlimit
-77	o32	getrusage			sys_getrusage			compat_sys_getrusage
-78	o32	gettimeofday			sys_gettimeofday		compat_sys_gettimeofday
-79	o32	settimeofday			sys_settimeofday		compat_sys_settimeofday
-80	o32	getgroups			sys_getgroups
-81	o32	setgroups			sys_setgroups
+28	common	unused28			sys_ni_syscall
+29	common	pause				sys_pause
+30	common	utime				sys_utime32
+31	common	stty				sys_ni_syscall
+32	common	gtty				sys_ni_syscall
+33	common	access				sys_access
+34	common	nice				sys_nice
+35	common	ftime				sys_ni_syscall
+36	common	sync				sys_sync
+37	common	kill				sys_kill
+38	common	rename				sys_rename
+39	common	mkdir				sys_mkdir
+40	common	rmdir				sys_rmdir
+41	common	dup				sys_dup
+42	common	pipe				sysm_pipe
+43	common	times				sys_times			compat_sys_times
+44	common	prof				sys_ni_syscall
+45	common	brk				sys_brk
+46	common	setgid				sys_setgid
+47	common	getgid				sys_getgid
+48	common	signal				sys_ni_syscall
+49	common	geteuid				sys_geteuid
+50	common	getegid				sys_getegid
+51	common	acct				sys_acct
+52	common	umount2				sys_umount
+53	common	lock				sys_ni_syscall
+54	common	ioctl				sys_ioctl			compat_sys_ioctl
+55	common	fcntl				sys_fcntl			compat_sys_fcntl
+56	common	mpx				sys_ni_syscall
+57	common	setpgid				sys_setpgid
+58	common	ulimit				sys_ni_syscall
+59	common	unused59			sys_olduname
+60	common	umask				sys_umask
+61	common	chroot				sys_chroot
+62	common	ustat				sys_ustat			compat_sys_ustat
+63	common	dup2				sys_dup2
+64	common	getppid				sys_getppid
+65	common	getpgrp				sys_getpgrp
+66	common	setsid				sys_setsid
+67	common	sigaction			sys_sigaction			sys_32_sigaction
+68	common	sgetmask			sys_sgetmask
+69	common	ssetmask			sys_ssetmask
+70	common	setreuid			sys_setreuid
+71	common	setregid			sys_setregid
+72	common	sigsuspend			sys_sigsuspend			sys32_sigsuspend
+73	common	sigpending			sys_sigpending			compat_sys_sigpending
+74	common	sethostname			sys_sethostname
+75	common	setrlimit			sys_setrlimit			compat_sys_setrlimit
+76	common	getrlimit			sys_getrlimit			compat_sys_getrlimit
+77	common	getrusage			sys_getrusage			compat_sys_getrusage
+78	common	gettimeofday			sys_gettimeofday		compat_sys_gettimeofday
+79	common	settimeofday			sys_settimeofday		compat_sys_settimeofday
+80	common	getgroups			sys_getgroups
+81	common	setgroups			sys_setgroups
 # 82 was old_select
-82	o32	reserved82			sys_ni_syscall
-83	o32	symlink				sys_symlink
+82	common	reserved82			sys_ni_syscall
+83	common	symlink				sys_symlink
 # 84 was sys_lstat
-84	o32	unused84			sys_ni_syscall
-85	o32	readlink			sys_readlink
-86	o32	uselib				sys_uselib
-87	o32	swapon				sys_swapon
-88	o32	reboot				sys_reboot
-89	o32	readdir				sys_old_readdir			compat_sys_old_readdir
-90	o32	mmap				sys_mips_mmap
-91	o32	munmap				sys_munmap
-92	o32	truncate			sys_truncate			compat_sys_truncate
-93	o32	ftruncate			sys_ftruncate			compat_sys_ftruncate
-94	o32	fchmod				sys_fchmod
-95	o32	fchown				sys_fchown
-96	o32	getpriority			sys_getpriority
-97	o32	setpriority			sys_setpriority
-98	o32	profil				sys_ni_syscall
-99	o32	statfs				sys_statfs			compat_sys_statfs
-100	o32	fstatfs				sys_fstatfs			compat_sys_fstatfs
-101	o32	ioperm				sys_ni_syscall
-102	o32	socketcall			sys_socketcall			compat_sys_socketcall
-103	o32	syslog				sys_syslog
-104	o32	setitimer			sys_setitimer			compat_sys_setitimer
-105	o32	getitimer			sys_getitimer			compat_sys_getitimer
-106	o32	stat				sys_newstat			compat_sys_newstat
-107	o32	lstat				sys_newlstat			compat_sys_newlstat
-108	o32	fstat				sys_newfstat			compat_sys_newfstat
-109	o32	unused109			sys_uname
-110	o32	iopl				sys_ni_syscall
-111	o32	vhangup				sys_vhangup
-112	o32	idle				sys_ni_syscall
-113	o32	vm86				sys_ni_syscall
-114	o32	wait4				sys_wait4			compat_sys_wait4
-115	o32	swapoff				sys_swapoff
-116	o32	sysinfo				sys_sysinfo			compat_sys_sysinfo
-117	o32	ipc				sys_ipc				compat_sys_ipc
-118	o32	fsync				sys_fsync
-119	o32	sigreturn			sys_sigreturn			sys32_sigreturn
-120	o32	clone				__sys_clone
-121	o32	setdomainname			sys_setdomainname
-122	o32	uname				sys_newuname
-123	o32	modify_ldt			sys_ni_syscall
-124	o32	adjtimex			sys_adjtimex_time32
-125	o32	mprotect			sys_mprotect
-126	o32	sigprocmask			sys_sigprocmask			compat_sys_sigprocmask
-127	o32	create_module			sys_ni_syscall
-128	o32	init_module			sys_init_module
-129	o32	delete_module			sys_delete_module
-130	o32	get_kernel_syms			sys_ni_syscall
-131	o32	quotactl			sys_quotactl
-132	o32	getpgid				sys_getpgid
-133	o32	fchdir				sys_fchdir
-134	o32	bdflush				sys_ni_syscall
-135	o32	sysfs				sys_sysfs
-136	o32	personality			sys_personality			sys_32_personality
-137	o32	afs_syscall			sys_ni_syscall
-138	o32	setfsuid			sys_setfsuid
-139	o32	setfsgid			sys_setfsgid
-140	o32	_llseek				sys_llseek			sys_32_llseek
-141	o32	getdents			sys_getdents			compat_sys_getdents
-142	o32	_newselect			sys_select			compat_sys_select
-143	o32	flock				sys_flock
-144	o32	msync				sys_msync
-145	o32	readv				sys_readv
-146	o32	writev				sys_writev
-147	o32	cacheflush			sys_cacheflush
-148	o32	cachectl			sys_cachectl
-149	o32	sysmips				__sys_sysmips
-150	o32	unused150			sys_ni_syscall
-151	o32	getsid				sys_getsid
-152	o32	fdatasync			sys_fdatasync
-153	o32	_sysctl				sys_ni_syscall
-154	o32	mlock				sys_mlock
-155	o32	munlock				sys_munlock
-156	o32	mlockall			sys_mlockall
-157	o32	munlockall			sys_munlockall
-158	o32	sched_setparam			sys_sched_setparam
-159	o32	sched_getparam			sys_sched_getparam
-160	o32	sched_setscheduler		sys_sched_setscheduler
-161	o32	sched_getscheduler		sys_sched_getscheduler
-162	o32	sched_yield			sys_sched_yield
-163	o32	sched_get_priority_max		sys_sched_get_priority_max
-164	o32	sched_get_priority_min		sys_sched_get_priority_min
-165	o32	sched_rr_get_interval		sys_sched_rr_get_interval_time32
-166	o32	nanosleep			sys_nanosleep_time32
-167	o32	mremap				sys_mremap
-168	o32	accept				sys_accept
-169	o32	bind				sys_bind
-170	o32	connect				sys_connect
-171	o32	getpeername			sys_getpeername
-172	o32	getsockname			sys_getsockname
-173	o32	getsockopt			sys_getsockopt			sys_getsockopt
-174	o32	listen				sys_listen
-175	o32	recv				sys_recv			compat_sys_recv
-176	o32	recvfrom			sys_recvfrom			compat_sys_recvfrom
-177	o32	recvmsg				sys_recvmsg			compat_sys_recvmsg
-178	o32	send				sys_send
-179	o32	sendmsg				sys_sendmsg			compat_sys_sendmsg
-180	o32	sendto				sys_sendto
-181	o32	setsockopt			sys_setsockopt			sys_setsockopt
-182	o32	shutdown			sys_shutdown
-183	o32	socket				sys_socket
-184	o32	socketpair			sys_socketpair
-185	o32	setresuid			sys_setresuid
-186	o32	getresuid			sys_getresuid
-187	o32	query_module			sys_ni_syscall
-188	o32	poll				sys_poll
-189	o32	nfsservctl			sys_ni_syscall
-190	o32	setresgid			sys_setresgid
-191	o32	getresgid			sys_getresgid
-192	o32	prctl				sys_prctl
-193	o32	rt_sigreturn			sys_rt_sigreturn		sys32_rt_sigreturn
-194	o32	rt_sigaction			sys_rt_sigaction		compat_sys_rt_sigaction
-195	o32	rt_sigprocmask			sys_rt_sigprocmask		compat_sys_rt_sigprocmask
-196	o32	rt_sigpending			sys_rt_sigpending		compat_sys_rt_sigpending
-197	o32	rt_sigtimedwait			sys_rt_sigtimedwait_time32	compat_sys_rt_sigtimedwait_time32
-198	o32	rt_sigqueueinfo			sys_rt_sigqueueinfo		compat_sys_rt_sigqueueinfo
-199	o32	rt_sigsuspend			sys_rt_sigsuspend		compat_sys_rt_sigsuspend
-200	o32	pread64				sys_pread64			sys_32_pread
-201	o32	pwrite64			sys_pwrite64			sys_32_pwrite
-202	o32	chown				sys_chown
-203	o32	getcwd				sys_getcwd
-204	o32	capget				sys_capget
-205	o32	capset				sys_capset
-206	o32	sigaltstack			sys_sigaltstack			compat_sys_sigaltstack
-207	o32	sendfile			sys_sendfile			compat_sys_sendfile
-208	o32	getpmsg				sys_ni_syscall
-209	o32	putpmsg				sys_ni_syscall
-210	o32	mmap2				sys_mips_mmap2
-211	o32	truncate64			sys_truncate64			sys_32_truncate64
-212	o32	ftruncate64			sys_ftruncate64			sys_32_ftruncate64
-213	o32	stat64				sys_stat64			sys_newstat
-214	o32	lstat64				sys_lstat64			sys_newlstat
-215	o32	fstat64				sys_fstat64			sys_newfstat
-216	o32	pivot_root			sys_pivot_root
-217	o32	mincore				sys_mincore
-218	o32	madvise				sys_madvise
-219	o32	getdents64			sys_getdents64
-220	o32	fcntl64				sys_fcntl64			compat_sys_fcntl64
-221	o32	reserved221			sys_ni_syscall
-222	o32	gettid				sys_gettid
-223	o32	readahead			sys_readahead			sys32_readahead
-224	o32	setxattr			sys_setxattr
-225	o32	lsetxattr			sys_lsetxattr
-226	o32	fsetxattr			sys_fsetxattr
-227	o32	getxattr			sys_getxattr
-228	o32	lgetxattr			sys_lgetxattr
-229	o32	fgetxattr			sys_fgetxattr
-230	o32	listxattr			sys_listxattr
-231	o32	llistxattr			sys_llistxattr
-232	o32	flistxattr			sys_flistxattr
-233	o32	removexattr			sys_removexattr
-234	o32	lremovexattr			sys_lremovexattr
-235	o32	fremovexattr			sys_fremovexattr
-236	o32	tkill				sys_tkill
-237	o32	sendfile64			sys_sendfile64
-238	o32	futex				sys_futex_time32
-239	o32	sched_setaffinity		sys_sched_setaffinity		compat_sys_sched_setaffinity
-240	o32	sched_getaffinity		sys_sched_getaffinity		compat_sys_sched_getaffinity
-241	o32	io_setup			sys_io_setup			compat_sys_io_setup
-242	o32	io_destroy			sys_io_destroy
-243	o32	io_getevents			sys_io_getevents_time32
-244	o32	io_submit			sys_io_submit			compat_sys_io_submit
-245	o32	io_cancel			sys_io_cancel
-246	o32	exit_group			sys_exit_group
-247	o32	lookup_dcookie			sys_ni_syscall
-248	o32	epoll_create			sys_epoll_create
-249	o32	epoll_ctl			sys_epoll_ctl
-250	o32	epoll_wait			sys_epoll_wait
-251	o32	remap_file_pages		sys_remap_file_pages
-252	o32	set_tid_address			sys_set_tid_address
-253	o32	restart_syscall			sys_restart_syscall
-254	o32	fadvise64			sys_fadvise64_64		sys32_fadvise64_64
-255	o32	statfs64			sys_statfs64			compat_sys_statfs64
-256	o32	fstatfs64			sys_fstatfs64			compat_sys_fstatfs64
-257	o32	timer_create			sys_timer_create		compat_sys_timer_create
-258	o32	timer_settime			sys_timer_settime32
-259	o32	timer_gettime			sys_timer_gettime32
-260	o32	timer_getoverrun		sys_timer_getoverrun
-261	o32	timer_delete			sys_timer_delete
-262	o32	clock_settime			sys_clock_settime32
-263	o32	clock_gettime			sys_clock_gettime32
-264	o32	clock_getres			sys_clock_getres_time32
-265	o32	clock_nanosleep			sys_clock_nanosleep_time32
-266	o32	tgkill				sys_tgkill
-267	o32	utimes				sys_utimes_time32
-268	o32	mbind				sys_mbind
-269	o32	get_mempolicy			sys_get_mempolicy
-270	o32	set_mempolicy			sys_set_mempolicy
-271	o32	mq_open				sys_mq_open			compat_sys_mq_open
-272	o32	mq_unlink			sys_mq_unlink
-273	o32	mq_timedsend			sys_mq_timedsend_time32
-274	o32	mq_timedreceive			sys_mq_timedreceive_time32
-275	o32	mq_notify			sys_mq_notify			compat_sys_mq_notify
-276	o32	mq_getsetattr			sys_mq_getsetattr		compat_sys_mq_getsetattr
-277	o32	vserver				sys_ni_syscall
-278	o32	waitid				sys_waitid			compat_sys_waitid
+84	common	unused84			sys_ni_syscall
+85	common	readlink			sys_readlink
+86	common	uselib				sys_uselib
+87	common	swapon				sys_swapon
+88	common	reboot				sys_reboot
+89	common	readdir				sys_old_readdir			compat_sys_old_readdir
+90	common	mmap				sys_mips_mmap
+91	common	munmap				sys_munmap
+92	common	truncate			sys_truncate			compat_sys_truncate
+93	common	ftruncate			sys_ftruncate			compat_sys_ftruncate
+94	common	fchmod				sys_fchmod
+95	common	fchown				sys_fchown
+96	common	getpriority			sys_getpriority
+97	common	setpriority			sys_setpriority
+98	common	profil				sys_ni_syscall
+99	common	statfs				sys_statfs			compat_sys_statfs
+100	common	fstatfs				sys_fstatfs			compat_sys_fstatfs
+101	common	ioperm				sys_ni_syscall
+102	common	socketcall			sys_socketcall			compat_sys_socketcall
+103	common	syslog				sys_syslog
+104	common	setitimer			sys_setitimer			compat_sys_setitimer
+105	common	getitimer			sys_getitimer			compat_sys_getitimer
+106	common	stat				sys_newstat			compat_sys_newstat
+107	common	lstat				sys_newlstat			compat_sys_newlstat
+108	common	fstat				sys_newfstat			compat_sys_newfstat
+109	common	unused109			sys_uname
+110	common	iopl				sys_ni_syscall
+111	common	vhangup				sys_vhangup
+112	common	idle				sys_ni_syscall
+113	common	vm86				sys_ni_syscall
+114	common	wait4				sys_wait4			compat_sys_wait4
+115	common	swapoff				sys_swapoff
+116	common	sysinfo				sys_sysinfo			compat_sys_sysinfo
+117	common	ipc				sys_ipc				compat_sys_ipc
+118	common	fsync				sys_fsync
+119	common	sigreturn			sys_sigreturn			sys32_sigreturn
+120	common	clone				__sys_clone
+121	common	setdomainname			sys_setdomainname
+122	common	uname				sys_newuname
+123	common	modify_ldt			sys_ni_syscall
+124	common	adjtimex			sys_adjtimex_time32
+125	common	mprotect			sys_mprotect
+126	common	sigprocmask			sys_sigprocmask			compat_sys_sigprocmask
+127	common	create_module			sys_ni_syscall
+128	common	init_module			sys_init_module
+129	common	delete_module			sys_delete_module
+130	common	get_kernel_syms			sys_ni_syscall
+131	common	quotactl			sys_quotactl
+132	common	getpgid				sys_getpgid
+133	common	fchdir				sys_fchdir
+134	common	bdflush				sys_ni_syscall
+135	common	sysfs				sys_sysfs
+136	common	personality			sys_personality			sys_32_personality
+137	common	afs_syscall			sys_ni_syscall
+138	common	setfsuid			sys_setfsuid
+139	common	setfsgid			sys_setfsgid
+140	common	_llseek				sys_llseek			sys_32_llseek
+141	common	getdents			sys_getdents			compat_sys_getdents
+142	common	_newselect			sys_select			compat_sys_select
+143	common	flock				sys_flock
+144	common	msync				sys_msync
+145	common	readv				sys_readv
+146	common	writev				sys_writev
+147	common	cacheflush			sys_cacheflush
+148	common	cachectl			sys_cachectl
+149	common	sysmips				__sys_sysmips
+150	common	unused150			sys_ni_syscall
+151	common	getsid				sys_getsid
+152	common	fdatasync			sys_fdatasync
+153	common	_sysctl				sys_ni_syscall
+154	common	mlock				sys_mlock
+155	common	munlock				sys_munlock
+156	common	mlockall			sys_mlockall
+157	common	munlockall			sys_munlockall
+158	common	sched_setparam			sys_sched_setparam
+159	common	sched_getparam			sys_sched_getparam
+160	common	sched_setscheduler		sys_sched_setscheduler
+161	common	sched_getscheduler		sys_sched_getscheduler
+162	common	sched_yield			sys_sched_yield
+163	common	sched_get_priority_max		sys_sched_get_priority_max
+164	common	sched_get_priority_min		sys_sched_get_priority_min
+165	common	sched_rr_get_interval		sys_sched_rr_get_interval_time32
+166	common	nanosleep			sys_nanosleep_time32
+167	common	mremap				sys_mremap
+168	common	accept				sys_accept
+169	common	bind				sys_bind
+170	common	connect				sys_connect
+171	common	getpeername			sys_getpeername
+172	common	getsockname			sys_getsockname
+173	common	getsockopt			sys_getsockopt			sys_getsockopt
+174	common	listen				sys_listen
+175	common	recv				sys_recv			compat_sys_recv
+176	common	recvfrom			sys_recvfrom			compat_sys_recvfrom
+177	common	recvmsg				sys_recvmsg			compat_sys_recvmsg
+178	common	send				sys_send
+179	common	sendmsg				sys_sendmsg			compat_sys_sendmsg
+180	common	sendto				sys_sendto
+181	common	setsockopt			sys_setsockopt			sys_setsockopt
+182	common	shutdown			sys_shutdown
+183	common	socket				sys_socket
+184	common	socketpair			sys_socketpair
+185	common	setresuid			sys_setresuid
+186	common	getresuid			sys_getresuid
+187	common	query_module			sys_ni_syscall
+188	common	poll				sys_poll
+189	common	nfsservctl			sys_ni_syscall
+190	common	setresgid			sys_setresgid
+191	common	getresgid			sys_getresgid
+192	common	prctl				sys_prctl
+193	common	rt_sigreturn			sys_rt_sigreturn		sys32_rt_sigreturn
+194	common	rt_sigaction			sys_rt_sigaction		compat_sys_rt_sigaction
+195	common	rt_sigprocmask			sys_rt_sigprocmask		compat_sys_rt_sigprocmask
+196	common	rt_sigpending			sys_rt_sigpending		compat_sys_rt_sigpending
+197	common	rt_sigtimedwait			sys_rt_sigtimedwait_time32	compat_sys_rt_sigtimedwait_time32
+198	common	rt_sigqueueinfo			sys_rt_sigqueueinfo		compat_sys_rt_sigqueueinfo
+199	common	rt_sigsuspend			sys_rt_sigsuspend		compat_sys_rt_sigsuspend
+200	common	pread64				sys_pread64			sys_32_pread
+201	common	pwrite64			sys_pwrite64			sys_32_pwrite
+202	common	chown				sys_chown
+203	common	getcwd				sys_getcwd
+204	common	capget				sys_capget
+205	common	capset				sys_capset
+206	common	sigaltstack			sys_sigaltstack			compat_sys_sigaltstack
+207	common	sendfile			sys_sendfile			compat_sys_sendfile
+208	common	getpmsg				sys_ni_syscall
+209	common	putpmsg				sys_ni_syscall
+210	common	mmap2				sys_mips_mmap2
+211	common	truncate64			sys_truncate64			sys_32_truncate64
+212	common	ftruncate64			sys_ftruncate64			sys_32_ftruncate64
+213	common	stat64				sys_stat64			sys_newstat
+214	common	lstat64				sys_lstat64			sys_newlstat
+215	common	fstat64				sys_fstat64			sys_newfstat
+216	common	pivot_root			sys_pivot_root
+217	common	mincore				sys_mincore
+218	common	madvise				sys_madvise
+219	common	getdents64			sys_getdents64
+220	common	fcntl64				sys_fcntl64			compat_sys_fcntl64
+221	common	reserved221			sys_ni_syscall
+222	common	gettid				sys_gettid
+223	common	readahead			sys_readahead			sys32_readahead
+224	common	setxattr			sys_setxattr
+225	common	lsetxattr			sys_lsetxattr
+226	common	fsetxattr			sys_fsetxattr
+227	common	getxattr			sys_getxattr
+228	common	lgetxattr			sys_lgetxattr
+229	common	fgetxattr			sys_fgetxattr
+230	common	listxattr			sys_listxattr
+231	common	llistxattr			sys_llistxattr
+232	common	flistxattr			sys_flistxattr
+233	common	removexattr			sys_removexattr
+234	common	lremovexattr			sys_lremovexattr
+235	common	fremovexattr			sys_fremovexattr
+236	common	tkill				sys_tkill
+237	common	sendfile64			sys_sendfile64
+238	common	futex				sys_futex_time32
+239	common	sched_setaffinity		sys_sched_setaffinity		compat_sys_sched_setaffinity
+240	common	sched_getaffinity		sys_sched_getaffinity		compat_sys_sched_getaffinity
+241	common	io_setup			sys_io_setup			compat_sys_io_setup
+242	common	io_destroy			sys_io_destroy
+243	common	io_getevents			sys_io_getevents_time32
+244	common	io_submit			sys_io_submit			compat_sys_io_submit
+245	common	io_cancel			sys_io_cancel
+246	common	exit_group			sys_exit_group
+247	common	lookup_dcookie			sys_ni_syscall
+248	common	epoll_create			sys_epoll_create
+249	common	epoll_ctl			sys_epoll_ctl
+250	common	epoll_wait			sys_epoll_wait
+251	common	remap_file_pages		sys_remap_file_pages
+252	common	set_tid_address			sys_set_tid_address
+253	common	restart_syscall			sys_restart_syscall
+254	common	fadvise64			sys_fadvise64_64		sys32_fadvise64_64
+255	common	statfs64			sys_statfs64			compat_sys_statfs64
+256	common	fstatfs64			sys_fstatfs64			compat_sys_fstatfs64
+257	common	timer_create			sys_timer_create		compat_sys_timer_create
+258	common	timer_settime			sys_timer_settime32
+259	common	timer_gettime			sys_timer_gettime32
+260	common	timer_getoverrun		sys_timer_getoverrun
+261	common	timer_delete			sys_timer_delete
+262	common	clock_settime			sys_clock_settime32
+263	common	clock_gettime			sys_clock_gettime32
+264	common	clock_getres			sys_clock_getres_time32
+265	common	clock_nanosleep			sys_clock_nanosleep_time32
+266	common	tgkill				sys_tgkill
+267	common	utimes				sys_utimes_time32
+268	common	mbind				sys_mbind
+269	common	get_mempolicy			sys_get_mempolicy
+270	common	set_mempolicy			sys_set_mempolicy
+271	common	mq_open				sys_mq_open			compat_sys_mq_open
+272	common	mq_unlink			sys_mq_unlink
+273	common	mq_timedsend			sys_mq_timedsend_time32
+274	common	mq_timedreceive			sys_mq_timedreceive_time32
+275	common	mq_notify			sys_mq_notify			compat_sys_mq_notify
+276	common	mq_getsetattr			sys_mq_getsetattr		compat_sys_mq_getsetattr
+277	common	vserver				sys_ni_syscall
+278	common	waitid				sys_waitid			compat_sys_waitid
 # 279 was sys_setaltroot
-280	o32	add_key				sys_add_key
-281	o32	request_key			sys_request_key
-282	o32	keyctl				sys_keyctl			compat_sys_keyctl
-283	o32	set_thread_area			sys_set_thread_area
-284	o32	inotify_init			sys_inotify_init
-285	o32	inotify_add_watch		sys_inotify_add_watch
-286	o32	inotify_rm_watch		sys_inotify_rm_watch
-287	o32	migrate_pages			sys_migrate_pages
-288	o32	openat				sys_openat			compat_sys_openat
-289	o32	mkdirat				sys_mkdirat
-290	o32	mknodat				sys_mknodat
-291	o32	fchownat			sys_fchownat
-292	o32	futimesat			sys_futimesat_time32
-293	o32	fstatat64			sys_fstatat64			sys_newfstatat
-294	o32	unlinkat			sys_unlinkat
-295	o32	renameat			sys_renameat
-296	o32	linkat				sys_linkat
-297	o32	symlinkat			sys_symlinkat
-298	o32	readlinkat			sys_readlinkat
-299	o32	fchmodat			sys_fchmodat
-300	o32	faccessat			sys_faccessat
-301	o32	pselect6			sys_pselect6_time32		compat_sys_pselect6_time32
-302	o32	ppoll				sys_ppoll_time32		compat_sys_ppoll_time32
-303	o32	unshare				sys_unshare
-304	o32	splice				sys_splice
-305	o32	sync_file_range			sys_sync_file_range		sys32_sync_file_range
-306	o32	tee				sys_tee
-307	o32	vmsplice			sys_vmsplice
-308	o32	move_pages			sys_move_pages
-309	o32	set_robust_list			sys_set_robust_list		compat_sys_set_robust_list
-310	o32	get_robust_list			sys_get_robust_list		compat_sys_get_robust_list
-311	o32	kexec_load			sys_kexec_load			compat_sys_kexec_load
-312	o32	getcpu				sys_getcpu
-313	o32	epoll_pwait			sys_epoll_pwait			compat_sys_epoll_pwait
-314	o32	ioprio_set			sys_ioprio_set
-315	o32	ioprio_get			sys_ioprio_get
-316	o32	utimensat			sys_utimensat_time32
-317	o32	signalfd			sys_signalfd			compat_sys_signalfd
-318	o32	timerfd				sys_ni_syscall
-319	o32	eventfd				sys_eventfd
-320	o32	fallocate			sys_fallocate			sys32_fallocate
-321	o32	timerfd_create			sys_timerfd_create
-322	o32	timerfd_gettime			sys_timerfd_gettime32
-323	o32	timerfd_settime			sys_timerfd_settime32
-324	o32	signalfd4			sys_signalfd4			compat_sys_signalfd4
-325	o32	eventfd2			sys_eventfd2
-326	o32	epoll_create1			sys_epoll_create1
-327	o32	dup3				sys_dup3
-328	o32	pipe2				sys_pipe2
-329	o32	inotify_init1			sys_inotify_init1
-330	o32	preadv				sys_preadv			compat_sys_preadv
-331	o32	pwritev				sys_pwritev			compat_sys_pwritev
-332	o32	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo		compat_sys_rt_tgsigqueueinfo
-333	o32	perf_event_open			sys_perf_event_open
-334	o32	accept4				sys_accept4
-335	o32	recvmmsg			sys_recvmmsg_time32		compat_sys_recvmmsg_time32
-336	o32	fanotify_init			sys_fanotify_init
-337	o32	fanotify_mark			sys_fanotify_mark		compat_sys_fanotify_mark
-338	o32	prlimit64			sys_prlimit64
-339	o32	name_to_handle_at		sys_name_to_handle_at
-340	o32	open_by_handle_at		sys_open_by_handle_at		compat_sys_open_by_handle_at
-341	o32	clock_adjtime			sys_clock_adjtime32
-342	o32	syncfs				sys_syncfs
-343	o32	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg
-344	o32	setns				sys_setns
-345	o32	process_vm_readv		sys_process_vm_readv
-346	o32	process_vm_writev		sys_process_vm_writev
-347	o32	kcmp				sys_kcmp
-348	o32	finit_module			sys_finit_module
-349	o32	sched_setattr			sys_sched_setattr
-350	o32	sched_getattr			sys_sched_getattr
-351	o32	renameat2			sys_renameat2
-352	o32	seccomp				sys_seccomp
-353	o32	getrandom			sys_getrandom
-354	o32	memfd_create			sys_memfd_create
-355	o32	bpf				sys_bpf
-356	o32	execveat			sys_execveat			compat_sys_execveat
-357	o32	userfaultfd			sys_userfaultfd
-358	o32	membarrier			sys_membarrier
-359	o32	mlock2				sys_mlock2
-360	o32	copy_file_range			sys_copy_file_range
-361	o32	preadv2				sys_preadv2			compat_sys_preadv2
-362	o32	pwritev2			sys_pwritev2			compat_sys_pwritev2
-363	o32	pkey_mprotect			sys_pkey_mprotect
-364	o32	pkey_alloc			sys_pkey_alloc
-365	o32	pkey_free			sys_pkey_free
-366	o32	statx				sys_statx
-367	o32	rseq				sys_rseq
-368	o32	io_pgetevents			sys_io_pgetevents_time32	compat_sys_io_pgetevents
+280	common	add_key				sys_add_key
+281	common	request_key			sys_request_key
+282	common	keyctl				sys_keyctl			compat_sys_keyctl
+283	common	set_thread_area			sys_set_thread_area
+284	common	inotify_init			sys_inotify_init
+285	common	inotify_add_watch		sys_inotify_add_watch
+286	common	inotify_rm_watch		sys_inotify_rm_watch
+287	common	migrate_pages			sys_migrate_pages
+288	common	openat				sys_openat			compat_sys_openat
+289	common	mkdirat				sys_mkdirat
+290	common	mknodat				sys_mknodat
+291	common	fchownat			sys_fchownat
+292	common	futimesat			sys_futimesat_time32
+293	common	fstatat64			sys_fstatat64			sys_newfstatat
+294	common	unlinkat			sys_unlinkat
+295	common	renameat			sys_renameat
+296	common	linkat				sys_linkat
+297	common	symlinkat			sys_symlinkat
+298	common	readlinkat			sys_readlinkat
+299	common	fchmodat			sys_fchmodat
+300	common	faccessat			sys_faccessat
+301	common	pselect6			sys_pselect6_time32		compat_sys_pselect6_time32
+302	common	ppoll				sys_ppoll_time32		compat_sys_ppoll_time32
+303	common	unshare				sys_unshare
+304	common	splice				sys_splice
+305	common	sync_file_range			sys_sync_file_range		sys32_sync_file_range
+306	common	tee				sys_tee
+307	common	vmsplice			sys_vmsplice
+308	common	move_pages			sys_move_pages
+309	common	set_robust_list			sys_set_robust_list		compat_sys_set_robust_list
+310	common	get_robust_list			sys_get_robust_list		compat_sys_get_robust_list
+311	common	kexec_load			sys_kexec_load			compat_sys_kexec_load
+312	common	getcpu				sys_getcpu
+313	common	epoll_pwait			sys_epoll_pwait			compat_sys_epoll_pwait
+314	common	ioprio_set			sys_ioprio_set
+315	common	ioprio_get			sys_ioprio_get
+316	common	utimensat			sys_utimensat_time32
+317	common	signalfd			sys_signalfd			compat_sys_signalfd
+318	common	timerfd				sys_ni_syscall
+319	common	eventfd				sys_eventfd
+320	common	fallocate			sys_fallocate			sys32_fallocate
+321	common	timerfd_create			sys_timerfd_create
+322	common	timerfd_gettime			sys_timerfd_gettime32
+323	common	timerfd_settime			sys_timerfd_settime32
+324	common	signalfd4			sys_signalfd4			compat_sys_signalfd4
+325	common	eventfd2			sys_eventfd2
+326	common	epoll_create1			sys_epoll_create1
+327	common	dup3				sys_dup3
+328	common	pipe2				sys_pipe2
+329	common	inotify_init1			sys_inotify_init1
+330	common	preadv				sys_preadv			compat_sys_preadv
+331	common	pwritev				sys_pwritev			compat_sys_pwritev
+332	common	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo		compat_sys_rt_tgsigqueueinfo
+333	common	perf_event_open			sys_perf_event_open
+334	common	accept4				sys_accept4
+335	common	recvmmsg			sys_recvmmsg_time32		compat_sys_recvmmsg_time32
+336	common	fanotify_init			sys_fanotify_init
+337	common	fanotify_mark			sys_fanotify_mark		compat_sys_fanotify_mark
+338	common	prlimit64			sys_prlimit64
+339	common	name_to_handle_at		sys_name_to_handle_at
+340	common	open_by_handle_at		sys_open_by_handle_at		compat_sys_open_by_handle_at
+341	common	clock_adjtime			sys_clock_adjtime32
+342	common	syncfs				sys_syncfs
+343	common	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg
+344	common	setns				sys_setns
+345	common	process_vm_readv		sys_process_vm_readv
+346	common	process_vm_writev		sys_process_vm_writev
+347	common	kcmp				sys_kcmp
+348	common	finit_module			sys_finit_module
+349	common	sched_setattr			sys_sched_setattr
+350	common	sched_getattr			sys_sched_getattr
+351	common	renameat2			sys_renameat2
+352	common	seccomp				sys_seccomp
+353	common	getrandom			sys_getrandom
+354	common	memfd_create			sys_memfd_create
+355	common	bpf				sys_bpf
+356	common	execveat			sys_execveat			compat_sys_execveat
+357	common	userfaultfd			sys_userfaultfd
+358	common	membarrier			sys_membarrier
+359	common	mlock2				sys_mlock2
+360	common	copy_file_range			sys_copy_file_range
+361	common	preadv2				sys_preadv2			compat_sys_preadv2
+362	common	pwritev2			sys_pwritev2			compat_sys_pwritev2
+363	common	pkey_mprotect			sys_pkey_mprotect
+364	common	pkey_alloc			sys_pkey_alloc
+365	common	pkey_free			sys_pkey_free
+366	common	statx				sys_statx
+367	common	rseq				sys_rseq
+368	common	io_pgetevents			sys_io_pgetevents_time32	compat_sys_io_pgetevents
 # room for arch specific calls
-393	o32	semget				sys_semget
-394	o32	semctl				sys_semctl			compat_sys_semctl
-395	o32	shmget				sys_shmget
-396	o32	shmctl				sys_shmctl			compat_sys_shmctl
-397	o32	shmat				sys_shmat			compat_sys_shmat
-398	o32	shmdt				sys_shmdt
-399	o32	msgget				sys_msgget
-400	o32	msgsnd				sys_msgsnd			compat_sys_msgsnd
-401	o32	msgrcv				sys_msgrcv			compat_sys_msgrcv
-402	o32	msgctl				sys_msgctl			compat_sys_msgctl
-403	o32	clock_gettime64			sys_clock_gettime		sys_clock_gettime
-404	o32	clock_settime64			sys_clock_settime		sys_clock_settime
-405	o32	clock_adjtime64			sys_clock_adjtime		sys_clock_adjtime
-406	o32	clock_getres_time64		sys_clock_getres		sys_clock_getres
-407	o32	clock_nanosleep_time64		sys_clock_nanosleep		sys_clock_nanosleep
-408	o32	timer_gettime64			sys_timer_gettime		sys_timer_gettime
-409	o32	timer_settime64			sys_timer_settime		sys_timer_settime
-410	o32	timerfd_gettime64		sys_timerfd_gettime		sys_timerfd_gettime
-411	o32	timerfd_settime64		sys_timerfd_settime		sys_timerfd_settime
-412	o32	utimensat_time64		sys_utimensat			sys_utimensat
-413	o32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
-414	o32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	o32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
-417	o32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
-418	o32	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
-419	o32	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
-420	o32	semtimedop_time64		sys_semtimedop			sys_semtimedop
-421	o32	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
-422	o32	futex_time64			sys_futex			sys_futex
-423	o32	sched_rr_get_interval_time64	sys_sched_rr_get_interval	sys_sched_rr_get_interval
-424	o32	pidfd_send_signal		sys_pidfd_send_signal
-425	o32	io_uring_setup			sys_io_uring_setup
-426	o32	io_uring_enter			sys_io_uring_enter
-427	o32	io_uring_register		sys_io_uring_register
-428	o32	open_tree			sys_open_tree
-429	o32	move_mount			sys_move_mount
-430	o32	fsopen				sys_fsopen
-431	o32	fsconfig			sys_fsconfig
-432	o32	fsmount				sys_fsmount
-433	o32	fspick				sys_fspick
-434	o32	pidfd_open			sys_pidfd_open
-435	o32	clone3				__sys_clone3
-436	o32	close_range			sys_close_range
-437	o32	openat2				sys_openat2
-438	o32	pidfd_getfd			sys_pidfd_getfd
-439	o32	faccessat2			sys_faccessat2
-440	o32	process_madvise			sys_process_madvise
-441	o32	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
-442	o32	mount_setattr			sys_mount_setattr
-443	o32	quotactl_fd			sys_quotactl_fd
-444	o32	landlock_create_ruleset		sys_landlock_create_ruleset
-445	o32	landlock_add_rule		sys_landlock_add_rule
-446	o32	landlock_restrict_self		sys_landlock_restrict_self
+393	common	semget				sys_semget
+394	common	semctl				sys_semctl			compat_sys_semctl
+395	common	shmget				sys_shmget
+396	common	shmctl				sys_shmctl			compat_sys_shmctl
+397	common	shmat				sys_shmat			compat_sys_shmat
+398	common	shmdt				sys_shmdt
+399	common	msgget				sys_msgget
+400	common	msgsnd				sys_msgsnd			compat_sys_msgsnd
+401	common	msgrcv				sys_msgrcv			compat_sys_msgrcv
+402	common	msgctl				sys_msgctl			compat_sys_msgctl
+403	common	clock_gettime64			sys_clock_gettime		sys_clock_gettime
+404	common	clock_settime64			sys_clock_settime		sys_clock_settime
+405	common	clock_adjtime64			sys_clock_adjtime		sys_clock_adjtime
+406	common	clock_getres_time64		sys_clock_getres		sys_clock_getres
+407	common	clock_nanosleep_time64		sys_clock_nanosleep		sys_clock_nanosleep
+408	common	timer_gettime64			sys_timer_gettime		sys_timer_gettime
+409	common	timer_settime64			sys_timer_settime		sys_timer_settime
+410	common	timerfd_gettime64		sys_timerfd_gettime		sys_timerfd_gettime
+411	common	timerfd_settime64		sys_timerfd_settime		sys_timerfd_settime
+412	common	utimensat_time64		sys_utimensat			sys_utimensat
+413	common	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
+414	common	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
+416	common	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
+417	common	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
+418	common	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
+419	common	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
+420	common	semtimedop_time64		sys_semtimedop			sys_semtimedop
+421	common	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
+422	common	futex_time64			sys_futex			sys_futex
+423	common	sched_rr_get_interval_time64	sys_sched_rr_get_interval	sys_sched_rr_get_interval
+424	common	pidfd_send_signal		sys_pidfd_send_signal
+425	common	io_uring_setup			sys_io_uring_setup
+426	common	io_uring_enter			sys_io_uring_enter
+427	common	io_uring_register		sys_io_uring_register
+428	common	open_tree			sys_open_tree
+429	common	move_mount			sys_move_mount
+430	common	fsopen				sys_fsopen
+431	common	fsconfig			sys_fsconfig
+432	common	fsmount				sys_fsmount
+433	common	fspick				sys_fspick
+434	common	pidfd_open			sys_pidfd_open
+435	common	clone3				__sys_clone3
+436	common	close_range			sys_close_range
+437	common	openat2				sys_openat2
+438	common	pidfd_getfd			sys_pidfd_getfd
+439	common	faccessat2			sys_faccessat2
+440	common	process_madvise			sys_process_madvise
+441	common	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
+442	common	mount_setattr			sys_mount_setattr
+443	common	quotactl_fd			sys_quotactl_fd
+444	common	landlock_create_ruleset		sys_landlock_create_ruleset
+445	common	landlock_add_rule		sys_landlock_add_rule
+446	common	landlock_restrict_self		sys_landlock_restrict_self
 # 447 reserved for memfd_secret
-448	o32	process_mrelease		sys_process_mrelease
-449	o32	futex_waitv			sys_futex_waitv
-450	o32	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	o32	cachestat			sys_cachestat
-452	o32	fchmodat2			sys_fchmodat2
-453	o32	map_shadow_stack		sys_map_shadow_stack
-454	o32	futex_wake			sys_futex_wake
-455	o32	futex_wait			sys_futex_wait
-456	o32	futex_requeue			sys_futex_requeue
-457	o32	statmount			sys_statmount
-458	o32	listmount			sys_listmount
-459	o32	lsm_get_self_attr		sys_lsm_get_self_attr
-460	o32	lsm_set_self_attr		sys_lsm_set_self_attr
-461	o32	lsm_list_modules		sys_lsm_list_modules
-462	o32	mseal				sys_mseal
-463	o32	setxattrat			sys_setxattrat
-464	o32	getxattrat			sys_getxattrat
-465	o32	listxattrat			sys_listxattrat
-466	o32	removexattrat			sys_removexattrat
-467	o32	open_tree_attr			sys_open_tree_attr
-468	o32	file_getattr			sys_file_getattr
-469	o32	file_setattr			sys_file_setattr
-470	o32	listns				sys_listns
-471	o32	rseq_slice_yield		sys_rseq_slice_yield
+448	common	process_mrelease		sys_process_mrelease
+449	common	futex_waitv			sys_futex_waitv
+450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
+451	common	cachestat			sys_cachestat
+452	common	fchmodat2			sys_fchmodat2
+453	common	map_shadow_stack		sys_map_shadow_stack
+454	common	futex_wake			sys_futex_wake
+455	common	futex_wait			sys_futex_wait
+456	common	futex_requeue			sys_futex_requeue
+457	common	statmount			sys_statmount
+458	common	listmount			sys_listmount
+459	common	lsm_get_self_attr		sys_lsm_get_self_attr
+460	common	lsm_set_self_attr		sys_lsm_set_self_attr
+461	common	lsm_list_modules		sys_lsm_list_modules
+462	common	mseal				sys_mseal
+463	common	setxattrat			sys_setxattrat
+464	common	getxattrat			sys_getxattrat
+465	common	listxattrat			sys_listxattrat
+466	common	removexattrat			sys_removexattrat
+467	common	open_tree_attr			sys_open_tree_attr
+468	common	file_getattr			sys_file_getattr
+469	common	file_setattr			sys_file_setattr
+470	common	listns				sys_listns
+471	common	rseq_slice_yield		sys_rseq_slice_yield

-- 
2.55.0


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

* [PATCH v5 09/13] mips: Use the common syscall table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (7 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:53   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 10/13] syscalls: Add an option for offsetting the common table André Almeida
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Syscall numbers from 403 are shared with all architectures, so move the
toolchain to use the common syscall table and remove duplicated code.

To help with that, merge n32 and n64 syscall tables in a single one, taking
advantage of the shared numbers.

The generated files are not exactly the same as before, but they have no
functional changes:

 - For O32 ABI, the syscall table would have entries like
 __SYSCALL_WITH_COMPAT(403, sys_clock_gettime, sys_clock_gettime)
 which is equivalent to the new entry __SYSCALL(403, sys_clock_gettime)

 - For N32 ABI, the syscall table would have entries like
 __SYSCALL(413, compat_sys_pselect6_time64), which is equivalent to
 __SYSCALL_WITH_COMPAT(413, sys_pselect6, compat_sys_pselect6_time64)
 given the new __SYSCALL_WITH_COMPAT() definition for N32.

 - The above applies for N64 ABI as well.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/mips/kernel/scall64-n32.S            |   1 +
 arch/mips/kernel/scall64-n64.S            |   2 +
 arch/mips/kernel/syscalls/Makefile        |  23 +-
 arch/mips/kernel/syscalls/syscall_n.tbl   | 464 ++++++++++++++++++++++++++++++
 arch/mips/kernel/syscalls/syscall_n32.tbl | 412 --------------------------
 arch/mips/kernel/syscalls/syscall_n64.tbl | 388 -------------------------
 arch/mips/kernel/syscalls/syscall_o32.tbl |  68 -----
 7 files changed, 486 insertions(+), 872 deletions(-)

diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index 97788859238c..b35541f0cff9 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -102,6 +102,7 @@ not_n32_scall:
 
 	END(handle_sysn32)
 
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, compat)
 #define __SYSCALL(nr, entry)	PTR_WD entry
 	.type	sysn32_call_table, @object
 EXPORT(sysn32_call_table)
diff --git a/arch/mips/kernel/scall64-n64.S b/arch/mips/kernel/scall64-n64.S
index be11ea5cc67e..2d5fca6085ff 100644
--- a/arch/mips/kernel/scall64-n64.S
+++ b/arch/mips/kernel/scall64-n64.S
@@ -109,6 +109,8 @@ illegal_syscall:
 	j	n64_syscall_exit
 	END(handle_sys64)
 
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)        __SYSCALL(nr, native)
+
 #define __SYSCALL(nr, entry)	PTR_WD entry
 	.align	3
 	.type	sys_call_table, @object
diff --git a/arch/mips/kernel/syscalls/Makefile b/arch/mips/kernel/syscalls/Makefile
index 1bfc2346d100..f6a41ee9e38a 100644
--- a/arch/mips/kernel/syscalls/Makefile
+++ b/arch/mips/kernel/syscalls/Makefile
@@ -7,16 +7,21 @@ $(shell mkdir -p $(uapi) $(kapi))
 syshdr := $(srctree)/scripts/syscallhdr.sh
 sysnr := $(srctree)/scripts/syscallnr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
+systbl_common := $(srctree)/scripts/syscall_common.tbl
 
 quiet_cmd_syshdr = SYSHDR  $@
-      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux $< $@
+      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux \
+		   --common-tbl $(systbl_common) \
+		   --abis $(abis_$*) $< $@
 
 quiet_cmd_sysnr = SYSNR   $@
       cmd_sysnr = $(CONFIG_SHELL) $(sysnr) \
 		  --prefix $(sysnr_pfx_$(basetarget))_Linux_ $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) \
+		   --common-tbl $(systbl_common) \
+		   --abis $(abis_$*) $(src_$*) $@
 
 $(uapi)/unistd_%.h: $(src)/syscall_%.tbl $(syshdr) FORCE
 	$(call if_changed,syshdr)
@@ -25,10 +30,20 @@ sysnr_pfx_unistd_nr_n32 := N32
 sysnr_pfx_unistd_nr_n64 := 64
 sysnr_pfx_unistd_nr_o32 := O32
 
-$(kapi)/unistd_nr_%.h: $(src)/syscall_%.tbl $(sysnr) FORCE
+abis := common,__clone3
+
+abis_n32 := $(abis),32
+abis_o32 := $(abis),32
+abis_n64 := $(abis),64
+
+src_n32 := $(src)/syscall_n.tbl
+src_n64 := $(src)/syscall_n.tbl
+src_o32 := $(src)/syscall_o32.tbl
+
+$(kapi)/unistd_nr_%.h: $(systbl_common) $(sysnr) FORCE
 	$(call if_changed,sysnr)
 
-$(kapi)/syscall_table_%.h: $(src)/syscall_%.tbl $(systbl) FORCE
+$(kapi)/syscall_table_%.h: $(systbl) FORCE
 	$(call if_changed,systbl)
 
 uapisyshdr-y		+= unistd_n32.h			\
diff --git a/arch/mips/kernel/syscalls/syscall_n.tbl b/arch/mips/kernel/syscalls/syscall_n.tbl
new file mode 100644
index 000000000000..e3d278f715b7
--- /dev/null
+++ b/arch/mips/kernel/syscalls/syscall_n.tbl
@@ -0,0 +1,464 @@
+# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+#
+# system call numbers and entry vectors for mips for common and n64.
+#
+# The format is:
+# <number> <abi> <name> <entry point> <compat entry point>
+#
+# The <abi> is "32", "64" or "common" for this file.
+#
+0	common 	read				sys_read
+1	common 	write				sys_write
+2	common 	open				sys_open
+3	common 	close				sys_close
+4	common 	stat				sys_newstat
+5	common 	fstat				sys_newfstat
+6	common 	lstat				sys_newlstat
+7	common 	poll				sys_poll
+8	common 	lseek				sys_lseek
+9	common 	mmap				sys_mips_mmap
+10	common 	mprotect			sys_mprotect
+11	common 	munmap				sys_munmap
+12	common 	brk				sys_brk
+13	common	rt_sigaction			sys_rt_sigaction	compat_sys_rt_sigaction
+14	common	rt_sigprocmask			sys_rt_sigprocmask	compat_sys_rt_sigprocmask
+15	common	ioctl				sys_ioctl		compat_sys_ioctl
+16	common	pread64				sys_pread64
+17	common	pwrite64			sys_pwrite64
+18	common	readv				sys_readv
+19	common	writev				sys_writev
+20	common	access				sys_access
+21	common	pipe				sysm_pipe
+22	common	_newselect			sys_select		compat_sys_select
+23	common	sched_yield			sys_sched_yield
+24	common	mremap				sys_mremap
+25	common	msync				sys_msync
+26	common	mincore				sys_mincore
+27	common	madvise				sys_madvise
+28	common	shmget				sys_shmget
+29	common	shmat				sys_shmat
+30	common	shmctl				sys_old_shmctl		compat_sys_old_shmctl
+31	common	dup				sys_dup
+32	common	dup2				sys_dup2
+33	common	pause				sys_pause
+34	common	nanosleep			sys_nanosleep		sys_nanosleep_time32
+35	common	getitimer			sys_getitimer		compat_sys_getitimer
+36	common	setitimer			sys_setitimer		compat_setitimer
+37	common	alarm				sys_alarm
+38	common	getpid				sys_getpid
+39	common	sendfile			sys_sendfile64		compat_sys_sendfile
+40	common	socket				sys_socket
+41	common	connect				sys_connect
+42	common	accept				sys_accept
+43	common	sendto				sys_sendto
+44	common	recvfrom			sys_recvfrom		compat_sys_recvfrom
+45	common	sendmsg				sys_sendmsg		compat_sys_sendmsg
+46	common	recvmsg				sys_recvmsg		compat_sys_recvmsg
+47	common	shutdown			sys_shutdown
+48	common	bind				sys_bind
+49	common	listen				sys_listen
+50	common	getsockname			sys_getsockname
+51	common	getpeername			sys_getpeername
+52	common	socketpair			sys_socketpair
+53	common	setsockopt			sys_setsockopt
+54	common	getsockopt			sys_getsockopt
+55	common	clone				__sys_clone
+56	common	fork				__sys_fork
+57	common	execve				sys_execve		compat_sys_execve
+58	common	exit				sys_exit
+59	common	wait4				sys_wait4		compat_sys_wait4
+60	common	kill				sys_kill
+61	common	uname				sys_newuname
+62	common	semget				sys_semget
+63	common	semop				sys_semop
+64	common	semctl				sys_old_semctl		compat_sys_old_semctl
+65	common	shmdt				sys_shmdt
+66	common	msgget				sys_msgget
+67	common	msgsnd				sys_msgsnd		compat_sys_msgsnd
+68	common	msgrcv				sys_msgrcv		compat_sys_msgrcv
+69	common	msgctl				sys_old_msgctl		compat_sys_old_msgctl
+70	common	fcntl				sys_fcntl		compat_sys_fcntl
+71	common	flock				sys_flock
+72	common	fsync				sys_fsync
+73	common	fdatasync			sys_fdatasync
+74	common	truncate			sys_truncate
+75	common	ftruncate			sys_ftruncate
+76	common	getdents			sys_getdents		compat_sys_getdents
+77	common	getcwd				sys_getcwd
+78	common	chdir				sys_chdir
+79	common	fchdir				sys_fchdir
+80	common	rename				sys_rename
+81	common	mkdir				sys_mkdir
+82	common	rmdir				sys_rmdir
+83	common	creat				sys_creat
+84	common	link				sys_link
+85	common	unlink				sys_unlink
+86	common	symlink				sys_symlink
+87	common	readlink			sys_readlink
+88	common	chmod				sys_chmod
+89	common	fchmod				sys_fchmod
+90	common	chown				sys_chown
+91	common	fchown				sys_fchown
+92	common	lchown				sys_lchown
+93	common	umask				sys_umask
+94	common	gettimeofday			sys_gettimeofday	compat_sys_gettimeofday
+95	common	getrlimit			sys_getrlimit		compat_sys_getrlimit
+96	common	getrusage			sys_getrusage		compat_sys_getrusage
+97	common	sysinfo				sys_sysinfo		compat_sys_sysinfo
+98	common	times				sys_times		compat_sys_times
+99	common	ptrace				sys_ptrace		compat_sys_ptrace
+100	common	getuid				sys_getuid
+101	common	syslog				sys_syslog
+102	common	getgid				sys_getgid
+103	common	setuid				sys_setuid
+104	common	setgid				sys_setgid
+105	common	geteuid				sys_geteuid
+106	common	getegid				sys_getegid
+107	common	setpgid				sys_setpgid
+108	common	getppid				sys_getppid
+109	common	getpgrp				sys_getpgrp
+110	common	setsid				sys_setsid
+111	common	setreuid			sys_setreuid
+112	common	setregid			sys_setregid
+113	common	getgroups			sys_getgroups
+114	common	setgroups			sys_setgroups
+115	common	setresuid			sys_setresuid
+116	common	getresuid			sys_getresuid
+117	common	setresgid			sys_setresgid
+118	common	getresgid			sys_getresgid
+119	common	getpgid				sys_getpgid
+120	common	setfsuid			sys_setfsuid
+121	common	setfsgid			sys_setfsgid
+122	common	getsid				sys_getsid
+123	common	capget				sys_capget
+124	common	capset				sys_capset
+125	common	rt_sigpending			sys_rt_sigpending	compat_sys_rt_sigpending
+126	common	rt_sigtimedwait			sys_rt_sigtimedwait_time	compat_sys_rt_sigtimedwait_time32
+127	common	rt_sigqueueinfo			sys_rt_sigqueueinfo	compat_sys_rt_sigqueueinfo
+128	common	rt_sigsuspend			sys_rt_sigsuspend	compat_sys_rt_sigsuspend
+129	common	sigaltstack			sys_sigaltstack		compat_sys_sigaltstack
+130	common	utime				sys_utime		sys_utime32
+131	common	mknod				sys_mknod
+132	common	personality			sys_personality		sys_32_personality
+133	common	ustat				sys_usta		compat_sys_usta
+134	common	statfs				sys_statfs		compat_sys_statfs
+135	common	fstatfs				sys_fstatfs		compat_sys_fstatfs
+136	common	sysfs				sys_sysfs
+137	common	getpriority			sys_getpriority
+138	common	setpriority			sys_setpriority
+139	common	sched_setparam			sys_sched_setparam
+140	common	sched_getparam			sys_sched_getparam
+141	common	sched_setscheduler		sys_sched_setscheduler
+142	common	sched_getscheduler		sys_sched_getscheduler
+143	common	sched_get_priority_max		sys_sched_get_priority_max
+144	common	sched_get_priority_min		sys_sched_get_priority_min
+145	common	sched_rr_get_interval		sys_sched_rr_get_interval	sys_sched_rr_get_interval_time32
+146	common	mlock				sys_mlock
+147	common	munlock				sys_munlock
+148	common	mlockall			sys_mlockall
+149	common	munlockall			sys_munlockall
+150	common	vhangup				sys_vhangup
+151	common	pivot_root			sys_pivot_root
+152	common	_sysctl				sys_ni_syscall
+153	common	prctl				sys_prctl
+154	common	adjtimex			sys_adjtimex		sys_adjtimex_time32
+155	common	setrlimit			sys_setrlimit		compat_sys_setrlimit
+156	common	chroot				sys_chroot
+157	common	sync				sys_sync
+158	common	acct				sys_acct
+159	common	settimeofday			sys_settimeofday	compat_sys_settimeofday
+160	common	mount				sys_mount
+161	common	umount2				sys_umount
+162	common	swapon				sys_swapon
+163	common	swapoff				sys_swapoff
+164	common	reboot				sys_reboot
+165	common	sethostname			sys_sethostname
+166	common	setdomainname			sys_setdomainname
+167	common	create_module			sys_ni_syscall
+168	common	init_module			sys_init_module
+169	common	delete_module			sys_delete_module
+170	common	get_kernel_syms			sys_ni_syscall
+171	common	query_module			sys_ni_syscall
+172	common	quotactl			sys_quotactl
+173	common	nfsservctl			sys_ni_syscall
+174	common	getpmsg				sys_ni_syscall
+175	common	putpmsg				sys_ni_syscall
+176	common	afs_syscall			sys_ni_syscall
+# 177 reserved for security
+177	common	reserved177			sys_ni_syscall
+178	common	gettid				sys_gettid
+179	common	readahead			sys_readahead
+180	common	setxattr			sys_setxattr
+181	common	lsetxattr			sys_lsetxattr
+182	common	fsetxattr			sys_fsetxattr
+183	common	getxattr			sys_getxattr
+184	common	lgetxattr			sys_lgetxattr
+185	common	fgetxattr			sys_fgetxattr
+186	common	listxattr			sys_listxattr
+187	common	llistxattr			sys_llistxattr
+188	common	flistxattr			sys_flistxattr
+189	common	removexattr			sys_removexattr
+190	common	lremovexattr			sys_lremovexattr
+191	common	fremovexattr			sys_fremovexattr
+192	common	tkill				sys_tkill
+193	common	reserved193			sys_ni_syscall
+194	common	futex				sys_futex		sys_futex_time32
+195	common	sched_setaffinity		sys_sched_setaffinity	compat_sys_sched_setaffinity
+196	common	sched_getaffinity		sys_sched_getaffinity	compat_sys_sched_getaffinity
+197	common	cacheflush			sys_cacheflush
+198	common	cachectl			sys_cachectl
+199	common	sysmips				__sys_sysmips
+200	common	io_setup			sys_io_setup		compat_sys_io_setup
+201	common	io_destroy			sys_io_destroy
+202	common	io_getevents			sys_io_getevents	sys_io_getevents_time32
+203	common	io_submit			sys_io_submit		compat_sys_io_submit
+204	common	io_cancel			sys_io_cancel
+205	common	exit_group			sys_exit_group
+206	common	lookup_dcookie			sys_ni_syscall
+207	common	epoll_create			sys_epoll_create
+208	common	epoll_ctl			sys_epoll_ctl
+209	common	epoll_wait			sys_epoll_wait
+210	common	remap_file_pages		sys_remap_file_pages
+211	common	rt_sigreturn			sys_rt_sigreturn	sysn32_rt_sigreturn
+
+# n32 specific syscalls
+212	32	fcntl64				compat_sys_fcntl64
+213	32	set_tid_address			sys_set_tid_address
+214	32	restart_syscall			sys_restart_syscall
+215	32	semtimedop			sys_semtimedop_time32
+216	32	fadvise64			sys_fadvise64_64
+217	32	statfs64			compat_sys_statfs64
+218	32	fstatfs64			compat_sys_fstatfs64
+219	32	sendfile64			sys_sendfile64
+220	32	timer_create			compat_sys_timer_create
+221	32	timer_settime			sys_timer_settime32
+222	32	timer_gettime			sys_timer_gettime32
+223	32	timer_getoverrun		sys_timer_getoverrun
+224	32	timer_delete			sys_timer_delete
+225	32	clock_settime			sys_clock_settime32
+226	32	clock_gettime			sys_clock_gettime32
+227	32	clock_getres			sys_clock_getres_time32
+228	32	clock_nanosleep			sys_clock_nanosleep_time32
+229	32	tgkill				sys_tgkill
+230	32	utimes				sys_utimes_time32
+231	32	mbind				sys_mbind
+232	32	get_mempolicy			sys_get_mempolicy
+233	32	set_mempolicy			sys_set_mempolicy
+234	32	mq_open				sys_mq_open	compat_sys_mq_open
+235	32	mq_unlink			sys_mq_unlink
+236	32	mq_timedsend			sys_mq_timedsend_time32
+237	32	mq_timedreceive			sys_mq_timedreceive_time32
+238	32	mq_notify			compat_sys_mq_notify
+239	32	mq_getsetattr			compat_sys_mq_getsetattr
+240	32	vserver				sys_ni_syscall
+241	32	waitid				compat_sys_waitid
+# 242 was sys_setaltroot
+243	32	add_key				sys_add_key
+244	32	request_key			sys_request_key
+245	32	keyctl				compat_sys_keyctl
+246	32	set_thread_area			sys_set_thread_area
+247	32	inotify_init			sys_inotify_init
+248	32	inotify_add_watch		sys_inotify_add_watch
+249	32	inotify_rm_watch		sys_inotify_rm_watch
+250	32	migrate_pages			sys_migrate_pages
+251	32	openat				sys_openat
+252	32	mkdirat				sys_mkdirat
+253	32	mknodat				sys_mknodat
+254	32	fchownat			sys_fchownat
+255	32	futimesat			sys_futimesat_time32
+256	32	newfstatat			sys_newfstatat
+257	32	unlinkat			sys_unlinkat
+258	32	renameat			sys_renameat
+259	32	linkat				sys_linkat
+260	32	symlinkat			sys_symlinkat
+261	32	readlinkat			sys_readlinkat
+262	32	fchmodat			sys_fchmodat
+263	32	faccessat			sys_faccessat
+264	32	pselect6			compat_sys_pselect6_time32
+265	32	ppoll				compat_sys_ppoll_time32
+266	32	unshare				sys_unshare
+267	32	splice				sys_splice
+268	32	sync_file_range			sys_sync_file_range
+269	32	tee				sys_tee
+270	32	vmsplice			sys_vmsplice
+271	32	move_pages			sys_move_pages
+272	32	set_robust_list			compat_sys_set_robust_list
+273	32	get_robust_list			compat_sys_get_robust_list
+274	32	kexec_load			compat_sys_kexec_load
+275	32	getcpu				sys_getcpu
+276	32	epoll_pwait			compat_sys_epoll_pwait
+277	32	ioprio_set			sys_ioprio_set
+278	32	ioprio_get			sys_ioprio_get
+279	32	utimensat			sys_utimensat_time32
+280	32	signalfd			compat_sys_signalfd
+281	32	timerfd				sys_ni_syscall
+282	32	eventfd				sys_eventfd
+283	32	fallocate			sys_fallocate
+284	32	timerfd_create			sys_timerfd_create
+285	32	timerfd_gettime			sys_timerfd_gettime32
+286	32	timerfd_settime			sys_timerfd_settime32
+287	32	signalfd4			compat_sys_signalfd4
+288	32	eventfd2			sys_eventfd2
+289	32	epoll_create1			sys_epoll_create1
+290	32	dup3				sys_dup3
+291	32	pipe2				sys_pipe2
+292	32	inotify_init1			sys_inotify_init1
+293	32	preadv				compat_sys_preadv
+294	32	pwritev				compat_sys_pwritev
+295	32	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
+296	32	perf_event_open			sys_perf_event_open
+297	32	accept4				sys_accept4
+298	32	recvmmsg			compat_sys_recvmmsg_time32
+299	32	getdents64			sys_getdents64
+300	32	fanotify_init			sys_fanotify_init
+301	32	fanotify_mark			sys_fanotify_mark
+302	32	prlimit64			sys_prlimit64
+303	32	name_to_handle_at		sys_name_to_handle_at
+304	32	open_by_handle_at		sys_open_by_handle_at
+305	32	clock_adjtime			sys_clock_adjtime32
+306	32	syncfs				sys_syncfs
+307	32	sendmmsg			compat_sys_sendmmsg
+308	32	setns				sys_setns
+309	32	process_vm_readv		sys_process_vm_readv
+310	32	process_vm_writev		sys_process_vm_writev
+311	32	kcmp				sys_kcmp
+312	32	finit_module			sys_finit_module
+313	32	sched_setattr			sys_sched_setattr
+314	32	sched_getattr			sys_sched_getattr
+315	32	renameat2			sys_renameat2
+316	32	seccomp				sys_seccomp
+317	32	getrandom			sys_getrandom
+318	32	memfd_create			sys_memfd_create
+319	32	bpf				sys_bpf
+320	32	execveat			compat_sys_execveat
+321	32	userfaultfd			sys_userfaultfd
+322	32	membarrier			sys_membarrier
+323	32	mlock2				sys_mlock2
+324	32	copy_file_range			sys_copy_file_range
+325	32	preadv2				compat_sys_preadv2
+326	32	pwritev2			compat_sys_pwritev2
+327	32	pkey_mprotect			sys_pkey_mprotect
+328	32	pkey_alloc			sys_pkey_alloc
+329	32	pkey_free			sys_pkey_free
+330	32	statx				sys_statx
+331	32	rseq				sys_rseq
+332	32	io_pgetevents			compat_sys_io_pgetevents
+
+# n64 specific syscalls
+212	64	set_tid_address			sys_set_tid_address
+213	64	restart_syscall			sys_restart_syscall
+214	64	semtimedop			sys_semtimedop
+215	64	fadvise64			sys_fadvise64_64
+216	64	timer_create			sys_timer_create
+217	64	timer_settime			sys_timer_settime
+218	64	timer_gettime			sys_timer_gettime
+219	64	timer_getoverrun		sys_timer_getoverrun
+220	64	timer_delete			sys_timer_delete
+221	64	clock_settime			sys_clock_settime
+222	64	clock_gettime			sys_clock_gettime
+223	64	clock_getres			sys_clock_getres
+224	64	clock_nanosleep			sys_clock_nanosleep
+225	64	tgkill				sys_tgkill
+226	64	utimes				sys_utimes
+227	64	mbind				sys_mbind
+228	64	get_mempolicy			sys_get_mempolicy
+229	64	set_mempolicy			sys_set_mempolicy
+230	64	mq_open				sys_mq_open
+231	64	mq_unlink			sys_mq_unlink
+232	64	mq_timedsend			sys_mq_timedsend
+233	64	mq_timedreceive			sys_mq_timedreceive
+234	64	mq_notify			sys_mq_notify
+235	64	mq_getsetattr			sys_mq_getsetattr
+236	64	vserver				sys_ni_syscall
+237	64	waitid				sys_waitid
+# 238 was sys_setaltroot
+239	64	add_key				sys_add_key
+240	64	request_key			sys_request_key
+241	64	keyctl				sys_keyctl
+242	64	set_thread_area			sys_set_thread_area
+243	64	inotify_init			sys_inotify_init
+244	64	inotify_add_watch		sys_inotify_add_watch
+245	64	inotify_rm_watch		sys_inotify_rm_watch
+246	64	migrate_pages			sys_migrate_pages
+247	64	openat				sys_openat
+248	64	mkdirat				sys_mkdirat
+249	64	mknodat				sys_mknodat
+250	64	fchownat			sys_fchownat
+251	64	futimesat			sys_futimesat
+252	64	newfstatat			sys_newfstatat
+253	64	unlinkat			sys_unlinkat
+254	64	renameat			sys_renameat
+255	64	linkat				sys_linkat
+256	64	symlinkat			sys_symlinkat
+257	64	readlinkat			sys_readlinkat
+258	64	fchmodat			sys_fchmodat
+259	64	faccessat			sys_faccessat
+260	64	pselect6			sys_pselect6
+261	64	ppoll				sys_ppoll
+262	64	unshare				sys_unshare
+263	64	splice				sys_splice
+264	64	sync_file_range			sys_sync_file_range
+265	64	tee				sys_tee
+266	64	vmsplice			sys_vmsplice
+267	64	move_pages			sys_move_pages
+268	64	set_robust_list			sys_set_robust_list
+269	64	get_robust_list			sys_get_robust_list
+270	64	kexec_load			sys_kexec_load
+271	64	getcpu				sys_getcpu
+272	64	epoll_pwait			sys_epoll_pwait
+273	64	ioprio_set			sys_ioprio_set
+274	64	ioprio_get			sys_ioprio_get
+275	64	utimensat			sys_utimensat
+276	64	signalfd			sys_signalfd
+277	64	timerfd				sys_ni_syscall
+278	64	eventfd				sys_eventfd
+279	64	fallocate			sys_fallocate
+280	64	timerfd_create			sys_timerfd_create
+281	64	timerfd_gettime			sys_timerfd_gettime
+282	64	timerfd_settime			sys_timerfd_settime
+283	64	signalfd4			sys_signalfd4
+284	64	eventfd2			sys_eventfd2
+285	64	epoll_create1			sys_epoll_create1
+286	64	dup3				sys_dup3
+287	64	pipe2				sys_pipe2
+288	64	inotify_init1			sys_inotify_init1
+289	64	preadv				sys_preadv
+290	64	pwritev				sys_pwritev
+291	64	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo
+292	64	perf_event_open			sys_perf_event_open
+293	64	accept4				sys_accept4
+294	64	recvmmsg			sys_recvmmsg
+295	64	fanotify_init			sys_fanotify_init
+296	64	fanotify_mark			sys_fanotify_mark
+297	64	prlimit64			sys_prlimit64
+298	64	name_to_handle_at		sys_name_to_handle_at
+299	64	open_by_handle_at		sys_open_by_handle_at
+300	64	clock_adjtime			sys_clock_adjtime
+301	64	syncfs				sys_syncfs
+302	64	sendmmsg			sys_sendmmsg
+303	64	setns				sys_setns
+304	64	process_vm_readv		sys_process_vm_readv
+305	64	process_vm_writev		sys_process_vm_writev
+306	64	kcmp				sys_kcmp
+307	64	finit_module			sys_finit_module
+308	64	getdents64			sys_getdents64
+309	64	sched_setattr			sys_sched_setattr
+310	64	sched_getattr			sys_sched_getattr
+311	64	renameat2			sys_renameat2
+312	64	seccomp				sys_seccomp
+313	64	getrandom			sys_getrandom
+314	64	memfd_create			sys_memfd_create
+315	64	bpf				sys_bpf
+316	64	execveat			sys_execveat
+317	64	userfaultfd			sys_userfaultfd
+318	64	membarrier			sys_membarrier
+319	64	mlock2				sys_mlock2
+320	64	copy_file_range			sys_copy_file_range
+321	64	preadv2				sys_preadv2
+322	64	pwritev2			sys_pwritev2
+323	64	pkey_mprotect			sys_pkey_mprotect
+324	64	pkey_alloc			sys_pkey_alloc
+325	64	pkey_free			sys_pkey_free
+326	64	statx				sys_statx
+327	64	rseq				sys_rseq
+328	64	io_pgetevents			sys_io_pgetevents
diff --git a/arch/mips/kernel/syscalls/syscall_n32.tbl b/arch/mips/kernel/syscalls/syscall_n32.tbl
deleted file mode 100644
index 7189cf66bb96..000000000000
--- a/arch/mips/kernel/syscalls/syscall_n32.tbl
+++ /dev/null
@@ -1,412 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-#
-# system call numbers and entry vectors for mips
-#
-# The format is:
-# <number> <abi> <name> <entry point> <compat entry point>
-#
-# The <abi> is always "common" for this file.
-#
-0	common	read				sys_read
-1	common	write				sys_write
-2	common	open				sys_open
-3	common	close				sys_close
-4	common	stat				sys_newstat
-5	common	fstat				sys_newfstat
-6	common	lstat				sys_newlstat
-7	common	poll				sys_poll
-8	common	lseek				sys_lseek
-9	common	mmap				sys_mips_mmap
-10	common	mprotect			sys_mprotect
-11	common	munmap				sys_munmap
-12	common	brk				sys_brk
-13	common	rt_sigaction			compat_sys_rt_sigaction
-14	common	rt_sigprocmask			compat_sys_rt_sigprocmask
-15	common	ioctl				compat_sys_ioctl
-16	common	pread64				sys_pread64
-17	common	pwrite64			sys_pwrite64
-18	common	readv				sys_readv
-19	common	writev				sys_writev
-20	common	access				sys_access
-21	common	pipe				sysm_pipe
-22	common	_newselect			compat_sys_select
-23	common	sched_yield			sys_sched_yield
-24	common	mremap				sys_mremap
-25	common	msync				sys_msync
-26	common	mincore				sys_mincore
-27	common	madvise				sys_madvise
-28	common	shmget				sys_shmget
-29	common	shmat				sys_shmat
-30	common	shmctl				compat_sys_old_shmctl
-31	common	dup				sys_dup
-32	common	dup2				sys_dup2
-33	common	pause				sys_pause
-34	common	nanosleep			sys_nanosleep_time32
-35	common	getitimer			compat_sys_getitimer
-36	common	setitimer			compat_sys_setitimer
-37	common	alarm				sys_alarm
-38	common	getpid				sys_getpid
-39	common	sendfile			compat_sys_sendfile
-40	common	socket				sys_socket
-41	common	connect				sys_connect
-42	common	accept				sys_accept
-43	common	sendto				sys_sendto
-44	common	recvfrom			compat_sys_recvfrom
-45	common	sendmsg				compat_sys_sendmsg
-46	common	recvmsg				compat_sys_recvmsg
-47	common	shutdown			sys_shutdown
-48	common	bind				sys_bind
-49	common	listen				sys_listen
-50	common	getsockname			sys_getsockname
-51	common	getpeername			sys_getpeername
-52	common	socketpair			sys_socketpair
-53	common	setsockopt			sys_setsockopt
-54	common	getsockopt			sys_getsockopt
-55	common	clone				__sys_clone
-56	common	fork				__sys_fork
-57	common	execve				compat_sys_execve
-58	common	exit				sys_exit
-59	common	wait4				compat_sys_wait4
-60	common	kill				sys_kill
-61	common	uname				sys_newuname
-62	common	semget				sys_semget
-63	common	semop				sys_semop
-64	common	semctl				compat_sys_old_semctl
-65	common	shmdt				sys_shmdt
-66	common	msgget				sys_msgget
-67	common	msgsnd				compat_sys_msgsnd
-68	common	msgrcv				compat_sys_msgrcv
-69	common	msgctl				compat_sys_old_msgctl
-70	common	fcntl				compat_sys_fcntl
-71	common	flock				sys_flock
-72	common	fsync				sys_fsync
-73	common	fdatasync			sys_fdatasync
-74	common	truncate			sys_truncate
-75	common	ftruncate			sys_ftruncate
-76	common	getdents			compat_sys_getdents
-77	common	getcwd				sys_getcwd
-78	common	chdir				sys_chdir
-79	common	fchdir				sys_fchdir
-80	common	rename				sys_rename
-81	common	mkdir				sys_mkdir
-82	common	rmdir				sys_rmdir
-83	common	creat				sys_creat
-84	common	link				sys_link
-85	common	unlink				sys_unlink
-86	common	symlink				sys_symlink
-87	common	readlink			sys_readlink
-88	common	chmod				sys_chmod
-89	common	fchmod				sys_fchmod
-90	common	chown				sys_chown
-91	common	fchown				sys_fchown
-92	common	lchown				sys_lchown
-93	common	umask				sys_umask
-94	common	gettimeofday			compat_sys_gettimeofday
-95	common	getrlimit			compat_sys_getrlimit
-96	common	getrusage			compat_sys_getrusage
-97	common	sysinfo				compat_sys_sysinfo
-98	common	times				compat_sys_times
-99	common	ptrace				compat_sys_ptrace
-100	common	getuid				sys_getuid
-101	common	syslog				sys_syslog
-102	common	getgid				sys_getgid
-103	common	setuid				sys_setuid
-104	common	setgid				sys_setgid
-105	common	geteuid				sys_geteuid
-106	common	getegid				sys_getegid
-107	common	setpgid				sys_setpgid
-108	common	getppid				sys_getppid
-109	common	getpgrp				sys_getpgrp
-110	common	setsid				sys_setsid
-111	common	setreuid			sys_setreuid
-112	common	setregid			sys_setregid
-113	common	getgroups			sys_getgroups
-114	common	setgroups			sys_setgroups
-115	common	setresuid			sys_setresuid
-116	common	getresuid			sys_getresuid
-117	common	setresgid			sys_setresgid
-118	common	getresgid			sys_getresgid
-119	common	getpgid				sys_getpgid
-120	common	setfsuid			sys_setfsuid
-121	common	setfsgid			sys_setfsgid
-122	common	getsid				sys_getsid
-123	common	capget				sys_capget
-124	common	capset				sys_capset
-125	common	rt_sigpending			compat_sys_rt_sigpending
-126	common	rt_sigtimedwait			compat_sys_rt_sigtimedwait_time32
-127	common	rt_sigqueueinfo			compat_sys_rt_sigqueueinfo
-128	common	rt_sigsuspend			compat_sys_rt_sigsuspend
-129	common	sigaltstack			compat_sys_sigaltstack
-130	common	utime				sys_utime32
-131	common	mknod				sys_mknod
-132	common	personality			sys_32_personality
-133	common	ustat				compat_sys_ustat
-134	common	statfs				compat_sys_statfs
-135	common	fstatfs				compat_sys_fstatfs
-136	common	sysfs				sys_sysfs
-137	common	getpriority			sys_getpriority
-138	common	setpriority			sys_setpriority
-139	common	sched_setparam			sys_sched_setparam
-140	common	sched_getparam			sys_sched_getparam
-141	common	sched_setscheduler		sys_sched_setscheduler
-142	common	sched_getscheduler		sys_sched_getscheduler
-143	common	sched_get_priority_max		sys_sched_get_priority_max
-144	common	sched_get_priority_min		sys_sched_get_priority_min
-145	common	sched_rr_get_interval		sys_sched_rr_get_interval_time32
-146	common	mlock				sys_mlock
-147	common	munlock				sys_munlock
-148	common	mlockall			sys_mlockall
-149	common	munlockall			sys_munlockall
-150	common	vhangup				sys_vhangup
-151	common	pivot_root			sys_pivot_root
-152	common	_sysctl				sys_ni_syscall
-153	common	prctl				sys_prctl
-154	common	adjtimex			sys_adjtimex_time32
-155	common	setrlimit			compat_sys_setrlimit
-156	common	chroot				sys_chroot
-157	common	sync				sys_sync
-158	common	acct				sys_acct
-159	common	settimeofday			compat_sys_settimeofday
-160	common	mount				sys_mount
-161	common	umount2				sys_umount
-162	common	swapon				sys_swapon
-163	common	swapoff				sys_swapoff
-164	common	reboot				sys_reboot
-165	common	sethostname			sys_sethostname
-166	common	setdomainname			sys_setdomainname
-167	common	create_module			sys_ni_syscall
-168	common	init_module			sys_init_module
-169	common	delete_module			sys_delete_module
-170	common	get_kernel_syms			sys_ni_syscall
-171	common	query_module			sys_ni_syscall
-172	common	quotactl			sys_quotactl
-173	common	nfsservctl			sys_ni_syscall
-174	common	getpmsg				sys_ni_syscall
-175	common	putpmsg				sys_ni_syscall
-176	common	afs_syscall			sys_ni_syscall
-# 177 reserved for security
-177	common	reserved177			sys_ni_syscall
-178	common	gettid				sys_gettid
-179	common	readahead			sys_readahead
-180	common	setxattr			sys_setxattr
-181	common	lsetxattr			sys_lsetxattr
-182	common	fsetxattr			sys_fsetxattr
-183	common	getxattr			sys_getxattr
-184	common	lgetxattr			sys_lgetxattr
-185	common	fgetxattr			sys_fgetxattr
-186	common	listxattr			sys_listxattr
-187	common	llistxattr			sys_llistxattr
-188	common	flistxattr			sys_flistxattr
-189	common	removexattr			sys_removexattr
-190	common	lremovexattr			sys_lremovexattr
-191	common	fremovexattr			sys_fremovexattr
-192	common	tkill				sys_tkill
-193	common	reserved193			sys_ni_syscall
-194	common	futex				sys_futex_time32
-195	common	sched_setaffinity		compat_sys_sched_setaffinity
-196	common	sched_getaffinity		compat_sys_sched_getaffinity
-197	common	cacheflush			sys_cacheflush
-198	common	cachectl			sys_cachectl
-199	common	sysmips				__sys_sysmips
-200	common	io_setup			compat_sys_io_setup
-201	common	io_destroy			sys_io_destroy
-202	common	io_getevents			sys_io_getevents_time32
-203	common	io_submit			compat_sys_io_submit
-204	common	io_cancel			sys_io_cancel
-205	common	exit_group			sys_exit_group
-206	common	lookup_dcookie			sys_ni_syscall
-207	common	epoll_create			sys_epoll_create
-208	common	epoll_ctl			sys_epoll_ctl
-209	common	epoll_wait			sys_epoll_wait
-210	common	remap_file_pages		sys_remap_file_pages
-211	common	rt_sigreturn			sysn32_rt_sigreturn
-212	common	fcntl64				compat_sys_fcntl64
-213	common	set_tid_address			sys_set_tid_address
-214	common	restart_syscall			sys_restart_syscall
-215	common	semtimedop			sys_semtimedop_time32
-216	common	fadvise64			sys_fadvise64_64
-217	common	statfs64			compat_sys_statfs64
-218	common	fstatfs64			compat_sys_fstatfs64
-219	common	sendfile64			sys_sendfile64
-220	common	timer_create			compat_sys_timer_create
-221	common	timer_settime			sys_timer_settime32
-222	common	timer_gettime			sys_timer_gettime32
-223	common	timer_getoverrun		sys_timer_getoverrun
-224	common	timer_delete			sys_timer_delete
-225	common	clock_settime			sys_clock_settime32
-226	common	clock_gettime			sys_clock_gettime32
-227	common	clock_getres			sys_clock_getres_time32
-228	common	clock_nanosleep			sys_clock_nanosleep_time32
-229	common	tgkill				sys_tgkill
-230	common	utimes				sys_utimes_time32
-231	common	mbind				sys_mbind
-232	common	get_mempolicy			sys_get_mempolicy
-233	common	set_mempolicy			sys_set_mempolicy
-234	common	mq_open				compat_sys_mq_open
-235	common	mq_unlink			sys_mq_unlink
-236	common	mq_timedsend			sys_mq_timedsend_time32
-237	common	mq_timedreceive			sys_mq_timedreceive_time32
-238	common	mq_notify			compat_sys_mq_notify
-239	common	mq_getsetattr			compat_sys_mq_getsetattr
-240	common	vserver				sys_ni_syscall
-241	common	waitid				compat_sys_waitid
-# 242 was sys_setaltroot
-243	common	add_key				sys_add_key
-244	common	request_key			sys_request_key
-245	common	keyctl				compat_sys_keyctl
-246	common	set_thread_area			sys_set_thread_area
-247	common	inotify_init			sys_inotify_init
-248	common	inotify_add_watch		sys_inotify_add_watch
-249	common	inotify_rm_watch		sys_inotify_rm_watch
-250	common	migrate_pages			sys_migrate_pages
-251	common	openat				sys_openat
-252	common	mkdirat				sys_mkdirat
-253	common	mknodat				sys_mknodat
-254	common	fchownat			sys_fchownat
-255	common	futimesat			sys_futimesat_time32
-256	common	newfstatat			sys_newfstatat
-257	common	unlinkat			sys_unlinkat
-258	common	renameat			sys_renameat
-259	common	linkat				sys_linkat
-260	common	symlinkat			sys_symlinkat
-261	common	readlinkat			sys_readlinkat
-262	common	fchmodat			sys_fchmodat
-263	common	faccessat			sys_faccessat
-264	common	pselect6			compat_sys_pselect6_time32
-265	common	ppoll				compat_sys_ppoll_time32
-266	common	unshare				sys_unshare
-267	common	splice				sys_splice
-268	common	sync_file_range			sys_sync_file_range
-269	common	tee				sys_tee
-270	common	vmsplice			sys_vmsplice
-271	common	move_pages			sys_move_pages
-272	common	set_robust_list			compat_sys_set_robust_list
-273	common	get_robust_list			compat_sys_get_robust_list
-274	common	kexec_load			compat_sys_kexec_load
-275	common	getcpu				sys_getcpu
-276	common	epoll_pwait			compat_sys_epoll_pwait
-277	common	ioprio_set			sys_ioprio_set
-278	common	ioprio_get			sys_ioprio_get
-279	common	utimensat			sys_utimensat_time32
-280	common	signalfd			compat_sys_signalfd
-281	common	timerfd				sys_ni_syscall
-282	common	eventfd				sys_eventfd
-283	common	fallocate			sys_fallocate
-284	common	timerfd_create			sys_timerfd_create
-285	common	timerfd_gettime			sys_timerfd_gettime32
-286	common	timerfd_settime			sys_timerfd_settime32
-287	common	signalfd4			compat_sys_signalfd4
-288	common	eventfd2			sys_eventfd2
-289	common	epoll_create1			sys_epoll_create1
-290	common	dup3				sys_dup3
-291	common	pipe2				sys_pipe2
-292	common	inotify_init1			sys_inotify_init1
-293	common	preadv				compat_sys_preadv
-294	common	pwritev				compat_sys_pwritev
-295	common	rt_tgsigqueueinfo		compat_sys_rt_tgsigqueueinfo
-296	common	perf_event_open			sys_perf_event_open
-297	common	accept4				sys_accept4
-298	common	recvmmsg			compat_sys_recvmmsg_time32
-299	common	getdents64			sys_getdents64
-300	common	fanotify_init			sys_fanotify_init
-301	common	fanotify_mark			sys_fanotify_mark
-302	common	prlimit64			sys_prlimit64
-303	common	name_to_handle_at		sys_name_to_handle_at
-304	common	open_by_handle_at		sys_open_by_handle_at
-305	common	clock_adjtime			sys_clock_adjtime32
-306	common	syncfs				sys_syncfs
-307	common	sendmmsg			compat_sys_sendmmsg
-308	common	setns				sys_setns
-309	common	process_vm_readv		sys_process_vm_readv
-310	common	process_vm_writev		sys_process_vm_writev
-311	common	kcmp				sys_kcmp
-312	common	finit_module			sys_finit_module
-313	common	sched_setattr			sys_sched_setattr
-314	common	sched_getattr			sys_sched_getattr
-315	common	renameat2			sys_renameat2
-316	common	seccomp				sys_seccomp
-317	common	getrandom			sys_getrandom
-318	common	memfd_create			sys_memfd_create
-319	common	bpf				sys_bpf
-320	common	execveat			compat_sys_execveat
-321	common	userfaultfd			sys_userfaultfd
-322	common	membarrier			sys_membarrier
-323	common	mlock2				sys_mlock2
-324	common	copy_file_range			sys_copy_file_range
-325	common	preadv2				compat_sys_preadv2
-326	common	pwritev2			compat_sys_pwritev2
-327	common	pkey_mprotect			sys_pkey_mprotect
-328	common	pkey_alloc			sys_pkey_alloc
-329	common	pkey_free			sys_pkey_free
-330	common	statx				sys_statx
-331	common	rseq				sys_rseq
-332	common	io_pgetevents			compat_sys_io_pgetevents
-# 333 through 402 are unassigned to sync up with generic numbers
-403	common	clock_gettime64			sys_clock_gettime
-404	common	clock_settime64			sys_clock_settime
-405	common	clock_adjtime64			sys_clock_adjtime
-406	common	clock_getres_time64		sys_clock_getres
-407	common	clock_nanosleep_time64		sys_clock_nanosleep
-408	common	timer_gettime64			sys_timer_gettime
-409	common	timer_settime64			sys_timer_settime
-410	common	timerfd_gettime64		sys_timerfd_gettime
-411	common	timerfd_settime64		sys_timerfd_settime
-412	common	utimensat_time64		sys_utimensat
-413	common	pselect6_time64			compat_sys_pselect6_time64
-414	common	ppoll_time64			compat_sys_ppoll_time64
-416	common	io_pgetevents_time64		compat_sys_io_pgetevents_time64
-417	common	recvmmsg_time64			compat_sys_recvmmsg_time64
-418	common	mq_timedsend_time64		sys_mq_timedsend
-419	common	mq_timedreceive_time64		sys_mq_timedreceive
-420	common	semtimedop_time64		sys_semtimedop
-421	common	rt_sigtimedwait_time64		compat_sys_rt_sigtimedwait_time64
-422	common	futex_time64			sys_futex
-423	common	sched_rr_get_interval_time64	sys_sched_rr_get_interval
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				__sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			compat_sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-# 447 reserved for memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/arch/mips/kernel/syscalls/syscall_n64.tbl b/arch/mips/kernel/syscalls/syscall_n64.tbl
deleted file mode 100644
index 9acc68729e21..000000000000
--- a/arch/mips/kernel/syscalls/syscall_n64.tbl
+++ /dev/null
@@ -1,388 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-#
-# system call numbers and entry vectors for mips
-#
-# The format is:
-# <number> <abi> <name> <entry point>
-#
-# The <abi> is always "common" for this file.
-#
-0	common	read				sys_read
-1	common	write				sys_write
-2	common	open				sys_open
-3	common	close				sys_close
-4	common	stat				sys_newstat
-5	common	fstat				sys_newfstat
-6	common	lstat				sys_newlstat
-7	common	poll				sys_poll
-8	common	lseek				sys_lseek
-9	common	mmap				sys_mips_mmap
-10	common	mprotect			sys_mprotect
-11	common	munmap				sys_munmap
-12	common	brk				sys_brk
-13	common	rt_sigaction			sys_rt_sigaction
-14	common	rt_sigprocmask			sys_rt_sigprocmask
-15	common	ioctl				sys_ioctl
-16	common	pread64				sys_pread64
-17	common	pwrite64			sys_pwrite64
-18	common	readv				sys_readv
-19	common	writev				sys_writev
-20	common	access				sys_access
-21	common	pipe				sysm_pipe
-22	common	_newselect			sys_select
-23	common	sched_yield			sys_sched_yield
-24	common	mremap				sys_mremap
-25	common	msync				sys_msync
-26	common	mincore				sys_mincore
-27	common	madvise				sys_madvise
-28	common	shmget				sys_shmget
-29	common	shmat				sys_shmat
-30	common	shmctl				sys_old_shmctl
-31	common	dup				sys_dup
-32	common	dup2				sys_dup2
-33	common	pause				sys_pause
-34	common	nanosleep			sys_nanosleep
-35	common	getitimer			sys_getitimer
-36	common	setitimer			sys_setitimer
-37	common	alarm				sys_alarm
-38	common	getpid				sys_getpid
-39	common	sendfile			sys_sendfile64
-40	common	socket				sys_socket
-41	common	connect				sys_connect
-42	common	accept				sys_accept
-43	common	sendto				sys_sendto
-44	common	recvfrom			sys_recvfrom
-45	common	sendmsg				sys_sendmsg
-46	common	recvmsg				sys_recvmsg
-47	common	shutdown			sys_shutdown
-48	common	bind				sys_bind
-49	common	listen				sys_listen
-50	common	getsockname			sys_getsockname
-51	common	getpeername			sys_getpeername
-52	common	socketpair			sys_socketpair
-53	common	setsockopt			sys_setsockopt
-54	common	getsockopt			sys_getsockopt
-55	common	clone				__sys_clone
-56	common	fork				__sys_fork
-57	common	execve				sys_execve
-58	common	exit				sys_exit
-59	common	wait4				sys_wait4
-60	common	kill				sys_kill
-61	common	uname				sys_newuname
-62	common	semget				sys_semget
-63	common	semop				sys_semop
-64	common	semctl				sys_old_semctl
-65	common	shmdt				sys_shmdt
-66	common	msgget				sys_msgget
-67	common	msgsnd				sys_msgsnd
-68	common	msgrcv				sys_msgrcv
-69	common	msgctl				sys_old_msgctl
-70	common	fcntl				sys_fcntl
-71	common	flock				sys_flock
-72	common	fsync				sys_fsync
-73	common	fdatasync			sys_fdatasync
-74	common	truncate			sys_truncate
-75	common	ftruncate			sys_ftruncate
-76	common	getdents			sys_getdents
-77	common	getcwd				sys_getcwd
-78	common	chdir				sys_chdir
-79	common	fchdir				sys_fchdir
-80	common	rename				sys_rename
-81	common	mkdir				sys_mkdir
-82	common	rmdir				sys_rmdir
-83	common	creat				sys_creat
-84	common	link				sys_link
-85	common	unlink				sys_unlink
-86	common	symlink				sys_symlink
-87	common	readlink			sys_readlink
-88	common	chmod				sys_chmod
-89	common	fchmod				sys_fchmod
-90	common	chown				sys_chown
-91	common	fchown				sys_fchown
-92	common	lchown				sys_lchown
-93	common	umask				sys_umask
-94	common	gettimeofday			sys_gettimeofday
-95	common	getrlimit			sys_getrlimit
-96	common	getrusage			sys_getrusage
-97	common	sysinfo				sys_sysinfo
-98	common	times				sys_times
-99	common	ptrace				sys_ptrace
-100	common	getuid				sys_getuid
-101	common	syslog				sys_syslog
-102	common	getgid				sys_getgid
-103	common	setuid				sys_setuid
-104	common	setgid				sys_setgid
-105	common	geteuid				sys_geteuid
-106	common	getegid				sys_getegid
-107	common	setpgid				sys_setpgid
-108	common	getppid				sys_getppid
-109	common	getpgrp				sys_getpgrp
-110	common	setsid				sys_setsid
-111	common	setreuid			sys_setreuid
-112	common	setregid			sys_setregid
-113	common	getgroups			sys_getgroups
-114	common	setgroups			sys_setgroups
-115	common	setresuid			sys_setresuid
-116	common	getresuid			sys_getresuid
-117	common	setresgid			sys_setresgid
-118	common	getresgid			sys_getresgid
-119	common	getpgid				sys_getpgid
-120	common	setfsuid			sys_setfsuid
-121	common	setfsgid			sys_setfsgid
-122	common	getsid				sys_getsid
-123	common	capget				sys_capget
-124	common	capset				sys_capset
-125	common	rt_sigpending			sys_rt_sigpending
-126	common	rt_sigtimedwait			sys_rt_sigtimedwait
-127	common	rt_sigqueueinfo			sys_rt_sigqueueinfo
-128	common	rt_sigsuspend			sys_rt_sigsuspend
-129	common	sigaltstack			sys_sigaltstack
-130	common	utime				sys_utime
-131	common	mknod				sys_mknod
-132	common	personality			sys_personality
-133	common	ustat				sys_ustat
-134	common	statfs				sys_statfs
-135	common	fstatfs				sys_fstatfs
-136	common	sysfs				sys_sysfs
-137	common	getpriority			sys_getpriority
-138	common	setpriority			sys_setpriority
-139	common	sched_setparam			sys_sched_setparam
-140	common	sched_getparam			sys_sched_getparam
-141	common	sched_setscheduler		sys_sched_setscheduler
-142	common	sched_getscheduler		sys_sched_getscheduler
-143	common	sched_get_priority_max		sys_sched_get_priority_max
-144	common	sched_get_priority_min		sys_sched_get_priority_min
-145	common	sched_rr_get_interval		sys_sched_rr_get_interval
-146	common	mlock				sys_mlock
-147	common	munlock				sys_munlock
-148	common	mlockall			sys_mlockall
-149	common	munlockall			sys_munlockall
-150	common	vhangup				sys_vhangup
-151	common	pivot_root			sys_pivot_root
-152	common	_sysctl				sys_ni_syscall
-153	common	prctl				sys_prctl
-154	common	adjtimex			sys_adjtimex
-155	common	setrlimit			sys_setrlimit
-156	common	chroot				sys_chroot
-157	common	sync				sys_sync
-158	common	acct				sys_acct
-159	common	settimeofday			sys_settimeofday
-160	common	mount				sys_mount
-161	common	umount2				sys_umount
-162	common	swapon				sys_swapon
-163	common	swapoff				sys_swapoff
-164	common	reboot				sys_reboot
-165	common	sethostname			sys_sethostname
-166	common	setdomainname			sys_setdomainname
-167	common	create_module			sys_ni_syscall
-168	common	init_module			sys_init_module
-169	common	delete_module			sys_delete_module
-170	common	get_kernel_syms			sys_ni_syscall
-171	common	query_module			sys_ni_syscall
-172	common	quotactl			sys_quotactl
-173	common	nfsservctl			sys_ni_syscall
-174	common	getpmsg				sys_ni_syscall
-175	common	putpmsg				sys_ni_syscall
-176	common	afs_syscall			sys_ni_syscall
-# 177 reserved for security
-177	common	reserved177			sys_ni_syscall
-178	common	gettid				sys_gettid
-179	common	readahead			sys_readahead
-180	common	setxattr			sys_setxattr
-181	common	lsetxattr			sys_lsetxattr
-182	common	fsetxattr			sys_fsetxattr
-183	common	getxattr			sys_getxattr
-184	common	lgetxattr			sys_lgetxattr
-185	common	fgetxattr			sys_fgetxattr
-186	common	listxattr			sys_listxattr
-187	common	llistxattr			sys_llistxattr
-188	common	flistxattr			sys_flistxattr
-189	common	removexattr			sys_removexattr
-190	common	lremovexattr			sys_lremovexattr
-191	common	fremovexattr			sys_fremovexattr
-192	common	tkill				sys_tkill
-193	common	reserved193			sys_ni_syscall
-194	common	futex				sys_futex
-195	common	sched_setaffinity		sys_sched_setaffinity
-196	common	sched_getaffinity		sys_sched_getaffinity
-197	common	cacheflush			sys_cacheflush
-198	common	cachectl			sys_cachectl
-199	common	sysmips				__sys_sysmips
-200	common	io_setup			sys_io_setup
-201	common	io_destroy			sys_io_destroy
-202	common	io_getevents			sys_io_getevents
-203	common	io_submit			sys_io_submit
-204	common	io_cancel			sys_io_cancel
-205	common	exit_group			sys_exit_group
-206	common	lookup_dcookie			sys_ni_syscall
-207	common	epoll_create			sys_epoll_create
-208	common	epoll_ctl			sys_epoll_ctl
-209	common	epoll_wait			sys_epoll_wait
-210	common	remap_file_pages		sys_remap_file_pages
-211	common	rt_sigreturn			sys_rt_sigreturn
-212	common	set_tid_address			sys_set_tid_address
-213	common	restart_syscall			sys_restart_syscall
-214	common	semtimedop			sys_semtimedop
-215	common	fadvise64			sys_fadvise64_64
-216	common	timer_create			sys_timer_create
-217	common	timer_settime			sys_timer_settime
-218	common	timer_gettime			sys_timer_gettime
-219	common	timer_getoverrun		sys_timer_getoverrun
-220	common	timer_delete			sys_timer_delete
-221	common	clock_settime			sys_clock_settime
-222	common	clock_gettime			sys_clock_gettime
-223	common	clock_getres			sys_clock_getres
-224	common	clock_nanosleep			sys_clock_nanosleep
-225	common	tgkill				sys_tgkill
-226	common	utimes				sys_utimes
-227	common	mbind				sys_mbind
-228	common	get_mempolicy			sys_get_mempolicy
-229	common	set_mempolicy			sys_set_mempolicy
-230	common	mq_open				sys_mq_open
-231	common	mq_unlink			sys_mq_unlink
-232	common	mq_timedsend			sys_mq_timedsend
-233	common	mq_timedreceive			sys_mq_timedreceive
-234	common	mq_notify			sys_mq_notify
-235	common	mq_getsetattr			sys_mq_getsetattr
-236	common	vserver				sys_ni_syscall
-237	common	waitid				sys_waitid
-# 238 was sys_setaltroot
-239	common	add_key				sys_add_key
-240	common	request_key			sys_request_key
-241	common	keyctl				sys_keyctl
-242	common	set_thread_area			sys_set_thread_area
-243	common	inotify_init			sys_inotify_init
-244	common	inotify_add_watch		sys_inotify_add_watch
-245	common	inotify_rm_watch		sys_inotify_rm_watch
-246	common	migrate_pages			sys_migrate_pages
-247	common	openat				sys_openat
-248	common	mkdirat				sys_mkdirat
-249	common	mknodat				sys_mknodat
-250	common	fchownat			sys_fchownat
-251	common	futimesat			sys_futimesat
-252	common	newfstatat			sys_newfstatat
-253	common	unlinkat			sys_unlinkat
-254	common	renameat			sys_renameat
-255	common	linkat				sys_linkat
-256	common	symlinkat			sys_symlinkat
-257	common	readlinkat			sys_readlinkat
-258	common	fchmodat			sys_fchmodat
-259	common	faccessat			sys_faccessat
-260	common	pselect6			sys_pselect6
-261	common	ppoll				sys_ppoll
-262	common	unshare				sys_unshare
-263	common	splice				sys_splice
-264	common	sync_file_range			sys_sync_file_range
-265	common	tee				sys_tee
-266	common	vmsplice			sys_vmsplice
-267	common	move_pages			sys_move_pages
-268	common	set_robust_list			sys_set_robust_list
-269	common	get_robust_list			sys_get_robust_list
-270	common	kexec_load			sys_kexec_load
-271	common	getcpu				sys_getcpu
-272	common	epoll_pwait			sys_epoll_pwait
-273	common	ioprio_set			sys_ioprio_set
-274	common	ioprio_get			sys_ioprio_get
-275	common	utimensat			sys_utimensat
-276	common	signalfd			sys_signalfd
-277	common	timerfd				sys_ni_syscall
-278	common	eventfd				sys_eventfd
-279	common	fallocate			sys_fallocate
-280	common	timerfd_create			sys_timerfd_create
-281	common	timerfd_gettime			sys_timerfd_gettime
-282	common	timerfd_settime			sys_timerfd_settime
-283	common	signalfd4			sys_signalfd4
-284	common	eventfd2			sys_eventfd2
-285	common	epoll_create1			sys_epoll_create1
-286	common	dup3				sys_dup3
-287	common	pipe2				sys_pipe2
-288	common	inotify_init1			sys_inotify_init1
-289	common	preadv				sys_preadv
-290	common	pwritev				sys_pwritev
-291	common	rt_tgsigqueueinfo		sys_rt_tgsigqueueinfo
-292	common	perf_event_open			sys_perf_event_open
-293	common	accept4				sys_accept4
-294	common	recvmmsg			sys_recvmmsg
-295	common	fanotify_init			sys_fanotify_init
-296	common	fanotify_mark			sys_fanotify_mark
-297	common	prlimit64			sys_prlimit64
-298	common	name_to_handle_at		sys_name_to_handle_at
-299	common	open_by_handle_at		sys_open_by_handle_at
-300	common	clock_adjtime			sys_clock_adjtime
-301	common	syncfs				sys_syncfs
-302	common	sendmmsg			sys_sendmmsg
-303	common	setns				sys_setns
-304	common	process_vm_readv		sys_process_vm_readv
-305	common	process_vm_writev		sys_process_vm_writev
-306	common	kcmp				sys_kcmp
-307	common	finit_module			sys_finit_module
-308	common	getdents64			sys_getdents64
-309	common	sched_setattr			sys_sched_setattr
-310	common	sched_getattr			sys_sched_getattr
-311	common	renameat2			sys_renameat2
-312	common	seccomp				sys_seccomp
-313	common	getrandom			sys_getrandom
-314	common	memfd_create			sys_memfd_create
-315	common	bpf				sys_bpf
-316	common	execveat			sys_execveat
-317	common	userfaultfd			sys_userfaultfd
-318	common	membarrier			sys_membarrier
-319	common	mlock2				sys_mlock2
-320	common	copy_file_range			sys_copy_file_range
-321	common	preadv2				sys_preadv2
-322	common	pwritev2			sys_pwritev2
-323	common	pkey_mprotect			sys_pkey_mprotect
-324	common	pkey_alloc			sys_pkey_alloc
-325	common	pkey_free			sys_pkey_free
-326	common	statx				sys_statx
-327	common	rseq				sys_rseq
-328	common	io_pgetevents			sys_io_pgetevents
-# 329 through 423 are reserved to sync up with other architectures
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				__sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-# 447 reserved for memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 89e660d50e66..4e228f2888a7 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -391,71 +391,3 @@
 400	common	msgsnd				sys_msgsnd			compat_sys_msgsnd
 401	common	msgrcv				sys_msgrcv			compat_sys_msgrcv
 402	common	msgctl				sys_msgctl			compat_sys_msgctl
-403	common	clock_gettime64			sys_clock_gettime		sys_clock_gettime
-404	common	clock_settime64			sys_clock_settime		sys_clock_settime
-405	common	clock_adjtime64			sys_clock_adjtime		sys_clock_adjtime
-406	common	clock_getres_time64		sys_clock_getres		sys_clock_getres
-407	common	clock_nanosleep_time64		sys_clock_nanosleep		sys_clock_nanosleep
-408	common	timer_gettime64			sys_timer_gettime		sys_timer_gettime
-409	common	timer_settime64			sys_timer_settime		sys_timer_settime
-410	common	timerfd_gettime64		sys_timerfd_gettime		sys_timerfd_gettime
-411	common	timerfd_settime64		sys_timerfd_settime		sys_timerfd_settime
-412	common	utimensat_time64		sys_utimensat			sys_utimensat
-413	common	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
-414	common	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	common	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
-417	common	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
-418	common	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
-419	common	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
-420	common	semtimedop_time64		sys_semtimedop			sys_semtimedop
-421	common	rt_sigtimedwait_time64		sys_rt_sigtimedwait		compat_sys_rt_sigtimedwait_time64
-422	common	futex_time64			sys_futex			sys_futex
-423	common	sched_rr_get_interval_time64	sys_sched_rr_get_interval	sys_sched_rr_get_interval
-424	common	pidfd_send_signal		sys_pidfd_send_signal
-425	common	io_uring_setup			sys_io_uring_setup
-426	common	io_uring_enter			sys_io_uring_enter
-427	common	io_uring_register		sys_io_uring_register
-428	common	open_tree			sys_open_tree
-429	common	move_mount			sys_move_mount
-430	common	fsopen				sys_fsopen
-431	common	fsconfig			sys_fsconfig
-432	common	fsmount				sys_fsmount
-433	common	fspick				sys_fspick
-434	common	pidfd_open			sys_pidfd_open
-435	common	clone3				__sys_clone3
-436	common	close_range			sys_close_range
-437	common	openat2				sys_openat2
-438	common	pidfd_getfd			sys_pidfd_getfd
-439	common	faccessat2			sys_faccessat2
-440	common	process_madvise			sys_process_madvise
-441	common	epoll_pwait2			sys_epoll_pwait2		compat_sys_epoll_pwait2
-442	common	mount_setattr			sys_mount_setattr
-443	common	quotactl_fd			sys_quotactl_fd
-444	common	landlock_create_ruleset		sys_landlock_create_ruleset
-445	common	landlock_add_rule		sys_landlock_add_rule
-446	common	landlock_restrict_self		sys_landlock_restrict_self
-# 447 reserved for memfd_secret
-448	common	process_mrelease		sys_process_mrelease
-449	common	futex_waitv			sys_futex_waitv
-450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-451	common	cachestat			sys_cachestat
-452	common	fchmodat2			sys_fchmodat2
-453	common	map_shadow_stack		sys_map_shadow_stack
-454	common	futex_wake			sys_futex_wake
-455	common	futex_wait			sys_futex_wait
-456	common	futex_requeue			sys_futex_requeue
-457	common	statmount			sys_statmount
-458	common	listmount			sys_listmount
-459	common	lsm_get_self_attr		sys_lsm_get_self_attr
-460	common	lsm_set_self_attr		sys_lsm_set_self_attr
-461	common	lsm_list_modules		sys_lsm_list_modules
-462	common	mseal				sys_mseal
-463	common	setxattrat			sys_setxattrat
-464	common	getxattrat			sys_getxattrat
-465	common	listxattrat			sys_listxattrat
-466	common	removexattrat			sys_removexattrat
-467	common	open_tree_attr			sys_open_tree_attr
-468	common	file_getattr			sys_file_getattr
-469	common	file_setattr			sys_file_setattr
-470	common	listns				sys_listns
-471	common	rseq_slice_yield		sys_rseq_slice_yield

-- 
2.55.0


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

* [PATCH v5 10/13] syscalls: Add an option for offsetting the common table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (8 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 09/13] mips: Use the common syscall table André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:56   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall André Almeida
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

To better support architectures that doesn't share the same syscall
numbers, but have them in the same sequence, add an new option to offset
the common syscall table numbers by a value. This make it possible to reuse
the common syscall table for alpha.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
Changes from v4:
 - I was reusing the logic from --offset to apply the --common-offset, but
 the logic is different: --offset does a string concat, and --common-offset
 does a addition to the number
---
 scripts/syscallhdr.sh | 27 +++++++++++++++++++--------
 scripts/syscalltbl.sh | 24 +++++++++++++++++++-----
 2 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/scripts/syscallhdr.sh b/scripts/syscallhdr.sh
index 54e09d3e686c..ce6819111c27 100755
--- a/scripts/syscallhdr.sh
+++ b/scripts/syscallhdr.sh
@@ -16,17 +16,18 @@
 set -e
 
 usage() {
-	echo >&2 "usage: $0 [--abis ABIS] [--emit-nr] [--offset OFFSET] [--prefix PREFIX] [--common-tbl PATH] INFILE OUTFILE" >&2
+	echo >&2 "usage: $0 [--abis ABIS] [--emit-nr] [--offset OFFSET] [--prefix PREFIX] [--common-tbl PATH] [--common-offset NR] INFILE OUTFILE" >&2
 	echo >&2
 	echo >&2 "  INFILE    input syscall table"
 	echo >&2 "  OUTFILE   output header file"
 	echo >&2
 	echo >&2 "options:"
-	echo >&2 "  --abis ABIS        ABI(s) to handle (By default, all lines are handled)"
-	echo >&2 "  --emit-nr          Emit the macro of the number of syscalls (__NR_syscalls)"
-	echo >&2 "  --offset OFFSET    The offset of syscall numbers"
-	echo >&2 "  --prefix PREFIX    The prefix to the macro like __NR_<PREFIX><NAME>"
-	echo >&2 "  --common-tbl PATH  Use the common number table"
+	echo >&2 "  --abis ABIS             ABI(s) to handle (By default, all lines are handled)"
+	echo >&2 "  --emit-nr               Emit the macro of the number of syscalls (__NR_syscalls)"
+	echo >&2 "  --offset OFFSET         The offset of syscall numbers"
+	echo >&2 "  --prefix PREFIX         The prefix to the macro like __NR_<PREFIX><NAME>"
+	echo >&2 "  --common-tbl PATH       Use the common number table"
+	echo >&2 "  --common-offset NR      Add an offset for the numbers of the common table"
 	exit 1
 }
 
@@ -34,6 +35,7 @@ usage() {
 abis=
 emit_nr=
 offset=
+common_offset=
 prefix=
 common_tbl=
 common_tbl_path=
@@ -57,6 +59,9 @@ do
 		common_tbl=1
 		common_tbl_path=$2
 		shift 2;;
+	--common-offset)
+		common_offset=$2
+		shift 2;;
 	-*)
 		echo "$1: unknown option" >&2
 		usage;;
@@ -98,18 +103,24 @@ emit_end_guard() {
 }
 
 max=0
-# gen_hdr(infile)
+# gen_hdr(infile, offset_nr)
 gen_hdr() {
 	input=$1
+	offset_nr=$2
 
 	while read nr abi name native compat; do
 
 		max=$nr
 
+		if [ -n "$offset_nr" ]; then
+			nr=$((nr + offset_nr))
+		fi
+
 		if [ -n "$offset" ]; then
 			nr="($offset + $nr)"
 		fi
 
+
 		echo "#define __NR_$prefix$name $nr"
 
 	done < <(grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$input")
@@ -120,7 +131,7 @@ emit_start_guard > $outfile
 gen_hdr $infile >> $outfile
 
 if [ -n "$common_tbl" ]; then
-	gen_hdr $common_tbl_path  >> "$outfile"
+	gen_hdr $common_tbl_path $common_offset >> "$outfile"
 fi
 
 if [ -n "$emit_nr" ]; then
diff --git a/scripts/syscalltbl.sh b/scripts/syscalltbl.sh
index 91c135143b22..aea00834dd5a 100755
--- a/scripts/syscalltbl.sh
+++ b/scripts/syscalltbl.sh
@@ -16,14 +16,15 @@
 set -e
 
 usage() {
-	echo >&2 "usage: $0 [--abis ABIS] [--common-tbl PATH] INFILE OUTFILE" >&2
+	echo >&2 "usage: $0 [--abis ABIS] [--common-tbl PATH] [--common-offset NR] INFILE OUTFILE" >&2
 	echo >&2
 	echo >&2 "  INFILE    input syscall table"
 	echo >&2 "  OUTFILE   output header file"
 	echo >&2
 	echo >&2 "options:"
-	echo >&2 "  --abis ABIS        ABI(s) to handle (By default, all lines are handled)"
-	echo >&2 "  --common-tbl PATH  Use the common syscall number table"
+	echo >&2 "  --abis ABIS             ABI(s) to handle (By default, all lines are handled)"
+	echo >&2 "  --common-tbl PATH       Use the common syscall number table"
+	echo >&2 "  --common-offset OFFSET  Add an offset for the numbers of the common table"
 	exit 1
 }
 
@@ -31,6 +32,7 @@ usage() {
 abis=
 common_tbl=
 common_tbl_path=
+common_offset=
 
 while [ $# -gt 0 ]
 do
@@ -42,6 +44,9 @@ do
 		common_tbl=1
 		common_tbl_path=$2
 		shift 2;;
+	--common-offset)
+		common_offset=$2
+		shift 2;;
 	-*)
 		echo "$1: unknown option" >&2
 		usage;;
@@ -59,12 +64,21 @@ outfile="$2"
 
 nxt=0
 
-# gen_tbl(infile)
+# gen_tbl(infile, offset_nr)
 gen_tbl() {
 	input=$1
+	offset_nr=$2
 
 	while read nr abi name native compat noreturn; do
 
+                if [ -n "$offset_nr" ]; then
+                        nr=$((nr + offset_nr))
+                fi
+
+		if [ -n "$offset" ]; then
+			nr="($offset + $nr)"
+		fi
+
 		if [ $nxt -gt $nr ]; then
 			echo "error: $input: syscall table is not sorted or duplicates the same syscall number" >&2
 			exit 1
@@ -105,5 +119,5 @@ gen_tbl() {
 gen_tbl $infile  > "$outfile"
 
 if [ -n "$common_tbl" ]; then
-	gen_tbl $common_tbl_path >> "$outfile"
+	gen_tbl $common_tbl_path $common_offset >> "$outfile"
 fi

-- 
2.55.0


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

* [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (9 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 10/13] syscalls: Add an option for offsetting the common table André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:57   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries André Almeida
  2026-08-12 17:38 ` [PATCH v5 13/13] alpha: Use the common syscall table André Almeida
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Instead of explicitly defining set_mempolicy_home_node as sys_ni_sycall in
the syscall table, define it as the real syscall entry point,
sys_set_mempolicy_home_node. As per commit fdb7d9b7acd0 ("alpha: remove
DISCONTIGMEM and NUMA"), alpha doesn't have NUMA support, so none of the
mempolicy sycalls will ever be compiled for alpha, resulting in the
COND_SYSCALL() fallback being used to result in the sys_ni_syscall.

There's no function change here, but this step helps to unify the syscall
tables and create a common table to rule them all.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/alpha/kernel/syscalls/syscall.tbl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
index f31b7afffc34..25180953c3c1 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@ -489,7 +489,7 @@
 # 557 reserved for memfd_secret
 558	common	process_mrelease		sys_process_mrelease
 559	common  futex_waitv                     sys_futex_waitv
-560	common	set_mempolicy_home_node		sys_ni_syscall
+560	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 561	common	cachestat			sys_cachestat
 562	common	fchmodat2			sys_fchmodat2
 563	common	map_shadow_stack		sys_map_shadow_stack

-- 
2.55.0


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

* [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (10 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 17:58   ` sashiko-bot
  2026-08-12 17:38 ` [PATCH v5 13/13] alpha: Use the common syscall table André Almeida
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Some architectures need special entry points for some syscalls (like
clone3). The current approach is, instead of having a special name like
arch_syscall, to name if as __syscall. This is enough to different the
common entry point to the architecture specific entry point.

Change alpha special syscall entries to do the same. This makes easier to
join the syscall tables. Leave alpha_syscall_zero because this syscall only
exists in alpha anyway.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/alpha/kernel/entry.S              | 8 ++++----
 arch/alpha/kernel/syscalls/syscall.tbl | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
index fcfd06529b12..5ca044efa208 100644
--- a/arch/alpha/kernel/entry.S
+++ b/arch/alpha/kernel/entry.S
@@ -863,9 +863,9 @@ ret_from_kernel_thread:
 
 .macro	fork_like name
 	.align	4
-	.globl	alpha_\name
-	.ent	alpha_\name
-alpha_\name:
+	.globl	__sys_\name
+	.ent	__sys_\name
+__sys_\name:
 	.prologue 0
 	bsr	$1, do_switch_stack
 	// NB: if anyone adds preemption, this block will need to be protected
@@ -880,7 +880,7 @@ alpha_\name:
 	ldq	$26, 56($sp)
 	lda	$sp, SWITCH_STACK_SIZE($sp)
 	ret
-.end	alpha_\name
+.end	__sys_\name
 .endm
 
 fork_like fork
diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
index 25180953c3c1..34151d1653d6 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@ -9,7 +9,7 @@
 #
 0	common	osf_syscall			alpha_syscall_zero
 1	common	exit				sys_exit
-2	common	fork				alpha_fork
+2	common	fork				__sys_fork
 3	common	read				sys_read
 4	common	write				sys_write
 5	common	osf_old_open			sys_ni_syscall
@@ -72,7 +72,7 @@
 63	common	getpgrp				sys_getpgrp
 64	common	getpagesize			sys_getpagesize
 65	common	osf_mremap			sys_ni_syscall
-66	common	vfork				alpha_vfork
+66	common	vfork				__sys_vfork
 67	common	stat				sys_newstat
 68	common	lstat				sys_newlstat
 69	common	osf_sbrk			sys_ni_syscall
@@ -242,7 +242,7 @@
 309	common	get_kernel_syms			sys_ni_syscall
 310	common	syslog				sys_syslog
 311	common	reboot				sys_reboot
-312	common	clone				alpha_clone
+312	common	clone				__sys_clone
 313	common	uselib				sys_uselib
 314	common	mlock				sys_mlock
 315	common	munlock				sys_munlock
@@ -474,7 +474,7 @@
 542	common	fsmount				sys_fsmount
 543	common	fspick				sys_fspick
 544	common	pidfd_open			sys_pidfd_open
-545	common	clone3				alpha_clone3
+545	common	clone3				__clone3
 546	common	close_range			sys_close_range
 547	common	openat2				sys_openat2
 548	common	pidfd_getfd			sys_pidfd_getfd

-- 
2.55.0


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

* [PATCH v5 13/13] alpha: Use the common syscall table
  2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
                   ` (11 preceding siblings ...)
  2026-08-12 17:38 ` [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries André Almeida
@ 2026-08-12 17:38 ` André Almeida
  2026-08-12 18:01   ` sashiko-bot
  12 siblings, 1 reply; 27+ messages in thread
From: André Almeida @ 2026-08-12 17:38 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnd Bergmanon
  Cc: linux-kernel, linux-kbuild, kernel-dev, Thomas Bogendoerfer,
	linux-alpha, linux-s390, linux-arm-kernel, soc, linux-mips,
	parclinux, André Almeida

Remove some of the duplicated code by using the common syscall number
table.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 arch/alpha/kernel/syscalls/Makefile    | 10 +++++--
 arch/alpha/kernel/syscalls/syscall.tbl | 48 ----------------------------------
 arch/alpha/kernel/systbls.S            |  1 +
 3 files changed, 9 insertions(+), 50 deletions(-)

diff --git a/arch/alpha/kernel/syscalls/Makefile b/arch/alpha/kernel/syscalls/Makefile
index b265e4bc16c2..18682418327b 100644
--- a/arch/alpha/kernel/syscalls/Makefile
+++ b/arch/alpha/kernel/syscalls/Makefile
@@ -7,12 +7,18 @@ $(shell mkdir -p $(uapi) $(kapi))
 syscall := $(src)/syscall.tbl
 syshdr := $(srctree)/scripts/syscallhdr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
+systbl_common := $(srctree)/scripts/syscall_common.tbl
+abis := common,__clone3
 
 quiet_cmd_syshdr = SYSHDR  $@
-      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr $< $@
+      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr \
+		   --common-tbl $(systbl_common) --common-offset 110 \
+		   --abis $(abis) $< $@
 
 quiet_cmd_systbl = SYSTBL  $@
-      cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
+      cmd_systbl = $(CONFIG_SHELL) $(systbl) \
+		   --common-tbl $(systbl_common) --common-offset 110 \
+		   --abis $(abis) $< $@
 
 $(uapi)/unistd_32.h: $(syscall) $(syshdr) FORCE
 	$(call if_changed,syshdr)
diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
index 34151d1653d6..7066a3920899 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@ -463,51 +463,3 @@
 532	common	getppid				sys_getppid
 # all other architectures have common numbers for new syscall, alpha
 # is the exception.
-534	common	pidfd_send_signal		sys_pidfd_send_signal
-535	common	io_uring_setup			sys_io_uring_setup
-536	common	io_uring_enter			sys_io_uring_enter
-537	common	io_uring_register		sys_io_uring_register
-538	common	open_tree			sys_open_tree
-539	common	move_mount			sys_move_mount
-540	common	fsopen				sys_fsopen
-541	common	fsconfig			sys_fsconfig
-542	common	fsmount				sys_fsmount
-543	common	fspick				sys_fspick
-544	common	pidfd_open			sys_pidfd_open
-545	common	clone3				__clone3
-546	common	close_range			sys_close_range
-547	common	openat2				sys_openat2
-548	common	pidfd_getfd			sys_pidfd_getfd
-549	common	faccessat2			sys_faccessat2
-550	common	process_madvise			sys_process_madvise
-551	common	epoll_pwait2			sys_epoll_pwait2
-552	common	mount_setattr			sys_mount_setattr
-553	common	quotactl_fd			sys_quotactl_fd
-554	common	landlock_create_ruleset		sys_landlock_create_ruleset
-555	common	landlock_add_rule		sys_landlock_add_rule
-556	common	landlock_restrict_self		sys_landlock_restrict_self
-# 557 reserved for memfd_secret
-558	common	process_mrelease		sys_process_mrelease
-559	common  futex_waitv                     sys_futex_waitv
-560	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
-561	common	cachestat			sys_cachestat
-562	common	fchmodat2			sys_fchmodat2
-563	common	map_shadow_stack		sys_map_shadow_stack
-564	common	futex_wake			sys_futex_wake
-565	common	futex_wait			sys_futex_wait
-566	common	futex_requeue			sys_futex_requeue
-567	common	statmount			sys_statmount
-568	common	listmount			sys_listmount
-569	common	lsm_get_self_attr		sys_lsm_get_self_attr
-570	common	lsm_set_self_attr		sys_lsm_set_self_attr
-571	common	lsm_list_modules		sys_lsm_list_modules
-572	common  mseal				sys_mseal
-573	common	setxattrat			sys_setxattrat
-574	common	getxattrat			sys_getxattrat
-575	common	listxattrat			sys_listxattrat
-576	common	removexattrat			sys_removexattrat
-577	common	open_tree_attr			sys_open_tree_attr
-578	common	file_getattr			sys_file_getattr
-579	common	file_setattr			sys_file_setattr
-580	common	listns				sys_listns
-581	common	rseq_slice_yield		sys_rseq_slice_yield
diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
index 68f3e4f329eb..9a67d29f7818 100644
--- a/arch/alpha/kernel/systbls.S
+++ b/arch/alpha/kernel/systbls.S
@@ -7,6 +7,7 @@
 
 #include <asm/unistd.h>
 
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)        __SYSCALL(nr, native)
 #define __SYSCALL(nr, entry) .quad entry
 	.data
 	.align 3

-- 
2.55.0


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

* Re: [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh
  2026-08-12 17:38 ` [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh André Almeida
@ 2026-08-12 17:48   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:48 UTC (permalink / raw)
  To: André Almeida
  Cc: linux-s390, Vasily Gorbik, Alexander Gordeev,
	Christian Borntraeger, Heiko Carstens

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The MIPS kernel build fails because an empty, unquoted Make variable causes `scripts/syscallnr.sh` to misparse its arguments.
--

--- Patch [7]: [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh ---
commit 877d5f006e4ab42c99a338fbffa9cb65343bea2e
Author: André Almeida <andrealmeid@igalia.com>

mips: Remove duplicated syscallnr.sh

This commit removes the MIPS-specific syscallnr.sh script and switches to
using the common script in scripts/syscallnr.sh for generating syscall numbers.

> diff --git a/arch/mips/kernel/syscalls/Makefile b/arch/mips/kernel/syscalls/Makefile
> index 56f6f093bb88e..69adc21483edf 100644
> --- a/arch/mips/kernel/syscalls/Makefile
> +++ b/arch/mips/kernel/syscalls/Makefile
> @@ -5,16 +5,17 @@ uapi := arch/$(SRCARCH)/include/generated/uapi/asm
>  $(shell mkdir -p $(uapi) $(kapi))
>  
>  syshdr := $(srctree)/scripts/syscallhdr.sh
> -sysnr := $(src)/syscallnr.sh
> +sysnr := $(srctree)/scripts/syscallnr.sh
>  systbl := $(srctree)/scripts/syscalltbl.sh
>  
>  quiet_cmd_syshdr = SYSHDR  $@
>        cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux $< $@
>  
>  quiet_cmd_sysnr = SYSNR   $@
> -      cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@'		\
> -		  '$(sysnr_abis_$(basetarget))'			\
> -		  '$(sysnr_pfx_$(basetarget))'
> +      cmd_sysnr = $(CONFIG_SHELL) $(sysnr) \
> +		  --prefix $(sysnr_pfx_$(basetarget))_Linux_ \
> +		  --abis $(sysnr_abis_$(basetarget)) \

[Severity: Low]
Does this break the build when $(sysnr_abis_$(basetarget)) evaluates to an
empty string?

Because $(sysnr_abis_$(basetarget)) is unquoted, if it is empty, the shell
command becomes:

  --abis $< $@

This causes scripts/syscallnr.sh to consume the input file $< as the argument
to --abis, leaving only the output file $@ as a positional argument. Since the
script expects exactly two positional arguments, the script's parameter count
check would fail and terminate with a usage error.

> +		  $< $@
>  
>  quiet_cmd_systbl = SYSTBL  $@
>        cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=7

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

* Re: [PATCH v5 06/13] sparc: Use the common syscall table
  2026-08-12 17:38 ` [PATCH v5 06/13] sparc: " André Almeida
@ 2026-08-12 17:48   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:48 UTC (permalink / raw)
  To: André Almeida
  Cc: Christian Borntraeger, linux-s390, Vasily Gorbik,
	Alexander Gordeev, Heiko Carstens

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing Makefile dependency on syscall_common.tbl causes stale builds.
--

--- Patch [6]: [PATCH v5 06/13] sparc: Use the common syscall table ---
commit 3c949c999a9aab298b7fdff67ab7b414943dbcad
Author: André Almeida <andrealmeid@igalia.com>

sparc: Use the common syscall table

This commit updates the sparc architecture to use the common syscall number
table to remove duplicated code. It modifies the Makefile to pass the common
table to the syscall generation scripts.

> diff --git a/arch/sparc/kernel/syscalls/Makefile b/arch/sparc/kernel/syscalls/Makefile
> index 8440c16dfb225..c6d6378f7aefc 100644
> --- a/arch/sparc/kernel/syscalls/Makefile
> +++ b/arch/sparc/kernel/syscalls/Makefile
[ ... ]
>  quiet_cmd_syshdr = SYSHDR  $@
> -      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis common,$* $< $@
> +      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis $(abis),$* \
> +		   --common-tbl $(syscalltbl_common) $< $@
>  
>  quiet_cmd_systbl = SYSTBL  $@
> -      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
> +      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis),$* \
> +		   --common-tbl $(syscalltbl_common) $< $@
>  
>  $(uapi)/unistd_%.h: $(syscall) $(syshdr) FORCE
>  	$(call if_changed,syshdr)

[Severity: Low]
Does this generation target need $(syscalltbl_common) added to its
prerequisite list?

Since the syshdr and systbl scripts now read from $(syscalltbl_common), not
including it as a prerequisite means the sparc syscall headers might not be
rebuilt during an incremental build when scripts/syscall_common.tbl is updated.
The if_changed macro relies on explicit prerequisites to populate $? and
detect changed input files.

Would it make sense to add it here, and also for the $(kapi)/syscall_table_%.h
target just below it?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=6

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

* Re: [PATCH v5 02/13] syscalls: Create unified partial table for all archs
  2026-08-12 17:38 ` [PATCH v5 02/13] syscalls: Create unified partial table for all archs André Almeida
@ 2026-08-12 17:49   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:49 UTC (permalink / raw)
  To: André Almeida
  Cc: Alexander Gordeev, Christian Borntraeger, linux-s390,
	Heiko Carstens, Vasily Gorbik

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The use of bash process substitution `< <(...)` in a `#!/bin/sh` script will cause syntax errors on systems using strict POSIX shells like `dash`.
--

--- Patch [2]: [PATCH v5 02/13] syscalls: Create unified partial table for all archs ---
commit 47d67094b1a192ac92926cb745138546b214b614
Author: André Almeida <andrealmeid@igalia.com>

syscalls: Create unified partial table for all archs

This commit introduces a shared syscall table for system calls common to all
architectures. It also modifies the generation scripts to support combining a
main table with the common table.

> diff --git a/scripts/syscallhdr.sh b/scripts/syscallhdr.sh
> index bad1ab606a0fb..54e09d3e686c4 100755
> --- a/scripts/syscallhdr.sh
> +++ b/scripts/syscallhdr.sh

[ ... ]

> @@ -84,15 +111,20 @@ grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$infile" | {
>  		fi
>  
>  		echo "#define __NR_$prefix$name $nr"
> -	done
>  
> -	if [ -n "$emit_nr" ]; then
> -		echo
> -		echo "#ifdef __KERNEL__"
> -		echo "#define __NR_${prefix}syscalls $(($max + 1))"
> -		echo "#endif"
> -	fi
> +	done < <(grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$input")

[Severity: High]
Does this < <(...) process substitution in gen_hdr() break POSIX shell
compatibility?

Because this script is executed with #!/bin/sh, using bashisms like < <(...)
will cause a syntax error on systems where /bin/sh is a strict POSIX shell
like dash, breaking the build.

> +}
>  

[ ... ]

> diff --git a/scripts/syscalltbl.sh b/scripts/syscalltbl.sh
> index c4b1f85c2dd63..91c135143b22f 100755
> --- a/scripts/syscalltbl.sh
> +++ b/scripts/syscalltbl.sh

[ ... ]

> @@ -88,5 +97,13 @@ grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | {
>  			echo "__SYSCALL($nr, sys_ni_syscall)"
>  		fi
>  		nxt=$((nr + 1))
> -	done
> -} > "$outfile"
> +
> +	done < <(grep -E "^[0-9]+[[:space:]]+$abis" "$input")

[Severity: High]
Similarly, does this process substitution in gen_tbl() cause a syntax error on
dash or other strict POSIX shells?

> +
> +}
> +
> +gen_tbl $infile  > "$outfile"

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=2

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

* Re: [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables
  2026-08-12 17:38 ` [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables André Almeida
@ 2026-08-12 17:49   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:49 UTC (permalink / raw)
  To: André Almeida
  Cc: linux-s390, Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
	Christian Borntraeger

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The patch modifies `arch/mips/kernel/syscalls/syscall_n64.tbl` (changing the ABI string to `common`) but fails to synchronize the mirrored copy at `tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl`.
--

--- Patch [8]: [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables ---
commit 0da0a7952278891a02bb3187b7d10490c780e9c7
Author: André Almeida <andrealmeid@igalia.com>
Date:   Wed Aug 12 17:38:39 2026 +0000

mips: Get rid of custom mips ABIs for syscall tables

This commit replaces the MIPS-exclusive ABI names (n32, o32, n64) with
"common" in the syscall tables. The goal is to simplify and unify the tables
without introducing any functional changes.

> diff --git a/arch/mips/kernel/syscalls/syscall_n64.tbl b/arch/mips/kernel/syscalls/syscall_n64.tbl
> index 630aab9e54259..9acc68729e218 100644
> --- a/arch/mips/kernel/syscalls/syscall_n64.tbl
> +++ b/arch/mips/kernel/syscalls/syscall_n64.tbl
> @@ -5,384 +5,384 @@
>  # The format is:
>  # <number> <abi> <name> <entry point>
>  #
> -# The <abi> is always "n64" for this file.
> +# The <abi> is always "common" for this file.
>  #
> -0	n64	read				sys_read
> +0	common	read				sys_read

[Severity: Low]
Will this trigger a "Kernel ABI header differences" warning during the perf
build?

The kernel ABI header was modified to use "common" instead of "n64" here, but
it looks like the mirrored copy at 
tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl was not synchronized.
When tools/perf/check-headers.sh runs during the perf build, it will detect
that the two files are out of sync.

Should the tools/perf/ copies of the syscall tables be updated in this patch
as well to prevent the build warning?

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=8

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

* Re: [PATCH v5 01/13] syscalls: Make --abis parsing more robust
  2026-08-12 17:38 ` [PATCH v5 01/13] syscalls: Make --abis parsing more robust André Almeida
@ 2026-08-12 17:50   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:50 UTC (permalink / raw)
  To: André Almeida
  Cc: Heiko Carstens, linux-s390, Vasily Gorbik, Alexander Gordeev,
	Christian Borntraeger

> Some archs Makefile have something like this as the rule for making the
> syscall files:
> 
>   cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
> 
> The $* symbol is evaluated to the variable found at $(uapi)/unistd-%.h,
> where % is 32 or 64, resulting in e.g. `--abis common,32`. Sometimes the
> rule for the file won't have a %, resulting in a trailing comma e.g.
> `--abis common,`.
> 
> Currently this input is transformed into (common|). This is problematic
> because grep will then match any ABI because of the trailing `|`. Make the
> syscalls scripts more robust by removing any trailing comma.
> 
> Signed-off-by: André Almeida <andrealmeid@igalia.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=1


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

* Re: [PATCH v5 05/13] s390: Use the common syscall table
  2026-08-12 17:38 ` [PATCH v5 05/13] s390: " André Almeida
@ 2026-08-12 17:50   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:50 UTC (permalink / raw)
  To: André Almeida
  Cc: Christian Borntraeger, linux-s390, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Truncation of the s390 syscall table breaks perf tooling synchronization and `perf trace` syscall resolution.
--

--- Patch [5]: [PATCH v5 05/13] s390: Use the common syscall table ---
commit 14ffb6f547173922da170d7387b0125457d5de1c
Author: André Almeida <andrealmeid@igalia.com>

s390: Use the common syscall table

This commit removes duplicated syscall entries from the s390 syscall table by
falling back to the common syscall number table.

> diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
> index 09a7ef04d9791..ce6d15260dd1b 100644
> --- a/arch/s390/kernel/syscalls/syscall.tbl
> +++ b/arch/s390/kernel/syscalls/syscall.tbl
[ ... ]
> @@ -350,51 +350,3 @@
>  400	common	msgsnd				sys_msgsnd
>  401	common	msgrcv				sys_msgrcv
>  402	common	msgctl				sys_msgctl
> -424	common	pidfd_send_signal		sys_pidfd_send_signal
> -425	common	io_uring_setup			sys_io_uring_setup

[Severity: Medium]
Will truncating these syscalls from the s390 table break perf tooling when
the tables are synchronized?

Currently, tools/perf/trace/beauty/syscalltbl.sh relies on the arch-specific
table to generate its syscall resolution. Because that script hasn't been
updated to parse scripts/syscall_common.tbl, it looks like a subsequent sync
of this file into the tools/perf tree will cause perf trace to silently lose
the ability to resolve syscalls 424 and above on s390.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=5

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

* Re: [PATCH v5 09/13] mips: Use the common syscall table
  2026-08-12 17:38 ` [PATCH v5 09/13] mips: Use the common syscall table André Almeida
@ 2026-08-12 17:53   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:53 UTC (permalink / raw)
  To: André Almeida
  Cc: Alexander Gordeev, Vasily Gorbik, linux-s390,
	Christian Borntraeger, Heiko Carstens

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Build failure for MIPS N32 and N64 ABIs due to missing prerequisites and incorrect script arguments in Makefile, as well as broken incremental builds.
--

--- Patch [9]: [PATCH v5 09/13] mips: Use the common syscall table ---
commit 42dc635e6909962793a0c1f2315995398f780f3d
Author: André Almeida <andrealmeid@igalia.com>

mips: Use the common syscall table

This commit merges the n32 and n64 syscall tables into a single table and
updates the toolchain to use this common table. It also drops duplicated
code and modifies the MIPS build Makefile to adapt to these changes.

> diff --git a/arch/mips/kernel/syscalls/Makefile b/arch/mips/kernel/syscalls/Makefile
> index 1bfc2346d1009..f6a41ee9e38ad 100644
> --- a/arch/mips/kernel/syscalls/Makefile
> +++ b/arch/mips/kernel/syscalls/Makefile
> @@ -7,16 +7,21 @@ $(shell mkdir -p $(uapi) $(kapi))
>  syshdr := $(srctree)/scripts/syscallhdr.sh
>  sysnr := $(srctree)/scripts/syscallnr.sh
>  systbl := $(srctree)/scripts/syscalltbl.sh
> +systbl_common := $(srctree)/scripts/syscall_common.tbl
>  
>  quiet_cmd_syshdr = SYSHDR  $@
> -      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux $< $@
> +      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux \
> +		   --common-tbl $(systbl_common) \
> +		   --abis $(abis_$*) $< $@

[Severity: Low]
Does this cause the build script to fail for n32 and n64? The cmd_syshdr
command still references $<. In the $(uapi)/unistd_%.h rule below, this
evaluates to $(src)/syscall_%.tbl, which no longer exists for those ABIs.

>  quiet_cmd_sysnr = SYSNR   $@
>        cmd_sysnr = $(CONFIG_SHELL) $(sysnr) \
>  		  --prefix $(sysnr_pfx_$(basetarget))_Linux_ $< $@
>  
>  quiet_cmd_systbl = SYSTBL  $@
> -      cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
> +      cmd_systbl = $(CONFIG_SHELL) $(systbl) \
> +		   --common-tbl $(systbl_common) \
> +		   --abis $(abis_$*) $(src_$*) $@
>  
>  $(uapi)/unistd_%.h: $(src)/syscall_%.tbl $(syshdr) FORCE
>  	$(call if_changed,syshdr)

[Severity: Low]
Will this rule break since it still relies on $(src)/syscall_%.tbl? Since
syscall_n32.tbl and syscall_n64.tbl were deleted, this might cause make
to fail when attempting to build the uapi headers.

> @@ -25,10 +30,20 @@ sysnr_pfx_unistd_nr_n32 := N32
>  sysnr_pfx_unistd_nr_n64 := 64
>  sysnr_pfx_unistd_nr_o32 := O32
>  
> -$(kapi)/unistd_nr_%.h: $(src)/syscall_%.tbl $(sysnr) FORCE
> +abis := common,__clone3
> +
> +abis_n32 := $(abis),32
> +abis_o32 := $(abis),32
> +abis_n64 := $(abis),64
> +
> +src_n32 := $(src)/syscall_n.tbl
> +src_n64 := $(src)/syscall_n.tbl
> +src_o32 := $(src)/syscall_o32.tbl
> +
> +$(kapi)/unistd_nr_%.h: $(systbl_common) $(sysnr) FORCE
>  	$(call if_changed,sysnr)
>  
> -$(kapi)/syscall_table_%.h: $(src)/syscall_%.tbl $(systbl) FORCE
> +$(kapi)/syscall_table_%.h: $(systbl) FORCE
>  	$(call if_changed,systbl)

[Severity: Low]
Can removing the $(src)/syscall_%.tbl dependency break incremental builds?
It appears that if the source table is modified, this rule will no longer
trigger a rebuild of the syscall_table_%.h header.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=9

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

* Re: [PATCH v5 03/13] scripts/syscall.tbl: Use the common table
  2026-08-12 17:38 ` [PATCH v5 03/13] scripts/syscall.tbl: Use the common table André Almeida
@ 2026-08-12 17:53   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:53 UTC (permalink / raw)
  To: André Almeida
  Cc: Christian Borntraeger, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev, linux-s390

Thank you for your contribution! Sashiko AI review found 5 potential issue(s) to consider:
- [High] POSIX shell syntax violation (`bashism`) causes build failure.
- [High] Sequential table processing breaks strict monotonicity check, preventing architectures from adding new local syscalls.
- [High] Sequential table processing silently truncates `__NR_syscalls`.
- [Medium] Tooling Breakage: `tools/perf` fails to parse common syscalls for generic architectures.
- [Medium] Missing Make dependency for `syscall_common.tbl` breaks incremental builds.
--

--- Patch [3]: [PATCH v5 03/13] scripts/syscall.tbl: Use the common table ---
commit e407e18fccaf1e26e59809a57f9bedc05e1b414e
Author: André Almeida <andrealmeid@igalia.com>

scripts/syscall.tbl: Use the common table

This commit removes duplicated code by moving common syscall numbers out of
arch/arm64/tools/syscall_32.tbl and scripts/syscall.tbl to a shared common
table.

> diff --git a/scripts/Makefile.asm-headers b/scripts/Makefile.asm-headers
> index 8a4856e741803..681713f240cc1 100644
> --- a/scripts/Makefile.asm-headers
> +++ b/scripts/Makefile.asm-headers
> @@ -15,9 +15,10 @@ all:
>  
>  src := $(srctree)/$(subst /generated,,$(obj))
>  
> -syscall_abis_32  += common,32
> -syscall_abis_64  += common,64
> +syscall_abis_32  += clone3,common,32
> +syscall_abis_64  += clone3,common,64
>  syscalltbl := $(srctree)/scripts/syscall.tbl
> +syscalltbl_common := $(srctree)/scripts/syscall_common.tbl

[Severity: Medium]
Since syscalltbl_common is introduced here and passed to the generator scripts,
should it also be added to the Make prerequisites?

Currently, targets like unistd_%.h only depend on $(syscalltbl) and $(syshdr):

$(obj)/unistd_%.h: $(syscalltbl) $(syshdr) FORCE
	$(call if_changed,syshdr)

Without adding $(syscalltbl_common) to these dependencies, Kbuild won't trigger
a rebuild of the headers when the common table changes, which can break
incremental builds.

>  syshdr-args := --emit-nr
>  
>  # let architectures override $(syscall_abis_%) and $(syscalltbl)

[ ... ]

> @@ -58,14 +59,14 @@ quiet_cmd_remove = REMOVE  $(unwanted)
>        cmd_remove = rm -f $(unwanted)
>  
>  quiet_cmd_syshdr = SYSHDR  $@
> -      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) \
> +      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --common-tbl $(syscalltbl_common) \

[Severity: High]
Does calling syscallhdr.sh here break on systems where $(CONFIG_SHELL) is dash
(like Debian/Ubuntu)?

scripts/syscallhdr.sh uses a #!/bin/sh shebang but contains bash-specific
process substitution:

    done < <(grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$input")

On POSIX-compliant shells, this causes a syntax error ('redirection
unexpected') and aborts the kernel build.

Additionally, does passing --common-tbl silently truncate __NR_syscalls?

When syscallhdr.sh processes the local table first, the global "max" variable
tracks the highest local syscall. But when it processes the common table
afterward, it unconditionally overwrites it:

    max=$nr

If an architecture has a local syscall higher than the common table's highest
syscall, max gets incorrectly capped. This results in an incorrect
__NR_syscalls value.

>  		   $(if $(syshdr-args-$*),$(syshdr-args-$*),$(syshdr-args)) \
>  		   $(if $(syscall_compat),--prefix "compat$*_") \
>  		   --abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \
>  		   $< $@
>  
>  quiet_cmd_systbl = SYSTBL  $@
> -      cmd_systbl = $(CONFIG_SHELL) $(systbl) \
> +      cmd_systbl = $(CONFIG_SHELL) $(systbl) --common-tbl $(syscalltbl_common) \

[Severity: High]
Similar to the syshdr script, syscalltbl.sh also contains a bashism:

    done < <(grep -E "^[0-9]+[[:space:]]+$abis" "$input")

Will this sequential processing also break strict monotonicity checks for
architectures adding new local syscalls?

syscalltbl.sh uses a global "nxt" variable to ensure numerical sorting.
If an architecture adds a local syscall > 403 (e.g., 472), "nxt" advances
to 473. When it then processes the common table starting at 403, the check:

    if [ $nxt -gt $nr ]; then
        echo "error: $input: syscall table is not sorted..."

will trigger (473 > 403) and abort the build.

>  		   $(if $(systbl-args-$*),$(systbl-args-$*),$(systbl-args)) \
>  		   --abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \
>  		   $< $@

[ ... ]

> diff --git a/scripts/syscall.tbl b/scripts/syscall.tbl
> index 7a42b32b65776..ee828d03094ed 100644
> --- a/scripts/syscall.tbl
> +++ b/scripts/syscall.tbl
> @@ -344,71 +344,3 @@
>  293	common	rseq				sys_rseq
>  294	common	kexec_file_load			sys_kexec_file_load
>  # 295 through 402 are unassigned to sync up with generic numbers don't use
> -403	32	clock_gettime64			sys_clock_gettime

[Severity: Medium]
Does removing syscalls 403 through 471 from this file break perf trace?

The perf tooling parses this file directly to generate syscall name mappings:

tools/perf/trace/beauty/syscalltbl.sh:
    build_tables "$tools_dir/scripts/syscall.tbl" "$outfile"

Since tools/perf/trace/beauty/syscalltbl.sh isn't updated to parse the new
syscall_common.tbl, perf trace will lose name resolution for syscalls >= 403
on architectures using the generic table.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=3

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

* Re: [PATCH v5 10/13] syscalls: Add an option for offsetting the common table
  2026-08-12 17:38 ` [PATCH v5 10/13] syscalls: Add an option for offsetting the common table André Almeida
@ 2026-08-12 17:56   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:56 UTC (permalink / raw)
  To: André Almeida
  Cc: Christian Borntraeger, linux-s390, Alexander Gordeev,
	Heiko Carstens, Vasily Gorbik

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] The __NR_syscalls macro is calculated incorrectly when --common-offset is used, leading to a severely truncated syscall table bound.
- [Low] Dead and potentially dangerous code block referencing an undefined `offset` variable in `syscalltbl.sh` due to a copy-paste error.
- [Low] Inconsistent indentation in `syscalltbl.sh` using spaces instead of tabs.
--

--- Patch [10]: [PATCH v5 10/13] syscalls: Add an option for offsetting the common table ---
commit ca05bec6578b785868c677c2b401096b6deb225e
Author: André Almeida <andrealmeid@igalia.com>

syscalls: Add an option for offsetting the common table

This commit adds a new --common-offset option to the syscall header and table
generation scripts. It allows shifting the syscall numbers for a common table
by a given value, facilitating reuse for architectures like alpha.

> diff --git a/scripts/syscallhdr.sh b/scripts/syscallhdr.sh
> index 54e09d3e686c4..ce6819111c27d 100755
> --- a/scripts/syscallhdr.sh
> +++ b/scripts/syscallhdr.sh

[ ... ]

> @@ -98,18 +103,24 @@ emit_end_guard() {
>  }
>  
>  max=0
> -# gen_hdr(infile)
> +# gen_hdr(infile, offset_nr)
>  gen_hdr() {
>  	input=$1
> +	offset_nr=$2
>  
>  	while read nr abi name native compat; do
>  
>  		max=$nr
>  
> +		if [ -n "$offset_nr" ]; then
> +			nr=$((nr + offset_nr))
> +		fi

[Severity: High]
Will max be assigned the un-offset syscall number before the offset is
applied?

If max is calculated before the addition, the ultimately emitted __NR_syscalls
macro could be smaller than the highest offsetted syscall number. Architectures
using this to size their syscall tables or bound-check userspace calls might
reject valid syscalls.

> +
>  		if [ -n "$offset" ]; then
>  			nr="($offset + $nr)"
>  		fi
>  

[ ... ]

> diff --git a/scripts/syscalltbl.sh b/scripts/syscalltbl.sh
> index 91c135143b22f..aea00834dd5ab 100755
> --- a/scripts/syscalltbl.sh
> +++ b/scripts/syscalltbl.sh

[ ... ]

> @@ -59,12 +64,21 @@ outfile="$2"
>  
>  nxt=0
>  
> -# gen_tbl(infile)
> +# gen_tbl(infile, offset_nr)
>  gen_tbl() {
>  	input=$1
> +	offset_nr=$2
>  
>  	while read nr abi name native compat noreturn; do
>  
> +                if [ -n "$offset_nr" ]; then
> +                        nr=$((nr + offset_nr))
> +                fi

[Severity: Low]
This isn't a bug, but it looks like these lines are indented with spaces
instead of tabs. The surrounding script appears to use tabs.

> +
> +		if [ -n "$offset" ]; then
> +			nr="($offset + $nr)"
> +		fi

[Severity: Low]
Is the offset variable defined in syscalltbl.sh?

It looks like the --offset argument is parsed in syscallhdr.sh but not in this
script. If an environment variable named offset happens to be set in the build
shell, could this cause a bash syntax error when injected into the arithmetic
context?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=10

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

* Re: [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall
  2026-08-12 17:38 ` [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall André Almeida
@ 2026-08-12 17:57   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:57 UTC (permalink / raw)
  To: André Almeida
  Cc: linux-s390, Alexander Gordeev, Christian Borntraeger,
	Vasily Gorbik, Heiko Carstens

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Interface Omission / Synchronization: The tools/perf copy of the alpha syscall table was not synchronized with the kernel table.
--

--- Patch [11]: [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall ---
commit 65b94b8b8c8352e18befb0f4f62dfbedfd1fca90
Author: André Almeida <andrealmeid@igalia.com>

alpha: Define entry point for set_mempolicy_home_node syscall
    
Instead of explicitly defining set_mempolicy_home_node as sys_ni_sycall in
the syscall table, define it as the real syscall entry point,
sys_set_mempolicy_home_node. As per commit fdb7d9b7acd0 ("alpha: remove
DISCONTIGMEM and NUMA"), alpha doesn't have NUMA support, so none of the
mempolicy sycalls will ever be compiled for alpha, resulting in the
COND_SYSCALL() fallback being used to result in the sys_ni_syscall.

> diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
> index f31b7afffc345..25180953c3c1a 100644
> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
> @@ -489,7 +489,7 @@
>  # 557 reserved for memfd_secret
>  558	common	process_mrelease		sys_process_mrelease
>  559	common  futex_waitv                     sys_futex_waitv
> -560	common	set_mempolicy_home_node		sys_ni_syscall
> +560	common	set_mempolicy_home_node		sys_set_mempolicy_home_node

[Severity: Low]
Does this also need to be updated in the perf tooling copy of the syscall
table at tools/perf/arch/alpha/entry/syscalls/syscall.tbl?

It looks like tools/perf/arch/alpha/entry/syscalls/syscall.tbl was left out
of sync and still contains the old sys_ni_syscall entry point for syscall 560.
While perf primarily parses the syscall number and name and might still work
correctly, keeping the tooling copies synchronized with the kernel table is
usually expected.

This isn't a bug introduced by this patch, but there is a pre-existing typo
in tools/perf/check-headers.sh. It checks for the non-existent path
arch/alpha/entry/ instead of arch/alpha/kernel/, which silently masks this
divergence during CI testing.

>  561	common	cachestat			sys_cachestat
>  562	common	fchmodat2			sys_fchmodat2
>  563	common	map_shadow_stack		sys_map_shadow_stack

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=11

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

* Re: [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries
  2026-08-12 17:38 ` [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries André Almeida
@ 2026-08-12 17:58   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 17:58 UTC (permalink / raw)
  To: André Almeida
  Cc: linux-s390, Vasily Gorbik, Christian Borntraeger, Heiko Carstens,
	Alexander Gordeev

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The `clone3` syscall entry in the syscall table specifies `__clone3`, which does not match the actual assembly entry point `__sys_clone3` generated by the `fork_like` macro, causing a linkage failure.
--

--- Patch [12]: [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries ---
commit 849a21587e678cf6cc6690371a1a55c69f5ba4c5
Author: André Almeida <andrealmeid@igalia.com>

alpha: Remove alpha_ prefix from custom syscall entries

This commit removes the alpha_ prefix from custom architecture-specific syscall
entry points and renames them to use the standard __sys_ prefix. This aligns
alpha with other architectures to make it easier to join the syscall tables.

> diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
> index fcfd06529b12e..5ca044efa2084 100644
> --- a/arch/alpha/kernel/entry.S
> +++ b/arch/alpha/kernel/entry.S
> @@ -863,9 +863,9 @@ ret_from_kernel_thread:
>  
>  .macro	fork_like name
>  	.align	4
> -	.globl	alpha_\name
> -	.ent	alpha_\name
> -alpha_\name:
> +	.globl	__sys_\name
> +	.ent	__sys_\name
> +__sys_\name:

[ ... ]

> diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
> index 25180953c3c1a..34151d1653d69 100644
> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> +++ b/arch/alpha/kernel/syscalls/syscall.tbl

[ ... ]

> @@ -474,7 +474,7 @@
>  542	common	fsmount				sys_fsmount
>  543	common	fspick				sys_fspick
>  544	common	pidfd_open			sys_pidfd_open
> -545	common	clone3				alpha_clone3
> +545	common	clone3				__clone3

[Severity: Low]
Will this cause a linkage failure during the kernel build for the alpha
architecture due to an undefined symbol?

Because the fork_like macro in entry.S now prefixes entry points with
__sys_, the generated entry function for clone3 is __sys_clone3. Does this
table entry need to be updated to __sys_clone3 instead of __clone3 so that
it correctly resolves the assembly entry point?

>  546	common	close_range			sys_close_range
>  547	common	openat2				sys_openat2
>  548	common	pidfd_getfd			sys_pidfd_getfd

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=12

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

* Re: [PATCH v5 13/13] alpha: Use the common syscall table
  2026-08-12 17:38 ` [PATCH v5 13/13] alpha: Use the common syscall table André Almeida
@ 2026-08-12 18:01   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 18:01 UTC (permalink / raw)
  To: André Almeida
  Cc: linux-s390, Christian Borntraeger, Alexander Gordeev,
	Vasily Gorbik, Heiko Carstens

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Critical] Incorrect `__NR_syscalls` calculation in `syscallhdr.sh` truncates the syscall table bounds check on Alpha, breaking all syscalls >= 472.
- [Low] The modified syscall build scripts use Bash-specific process substitution, which causes syntax errors and build failures on systems where /bin/sh is dash.
--

--- Patch [13]: [PATCH v5 13/13] alpha: Use the common syscall table ---
commit 8a4799a8727ec390bf08ab1390ac21a27d092616
Author: André Almeida <andrealmeid@igalia.com>

    alpha: Use the common syscall table
    
    Remove some of the duplicated code by using the common syscall number
    table.

> diff --git a/arch/alpha/kernel/syscalls/Makefile b/arch/alpha/kernel/syscalls/Makefile
> index b265e4bc16c2e..18682418327bc 100644
> --- a/arch/alpha/kernel/syscalls/Makefile
> +++ b/arch/alpha/kernel/syscalls/Makefile
> @@ -7,12 +7,18 @@ $(shell mkdir -p $(uapi) $(kapi))
>  syscall := $(src)/syscall.tbl
>  syshdr := $(srctree)/scripts/syscallhdr.sh
>  systbl := $(srctree)/scripts/syscalltbl.sh
> +systbl_common := $(srctree)/scripts/syscall_common.tbl
> +abis := common,__clone3
>  
>  quiet_cmd_syshdr = SYSHDR  $@
> -      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr $< $@
> +      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr \
> +		   --common-tbl $(systbl_common) --common-offset 110 \
> +		   --abis $(abis) $< $@

[Severity: Critical]
Does this offset argument truncate the syscall table bounds check on Alpha?

When the common table is processed via scripts/syscallhdr.sh, the maximum
syscall number is stored before applying the offset:

scripts/syscallhdr.sh:gen_hdr() {
    ...
    while read nr abi name native compat; do
        max=$nr

        if [ -n "$offset_nr" ]; then
            nr=$((nr + offset_nr))
        fi
    ...
}

Because max is assigned the un-offset number, it resets to 471 when parsing
the common table, instead of reflecting Alpha's actual maximum (581). This
causes __NR_syscalls to be emitted as 472.

Consequently, does this cause the bounds check in arch/alpha/kernel/entry.S
(entSys) to reject all valid syscalls >= 472 with -ENOSYS? This would break
several valid syscalls when using the offset.

>  
>  quiet_cmd_systbl = SYSTBL  $@
> -      cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
> +      cmd_systbl = $(CONFIG_SHELL) $(systbl) \
> +		   --common-tbl $(systbl_common) --common-offset 110 \
> +		   --abis $(abis) $< $@

[Severity: Low]
Do these modified build commands fail on systems where /bin/sh is dash?

Both scripts/syscallhdr.sh and scripts/syscalltbl.sh use a bash-specific
process substitution pattern:

scripts/syscallhdr.sh:gen_hdr() {
    ...
    done < <(grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$input")
}

scripts/syscalltbl.sh:gen_tbl() {
    ...
    done < <(grep -E "^[0-9]+[[:space:]]+$abis" "$input")
}

This syntax is a bash extension and results in syntax errors on strictly
POSIX-compliant shells like dash, causing the build to fail.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=13

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

* Re: [PATCH v5 04/13] arm: Use the common syscall table
  2026-08-12 17:38 ` [PATCH v5 04/13] arm: Use the common syscall table André Almeida
@ 2026-08-12 18:10   ` sashiko-bot
  0 siblings, 0 replies; 27+ messages in thread
From: sashiko-bot @ 2026-08-12 18:10 UTC (permalink / raw)
  To: André Almeida
  Cc: linux-s390, Vasily Gorbik, Heiko Carstens, Alexander Gordeev,
	Christian Borntraeger

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Using the common syscall table on 32-bit ARM breaks OABI compatibility for several time64 and wait syscalls due to missing or weak-linked `compat_sys_*` entry points.
- [High] Process substitution `< <(...)` breaks POSIX `/bin/sh` compatibility, causing kernel build failures on systems using dash.
--

--- Patch [4]: [PATCH v5 04/13] arm: Use the common syscall table ---
commit 4446b58b5d8e69028beb1ab8dad93b78f955eb73
Author: André Almeida <andrealmeid@igalia.com>

arm: Use the common syscall table

This commit updates the ARM architecture to use the common syscall table.
It replaces duplicated ARM-specific syscalls with the common ones by pulling
in syscall_common.tbl and updating the ABI list.

> diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
> index 28b6da8ac5f64..fd73bf6db3bfe 100644
> --- a/arch/arm/tools/Makefile
> +++ b/arch/arm/tools/Makefile
[ ... ]
> @@ -38,11 +40,13 @@ $(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE
>  	$(call if_changed,gen_mach)
>  
>  quiet_cmd_syshdr = SYSHDR  $@
> -      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis common,$* \
> +      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis $(abis),$* \
> +		   --common-tbl $(syscalltbl_common) \
>  		   --offset __NR_SYSCALL_BASE $< $@

[Severity: High]
Does this execute scripts containing non-POSIX bashisms?

The scripts/syscallhdr.sh script uses process substitution which requires bash:

scripts/syscallhdr.sh:gen_hdr() {
    ...
    done < <(grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$input")
}

scripts/syscalltbl.sh also uses a similar construct in gen_tbl().

This breaks POSIX /bin/sh compatibility and can cause kernel build failures
reporting "Syntax error: redirection unexpected" on distributions that use
dash as their default shell.

>  quiet_cmd_systbl = SYSTBL  $@
> -      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
> +      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis),$* \
> +		   --common-tbl $(syscalltbl_common) $< $@

[Severity: High]
Does pulling in the common syscall table break OABI compatibility for
32-bit ARM?

The common table populates the compat column with compat_sys_* functions
intended for CONFIG_COMPAT, for example:

scripts/syscall_common.tbl:
    413  32  pselect6_time64  sys_pselect6  compat_sys_pselect6_time64

However, ARM OABI redefines __SYSCALL_WITH_COMPAT to use the compat column
specifically for its own OABI wrappers, not for 64-bit-on-32-bit compat
wrappers:

arch/arm/kernel/entry-common.S:sys_oabi_call_table() {
    #undef __SYSCALL_WITH_COMPAT
    #define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
}

This clash causes build failures like "undefined reference to
compat_sys_pselect6_time64" during linking when CONFIG_OABI_COMPAT is enabled.
For syscalls with weak stubs in kernel/sys_ni.c (like io_pgetevents_time64),
the build succeeds but OABI binaries will silently receive -ENOSYS at runtime.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-tonyk-syscall_table-v5-0-3d383927c609@igalia.com?part=4

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

end of thread, other threads:[~2026-08-12 18:10 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-12 17:38 [PATCH v5 00/13] syscalls: Add a shared table for all archs André Almeida
2026-08-12 17:38 ` [PATCH v5 01/13] syscalls: Make --abis parsing more robust André Almeida
2026-08-12 17:50   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 02/13] syscalls: Create unified partial table for all archs André Almeida
2026-08-12 17:49   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 03/13] scripts/syscall.tbl: Use the common table André Almeida
2026-08-12 17:53   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 04/13] arm: Use the common syscall table André Almeida
2026-08-12 18:10   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 05/13] s390: " André Almeida
2026-08-12 17:50   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 06/13] sparc: " André Almeida
2026-08-12 17:48   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 07/13] mips: Remove duplicated syscallnr.sh André Almeida
2026-08-12 17:48   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 08/13] mips: Get rid of custom mips ABIs for syscall tables André Almeida
2026-08-12 17:49   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 09/13] mips: Use the common syscall table André Almeida
2026-08-12 17:53   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 10/13] syscalls: Add an option for offsetting the common table André Almeida
2026-08-12 17:56   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 11/13] alpha: Define entry point for set_mempolicy_home_node syscall André Almeida
2026-08-12 17:57   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 12/13] alpha: Remove alpha_ prefix from custom syscall entries André Almeida
2026-08-12 17:58   ` sashiko-bot
2026-08-12 17:38 ` [PATCH v5 13/13] alpha: Use the common syscall table André Almeida
2026-08-12 18:01   ` sashiko-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.