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
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 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 (5):
parisc: move __IGNORE* entries to non uapi header
parisc: add __NR_syscalls along with __NR_Linux_syscalls
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 | 382 +------------------------
arch/parisc/kernel/syscall.S | 11 +-
arch/parisc/kernel/syscall_table.S | 459 ------------------------------
arch/parisc/kernel/syscalls/Makefile | 57 ++++
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, 531 insertions(+), 836 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
Hi Michal,
On Fri, 16 Nov 2018 at 14:01, Michal Simek <monstr(a)monstr.eu> wrote:
>
> On 13. 11. 18 7:04, Firoz Khan wrote:
> > 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, 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 v3:
> > - changed from generic-y to generated-y in Kbuild.
> >
> > changes since v2:
> > - optimized/updated the syscall table generation
> > scripts.
> > - fixed all mixed indentation issues in syscall.tbl.
> > - added "comments" in syscall_*.tbl.
> >
> > changes since v1:
> > - enclosed __NR_sycalls macro with __KERNEL__.
> > - added missing new line.
>
> next time please also keep this changelog in every patch.
Sure. Basically I haven't came across changelog till a point
where Geert Uytterhoeven <geert(a)linux-m68k.org> pointed
out changelog is missing. Thanks Geert :)
>
> >
> > Firoz Khan (3):
> > microblaze: move __NR_syscalls macro from asm/unistd.h
> > microblaze: add system call table generation support
> > microblaze: generate uapi header and system call table files
> >
> > arch/microblaze/Makefile | 3 +
> > arch/microblaze/include/asm/Kbuild | 1 +
> > arch/microblaze/include/asm/unistd.h | 2 -
> > arch/microblaze/include/uapi/asm/Kbuild | 1 +
> > arch/microblaze/include/uapi/asm/unistd.h | 407 +------------------------
> > arch/microblaze/kernel/syscall_table.S | 406 +------------------------
> > arch/microblaze/kernel/syscalls/Makefile | 38 +++
> > arch/microblaze/kernel/syscalls/syscall.tbl | 410 ++++++++++++++++++++++++++
> > arch/microblaze/kernel/syscalls/syscallhdr.sh | 36 +++
> > arch/microblaze/kernel/syscalls/syscalltbl.sh | 32 ++
> > 10 files changed, 526 insertions(+), 810 deletions(-)
> > create mode 100644 arch/microblaze/kernel/syscalls/Makefile
> > create mode 100644 arch/microblaze/kernel/syscalls/syscall.tbl
> > create mode 100644 arch/microblaze/kernel/syscalls/syscallhdr.sh
> > create mode 100644 arch/microblaze/kernel/syscalls/syscalltbl.sh
> >
>
> Looks good now. I have queue it to next. And also asked our team to
> retest everything.
Sounds good!
Thanks
Firoz
>
> Thanks,
> Michal
>
> --
> Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
> w: www.monstr.eu p: +42-0-721842854
> Maintainer of Linux kernel - Xilinx Microblaze
> Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
> U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
>
>
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, parisc, powerpc, sh and sparc.
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:
- changed from generic-y to generated-y in Kbuild.
- removed the patch "0001-xtensa-move-SYS_XTENSA_-
macros-to-non-uapi-header.patch".
Firoz Khan (3):
xtensa: add __NR_syscalls along with __NR_syscall_count
xtensa: add system call table generation support
xtensa: generate uapi header and syscall table header files
arch/xtensa/Makefile | 3 +
arch/xtensa/include/asm/Kbuild | 1 +
arch/xtensa/include/asm/unistd.h | 2 +
arch/xtensa/include/uapi/asm/Kbuild | 1 +
arch/xtensa/include/uapi/asm/unistd.h | 781 +-----------------------------
arch/xtensa/kernel/syscall.c | 5 +-
arch/xtensa/kernel/syscalls/Makefile | 38 ++
arch/xtensa/kernel/syscalls/syscall.tbl | 374 ++++++++++++++
arch/xtensa/kernel/syscalls/syscallhdr.sh | 36 ++
arch/xtensa/kernel/syscalls/syscalltbl.sh | 32 ++
10 files changed, 492 insertions(+), 781 deletions(-)
create mode 100644 arch/xtensa/kernel/syscalls/Makefile
create mode 100644 arch/xtensa/kernel/syscalls/syscall.tbl
create mode 100644 arch/xtensa/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/xtensa/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.
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, m68k,
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.
changes since v3:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall.tbl.
- removed __IGNORE entries which was added in v2
to suppress the warning.
changes since v2:
- fixed the offset logic in the script.
- added missing new line.
changes since v1:
- enclosed __NR_sycalls macro with __KERNEL__.
Firoz Khan (5):
ia64: add __NR_old_getpagesize in uapi header file
ia64: add __NR_syscalls along with NR_syscalls
ia64: add an offset for system call number
ia64: add system call table generation support
ia64: generate uapi header and system call table files
arch/ia64/Makefile | 3 +
arch/ia64/include/asm/Kbuild | 1 +
arch/ia64/include/asm/unistd.h | 4 +-
arch/ia64/include/uapi/asm/Kbuild | 1 +
arch/ia64/include/uapi/asm/unistd.h | 332 +------------------------------
arch/ia64/kernel/entry.S | 331 +------------------------------
arch/ia64/kernel/syscalls/Makefile | 40 ++++
arch/ia64/kernel/syscalls/syscall.tbl | 337 ++++++++++++++++++++++++++++++++
arch/ia64/kernel/syscalls/syscallhdr.sh | 36 ++++
arch/ia64/kernel/syscalls/syscalltbl.sh | 32 +++
10 files changed, 458 insertions(+), 659 deletions(-)
create mode 100644 arch/ia64/kernel/syscalls/Makefile
create mode 100644 arch/ia64/kernel/syscalls/syscall.tbl
create mode 100644 arch/ia64/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/ia64/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.
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, 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 v3:
- changed from generic-y to generated-y in Kbuild.
changes since v2:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
changes since v1:
- enclosed __NR_sycalls macro with __KERNEL__.
- added missing new line.
Firoz Khan (3):
microblaze: move __NR_syscalls macro from asm/unistd.h
microblaze: add system call table generation support
microblaze: generate uapi header and system call table files
arch/microblaze/Makefile | 3 +
arch/microblaze/include/asm/Kbuild | 1 +
arch/microblaze/include/asm/unistd.h | 2 -
arch/microblaze/include/uapi/asm/Kbuild | 1 +
arch/microblaze/include/uapi/asm/unistd.h | 407 +------------------------
arch/microblaze/kernel/syscall_table.S | 406 +------------------------
arch/microblaze/kernel/syscalls/Makefile | 38 +++
arch/microblaze/kernel/syscalls/syscall.tbl | 410 ++++++++++++++++++++++++++
arch/microblaze/kernel/syscalls/syscallhdr.sh | 36 +++
arch/microblaze/kernel/syscalls/syscalltbl.sh | 32 ++
10 files changed, 526 insertions(+), 810 deletions(-)
create mode 100644 arch/microblaze/kernel/syscalls/Makefile
create mode 100644 arch/microblaze/kernel/syscalls/syscall.tbl
create mode 100644 arch/microblaze/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/microblaze/kernel/syscalls/syscalltbl.sh
--
1.9.1