The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name, if required.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha,
ia64, m68k, microblaze, parisc, powerpc, sh, sparc,
and xtensa. Below mentioned git repository contains
more details about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in
the syscall.tbl.
Changes since v2:
- fixed __NR_syscalls assign issue.
Changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
- changed from generic-y to generated-y in Kbuild.
Firoz Khan (6):
mips: add __NR_syscalls along with __NR_Linux_syscalls
mips: remove unused macros
mips: add +1 to __NR_syscalls in uapi header
mips: remove syscall table entries
mips: add system call table generation support
mips: generate uapi header and system call table files
arch/mips/Makefile | 3 +
arch/mips/include/asm/Kbuild | 4 +
arch/mips/include/asm/unistd.h | 8 -
arch/mips/include/uapi/asm/Kbuild | 6 +
arch/mips/include/uapi/asm/unistd.h | 1065 +----------------------------
arch/mips/kernel/Makefile | 2 +-
arch/mips/kernel/ftrace.c | 8 +-
arch/mips/kernel/scall32-o32.S | 391 +----------
arch/mips/kernel/scall64-64.S | 444 ------------
arch/mips/kernel/scall64-n32.S | 341 +--------
arch/mips/kernel/scall64-n64.S | 117 ++++
arch/mips/kernel/scall64-o32.S | 379 +---------
arch/mips/kernel/syscalls/Makefile | 96 +++
arch/mips/kernel/syscalls/syscall_n32.tbl | 343 ++++++++++
arch/mips/kernel/syscalls/syscall_n64.tbl | 339 +++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 382 +++++++++++
arch/mips/kernel/syscalls/syscallhdr.sh | 36 +
arch/mips/kernel/syscalls/syscallnr.sh | 30 +
arch/mips/kernel/syscalls/syscalltbl.sh | 36 +
19 files changed, 1430 insertions(+), 2600 deletions(-)
delete mode 100644 arch/mips/kernel/scall64-64.S
create mode 100644 arch/mips/kernel/scall64-n64.S
create mode 100644 arch/mips/kernel/syscalls/Makefile
create mode 100644 arch/mips/kernel/syscalls/syscall_n32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_n64.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_o32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/mips/kernel/syscalls/syscallnr.sh
create mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
--
1.9.1
The series transitions the ppoll, io_getevents, and pselect syscalls
to be y2038 safe.
This is part of the work proceeding for syscalls for y2038.
It is based on the series [1] from Arnd Bergmann.
The overview of the series is as below:
1. Refactor sigmask handling logic for the above syscalls.
2. Provide y2038 safe versions of the syscalls for all ABIs.
[1] https://lkml.org/lkml/2018/8/27/651
Changes since v3:
* fixed pselect copy+paste error
Changes since v2:
* remove 64BIT_TIME conditional for ppoll, pselect,
io_getpevents as per review comments
Changes since v1:
* fixed bug pointed out by arnd
Deepa Dinamani (5):
signal: Add set_user_sigmask()
signal: Add restore_user_sigmask()
ppoll: use __kernel_timespec
pselect6: use __kernel_timespec
io_pgetevents: use __kernel_timespec
fs/aio.c | 134 ++++++++++-----
fs/eventpoll.c | 52 +-----
fs/select.c | 360 ++++++++++++++++++++++-----------------
include/linux/compat.h | 20 +++
include/linux/signal.h | 4 +
include/linux/syscalls.h | 20 ++-
kernel/signal.c | 78 +++++++++
7 files changed, 426 insertions(+), 242 deletions(-)
--
2.17.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name, if required.
- spu entry name, if required.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha,
ia64, m68k, microblaze, mips, parisc, sh, sparc,
and xtensa. Below mentioned git repository contains
more details about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in the
syscall.tbl.
changes since v2:
- modified/optimized the syscall.tbl to avoid duplicate
for the spu entries.
- updated the syscalltbl.sh to meet the above point.
changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
- changed from generic-y to generated-y in Kbuild.
Firoz Khan (4):
powerpc: add __NR_syscalls along with NR_syscalls
powerpc: move macro definition from asm/systbl.h
powerpc: add system call table generation support
powerpc: generate uapi header and system call table files
arch/powerpc/Makefile | 3 +
arch/powerpc/include/asm/Kbuild | 4 +
arch/powerpc/include/asm/systbl.h | 396 --------------------------
arch/powerpc/include/asm/unistd.h | 3 +-
arch/powerpc/include/uapi/asm/Kbuild | 2 +
arch/powerpc/include/uapi/asm/unistd.h | 389 +------------------------
arch/powerpc/kernel/Makefile | 10 -
arch/powerpc/kernel/syscalls/Makefile | 63 ++++
arch/powerpc/kernel/syscalls/syscall.tbl | 427 ++++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscallhdr.sh | 36 +++
arch/powerpc/kernel/syscalls/syscalltbl.sh | 36 +++
arch/powerpc/kernel/systbl.S | 37 +--
arch/powerpc/kernel/systbl_chk.c | 60 ----
arch/powerpc/platforms/cell/spu_callbacks.c | 17 +-
14 files changed, 591 insertions(+), 892 deletions(-)
delete mode 100644 arch/powerpc/include/asm/systbl.h
create mode 100644 arch/powerpc/kernel/syscalls/Makefile
create mode 100644 arch/powerpc/kernel/syscalls/syscall.tbl
create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/powerpc/kernel/systbl_chk.c
--
1.9.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in the
syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha, ia64,
microblaze, mips, parisc, powerpc, sh, sparc and xtensa.
Below mentioned git repository contains more details
about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in
the syscall.tbl.
changes since v4:
- changed from generic-y to generated-y in Kbuild.
- remove the patch "0001-m68k-rename-system-call-
table-file-name.patch".
changes since v3:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
changes since v2:
- removed __IGNORE entries which was added in v2
to suppress the warning.
- added missing new line.
changes since v1:
- enclosed __NR_sycalls macro with __KERNEL__.
Firoz Khan (3):
m68k: add __NR_syscalls along with NR_syscalls
m68k: add system call table generation support
m68k: generate uapi header and syscall table header files
arch/m68k/Makefile | 3 +
arch/m68k/include/asm/Kbuild | 1 +
arch/m68k/include/asm/unistd.h | 3 +-
arch/m68k/include/uapi/asm/Kbuild | 1 +
arch/m68k/include/uapi/asm/unistd.h | 385 +------------------------------
arch/m68k/kernel/syscalls/Makefile | 38 ++++
arch/m68k/kernel/syscalls/syscall.tbl | 389 ++++++++++++++++++++++++++++++++
arch/m68k/kernel/syscalls/syscallhdr.sh | 36 +++
arch/m68k/kernel/syscalls/syscalltbl.sh | 32 +++
arch/m68k/kernel/syscalltable.S | 387 +------------------------------
10 files changed, 507 insertions(+), 768 deletions(-)
create mode 100644 arch/m68k/kernel/syscalls/Makefile
create mode 100644 arch/m68k/kernel/syscalls/syscall.tbl
create mode 100644 arch/m68k/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/m68k/kernel/syscalls/syscalltbl.sh
--
1.9.1
The series introduces new socket timestamps that are
y2038 safe.
The time data types used for the existing socket timestamp
options: SO_TIMESTAMP, SO_TIMESTAMPNS and SO_TIMESTAMPING
are not y2038 safe. The series introduces SO_TIMESTAMP_NEW,
SO_TIMESTAMPNS_NEW and SO_TIMESTAMPING_NEW to replace these.
These new timestamps can be used on all architectures.
The alternative considered was to extend the sys_setsockopt()
by using the flags. We did not receive any strong opinions about
either of the approaches. Hence, this was chosen, as glibc folks
preferred this.
The series does not deal with updating the internal kernel socket
calls like rxrpc to make them y2038 safe. This will be dealt
with separately.
Note that the timestamps behavior already does not match the
man page specific behavior:
SIOCGSTAMP
This ioctl should only be used if the socket option SO_TIMESTAMP
is not set on the socket. Otherwise, it returns the timestamp of
the last packet that was received while SO_TIMESTAMP was not set,
or it fails if no such packet has been received,
(i.e., ioctl(2) returns -1 with errno set to ENOENT).
The recommendation is to update the man page to remove the above statement.
The overview of the series is as below:
1. Delete asm specific socket.h when possible.
2. Support SO/SCM_TIMESTAMP* options only in userspace.
3. Rename current SO/SCM_TIMESTAMP* to SO/SCM_TIMESTAMP*_OLD.
3. Alter socket options so that SOCK_RCVTSTAMPNS does
not rely on SOCK_RCVTSTAMP.
4. Introduce y2038 safe types for socket timestamp.
5. Introduce new y2038 safe socket options SO/SCM_TIMESTAMP*_NEW.
Deepa Dinamani (8):
arch: Use asm-generic/socket.h when possible
sockopt: Rename SO_TIMESTAMP* to SO_TIMESTAMP*_OLD
socket: Disentangle SOCK_RCVTSTAMPNS from SOCK_RCVTSTAMP
arch: sparc: Override struct __kernel_old_timeval
socket: Use old_timeval types for socket timestamps
socket: Add struct sock_timeval
socket: Add SO_TIMESTAMP[NS]_NEW
socket: Add SO_TIMESTAMPING_NEW
arch/alpha/include/uapi/asm/socket.h | 35 ++++--
arch/ia64/include/uapi/asm/Kbuild | 1 +
arch/ia64/include/uapi/asm/socket.h | 120 ------------------
arch/mips/include/uapi/asm/socket.h | 34 ++++--
arch/parisc/include/uapi/asm/socket.h | 34 ++++--
arch/s390/include/uapi/asm/Kbuild | 1 +
arch/s390/include/uapi/asm/socket.h | 117 ------------------
arch/sparc/include/uapi/asm/posix_types.h | 10 ++
arch/sparc/include/uapi/asm/socket.h | 36 ++++--
arch/x86/include/uapi/asm/Kbuild | 1 +
arch/x86/include/uapi/asm/socket.h | 1 -
arch/xtensa/include/asm/Kbuild | 1 +
arch/xtensa/include/uapi/asm/Kbuild | 1 +
arch/xtensa/include/uapi/asm/socket.h | 122 -------------------
drivers/isdn/mISDN/socket.c | 2 +-
include/linux/skbuff.h | 24 +++-
include/linux/socket.h | 7 ++
include/net/sock.h | 5 +-
include/uapi/asm-generic/socket.h | 35 ++++--
include/uapi/linux/errqueue.h | 4 +
include/uapi/linux/time.h | 7 ++
net/bluetooth/hci_sock.c | 4 +-
net/compat.c | 12 +-
net/core/scm.c | 27 ++++
net/core/sock.c | 142 ++++++++++++++--------
net/ipv4/tcp.c | 82 ++++++++-----
net/rds/af_rds.c | 10 +-
net/rds/recv.c | 18 ++-
net/rxrpc/local_object.c | 2 +-
net/smc/af_smc.c | 3 +-
net/socket.c | 68 +++++++----
net/unix/af_unix.c | 4 +-
32 files changed, 449 insertions(+), 521 deletions(-)
delete mode 100644 arch/ia64/include/uapi/asm/socket.h
delete mode 100644 arch/s390/include/uapi/asm/socket.h
delete mode 100644 arch/x86/include/uapi/asm/socket.h
delete mode 100644 arch/xtensa/include/uapi/asm/socket.h
base-commit: b124b524bc97868cc2b5656e6ffa21a9b752b7e0
--
2.17.1
Cc: chris(a)zankel.net
Cc: fenghua.yu(a)intel.com
Cc: tglx(a)linutronix.de
Cc: schwidefsky(a)de.ibm.com
Cc: linux-ia64(a)vger.kernel.org
Cc: linux-xtensa(a)linux-xtensa.org
Cc: linux-s390(a)vger.kernel.org
Cc: deller(a)gmx.de
Cc: dhowells(a)redhat.com
Cc: jejb(a)parisc-linux.org
Cc: ralf(a)linux-mips.org
Cc: rth(a)twiddle.net
Cc: linux-afs(a)lists.infradead.org
Cc: linux-alpha(a)vger.kernel.org
Cc: linux-arch(a)vger.kernel.org
Cc: linux-mips(a)linux-mips.org
Cc: linux-parisc(a)vger.kernel.org
Cc: linux-rdma(a)vger.kernel.org
Cc: sparclinux(a)vger.kernel.org
Cc: sparclinux(a)vger.kernel.org
Cc: isdn(a)linux-pingi.de
Cc: jejb(a)parisc-linux.org
Cc: ralf(a)linux-mips.org
Cc: rth(a)twiddle.net
Cc: linux-alpha(a)vger.kernel.org
Cc: linux-mips(a)linux-mips.org
Cc: linux-parisc(a)vger.kernel.org
Cc: linux-rdma(a)vger.kernel.org
Cc: netdev(a)vger.kernel.org
Cc: sparclinux(a)vger.kernel.org
Cc: chris(a)zankel.net
Cc: fenghua.yu(a)intel.com
Cc: rth(a)twiddle.net
Cc: tglx(a)linutronix.de
Cc: ubraun(a)linux.ibm.com
Cc: linux-alpha(a)vger.kernel.org
Cc: linux-arch(a)vger.kernel.org
Cc: linux-ia64(a)vger.kernel.org
Cc: linux-mips(a)linux-mips.org
Cc: linux-s390(a)vger.kernel.org
Cc: linux-xtensa(a)linux-xtensa.org
Cc: sparclinux(a)vger.kernel.org
The purpose of this patch series is:
1. We can easily add/modify/delete system call by changing entry
in syscall.tbl file. No need to manually edit many files.
2. It is easy to unify the system call implementation across all
the architectures.
The system call tables are in different format in all architecture
and it will be difficult to manually add or modify the system calls
in the respective files manually. To make it easy by keeping a script
and which'll generate the header file and syscall table file so this
change will unify them across all architectures.
syscall.tbl contains the list of available system calls along with
system call number and corresponding entry point. Add a new system
call in this architecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name, if required.
ARM, s390 and x86 architecuture does exist the similar support. I
leverage their implementation to come up with a generic solution.
I have done the same support for work for alpha, m68k, microblaze,
ia64, mips, parisc, sh, sparc, and xtensa. But I started sending
the patch for one architecuture for review. Below mentioned git
repository contains more details.
Git repo:- https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work for solving the Y2038 issue. We
need to add/change two dozen of system calls to solve Y2038 issue.
So this patch series will help to easily modify from existing
system call to Y2038 compatible system calls.
I started working system call table generation on 4.17-rc1. I used
marcin's script - https://github.com/hrw/syscalls-table to generate
the syscall.tbl file. And this will be the input to the system call
table generation script. But there are couple system call got add
in the latest rc release. If run Marcin's script on latest release,
It will generate a new syscall.tbl. But I still use the old file -
syscall.tbl and once all review got over I'll update syscall.tbl
alone w.r.to the tip of the kernel. The impact of this thing, few
of the system call won't work.
Firoz Khan (3):
powerpc: Replace NR_syscalls macro from asm/unistd.h
powerpc: Add system call table generation support
powerpc: uapi header and system call table file generation
arch/powerpc/Makefile | 3 +
arch/powerpc/include/asm/Kbuild | 3 +
arch/powerpc/include/asm/unistd.h | 3 +-
arch/powerpc/include/uapi/asm/Kbuild | 2 +
arch/powerpc/include/uapi/asm/unistd.h | 391 +---------------------------
arch/powerpc/kernel/Makefile | 3 +-
arch/powerpc/kernel/syscall_table_32.S | 9 +
arch/powerpc/kernel/syscall_table_64.S | 17 ++
arch/powerpc/kernel/syscalls/Makefile | 51 ++++
arch/powerpc/kernel/syscalls/syscall_32.tbl | 378 +++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscall_64.tbl | 372 ++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscallhdr.sh | 37 +++
arch/powerpc/kernel/syscalls/syscalltbl.sh | 38 +++
arch/powerpc/kernel/systbl.S | 50 ----
14 files changed, 916 insertions(+), 441 deletions(-)
create mode 100644 arch/powerpc/kernel/syscall_table_32.S
create mode 100644 arch/powerpc/kernel/syscall_table_64.S
create mode 100644 arch/powerpc/kernel/syscalls/Makefile
create mode 100644 arch/powerpc/kernel/syscalls/syscall_32.tbl
create mode 100644 arch/powerpc/kernel/syscalls/syscall_64.tbl
create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/powerpc/kernel/systbl.S
--
1.9.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in the
syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha, ia64,
m68k, microblaze, mips, powerpc, sh, sparc and xtensa.
Below mentioned git repository contains more details
about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in
the syscall.tbl.
changes since v7:
- removed __NR_Linux from uapi header file.
changes since v6:
- changed from generic-y to generated-y in Kbuild.
changes since v5:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
changes since v4:
- optimized/updated the syscall table generation
scripts.
- removed __IGNORE entries which was added in v2
to suppress the warning.
changes since v3:
- optimized/updated the syscall table generation
scripts.
- added missing new line.
changes since v2:
- updated the syscall.tbl file by including missed
entries.
changes since v1:
- enclosed __NR_sycalls macro with __KERNEL__.
Firoz Khan (6):
parisc: move __IGNORE* entries to non uapi header
parisc: add __NR_syscalls along with __NR_Linux_syscalls
parisc: remove __NR_Linux from uapi header file.
parisc: add system call table generation support
parisc: generate uapi header and system call table files
parisc: syscalls: ignore nfsservctl for other architectures
arch/parisc/Makefile | 3 +
arch/parisc/include/asm/Kbuild | 3 +
arch/parisc/include/asm/unistd.h | 8 +
arch/parisc/include/uapi/asm/Kbuild | 2 +
arch/parisc/include/uapi/asm/unistd.h | 379 +-----------------------
arch/parisc/kernel/syscall.S | 11 +-
arch/parisc/kernel/syscall_table.S | 459 ------------------------------
arch/parisc/kernel/syscalls/Makefile | 55 ++++
arch/parisc/kernel/syscalls/syscall.tbl | 369 ++++++++++++++++++++++++
arch/parisc/kernel/syscalls/syscallhdr.sh | 36 +++
arch/parisc/kernel/syscalls/syscalltbl.sh | 36 +++
scripts/checksyscalls.sh | 1 +
12 files changed, 527 insertions(+), 835 deletions(-)
delete mode 100644 arch/parisc/kernel/syscall_table.S
create mode 100644 arch/parisc/kernel/syscalls/Makefile
create mode 100644 arch/parisc/kernel/syscalls/syscall.tbl
create mode 100644 arch/parisc/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh
--
1.9.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name, if required.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha,
ia64, m68k, microblaze, parisc, powerpc, sh, sparc,
and xtensa. Below mentioned git repository contains
more details about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in
the syscall.tbl.
Changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
- changed from generic-y to generated-y in Kbuild.
Firoz Khan (5):
mips: add __NR_syscalls along with __NR_Linux_syscalls
mips: add +1 to __NR_syscalls in uapi header
mips: remove syscall table entries
mips: add system call table generation support
mips: generate uapi header and system call table files
arch/mips/Makefile | 3 +
arch/mips/include/asm/Kbuild | 4 +
arch/mips/include/asm/unistd.h | 6 +-
arch/mips/include/uapi/asm/Kbuild | 3 +
arch/mips/include/uapi/asm/unistd.h | 1057 +----------------------------
arch/mips/kernel/ftrace.c | 6 +-
arch/mips/kernel/scall32-o32.S | 390 +----------
arch/mips/kernel/scall64-64.S | 335 +--------
arch/mips/kernel/scall64-n32.S | 341 +---------
arch/mips/kernel/scall64-o32.S | 379 +----------
arch/mips/kernel/syscalls/Makefile | 71 ++
arch/mips/kernel/syscalls/syscall_64.tbl | 339 +++++++++
arch/mips/kernel/syscalls/syscall_n32.tbl | 343 ++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 382 +++++++++++
arch/mips/kernel/syscalls/syscallhdr.sh | 36 +
arch/mips/kernel/syscalls/syscalltbl.sh | 36 +
16 files changed, 1259 insertions(+), 2472 deletions(-)
create mode 100644 arch/mips/kernel/syscalls/Makefile
create mode 100644 arch/mips/kernel/syscalls/syscall_64.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_n32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_o32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
--
1.9.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name.
- spu entry name, if required.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha,
ia64, m68k, microblaze, mips, parisc, sh, sparc,
and xtensa. Below mentioned git repository contains
more details about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in the
syscall.tbl.
Changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
- changed from generic-y to generated-y in Kbuild.
Firoz Khan (4):
powerpc: add __NR_syscalls along with NR_syscalls
powerpc: move macro definition from asm/systbl.h
powerpc: add system call table generation support
powerpc: generate uapi header and system call table files
arch/powerpc/Makefile | 3 +
arch/powerpc/include/asm/Kbuild | 4 +
arch/powerpc/include/asm/systbl.h | 396 ---------------------------
arch/powerpc/include/asm/unistd.h | 3 +-
arch/powerpc/include/uapi/asm/Kbuild | 2 +
arch/powerpc/include/uapi/asm/unistd.h | 389 +-------------------------
arch/powerpc/kernel/Makefile | 10 -
arch/powerpc/kernel/syscalls/Makefile | 61 +++++
arch/powerpc/kernel/syscalls/syscall.tbl | 408 ++++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscallhdr.sh | 36 +++
arch/powerpc/kernel/syscalls/syscalltbl.sh | 41 +++
arch/powerpc/kernel/systbl.S | 37 +--
arch/powerpc/kernel/systbl_chk.c | 60 ----
arch/powerpc/platforms/cell/spu_callbacks.c | 17 +-
14 files changed, 575 insertions(+), 892 deletions(-)
delete mode 100644 arch/powerpc/include/asm/systbl.h
create mode 100644 arch/powerpc/kernel/syscalls/Makefile
create mode 100644 arch/powerpc/kernel/syscalls/syscall.tbl
create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/powerpc/kernel/systbl_chk.c
--
1.9.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name, if required.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha,
ia64, m68k, microblaze, mips, parisc, powerpc, sh
and xtensa. Below mentioned git repository contains
more details about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in the
syscall.tbl.
Changes since v2:
- changed from generic-y to generated-y in Kbuild.
- added io_pgetevents entry in the syscall.tbl.
- updated the compat system call table.
Changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall.tbl.
Firoz Khan (4):
sparc: move __IGNORE* entries to non uapi header
sparc: add __NR_syscalls along with NR_syscalls
sparc: add system call table generation support
sparc: generate uapi header and system call table files
arch/sparc/Makefile | 3 +
arch/sparc/include/asm/Kbuild | 4 +-
arch/sparc/include/asm/unistd.h | 18 ++
arch/sparc/include/uapi/asm/Kbuild | 2 +
arch/sparc/include/uapi/asm/unistd.h | 426 +------------------------------
arch/sparc/kernel/syscalls/Makefile | 55 ++++
arch/sparc/kernel/syscalls/syscall.tbl | 409 +++++++++++++++++++++++++++++
arch/sparc/kernel/syscalls/syscallhdr.sh | 36 +++
arch/sparc/kernel/syscalls/syscalltbl.sh | 36 +++
arch/sparc/kernel/systbls_32.S | 81 +-----
arch/sparc/kernel/systbls_64.S | 157 +-----------
11 files changed, 572 insertions(+), 655 deletions(-)
create mode 100644 arch/sparc/kernel/syscalls/Makefile
create mode 100644 arch/sparc/kernel/syscalls/syscall.tbl
create mode 100644 arch/sparc/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/sparc/kernel/syscalls/syscalltbl.sh
--
1.9.1