Hi Paul, On Thu, 29 Nov 2018 at 14:14, Firoz Khan <firoz.khan@xxxxxxxxxx> 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. > - 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 Could you review this patch series. I would appreciate if you can perform the boot test on the actual platform. Thanks Firoz > > 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 >