[PATCH RFC v3 0/8] syscalls: Add a shared table for all archs

André Almeida <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.kbuild.devel
Message-ID <[email protected]>
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 and sparc, 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 v3:
- Removed x86 for now, let's wait till x32 is dropped
- Added much more archs
- v2: https://patch.msgid.link/[email protected]

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/[email protected]

---
André Almeida (8):
      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: Use the common syscall table

 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/syscalls/Makefile        | 27 +++++++---
 arch/mips/kernel/syscalls/syscall_n32.tbl | 68 -------------------------
 arch/mips/kernel/syscalls/syscall_n64.tbl | 48 ------------------
 arch/mips/kernel/syscalls/syscall_o32.tbl | 68 -------------------------
 arch/mips/kernel/syscalls/syscallnr.sh    | 26 ----------
 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                     | 62 +++++++++++++++++------
 scripts/syscalltbl.sh                     | 38 +++++++++++---
 18 files changed, 205 insertions(+), 571 deletions(-)
---
base-commit: 075b74841bd0065a3bda3440873c747938e69b68
change-id: 20260724-tonyk-syscall_table-928bbb1b26bb

Best regards,
--  
André Almeida <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.