Message ID | 1544073508-13720-1-git-send-email-firoz.khan@linaro.org |
---|---|
Headers | show |
Series | mips: system call table generation support | expand |
Hi Paul, On Thu, 6 Dec 2018 at 10:49, Firoz Khan <firoz.khan@linaro.org> 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 v3: > - rearranged the patches for '64' to 'n64' conver- > sion. > - moved the unistd_nr_*.h files to asm/unistd.h > - modified the *.sh files. Please review this patch series and queue it for linux-next. Thanks Firoz > > 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 (7): > mips: add __NR_syscalls along with __NR_Linux_syscalls > mips: remove unused macros > mips: rename macros and files from '64' to 'n64' > 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/asm.h | 6 +- > arch/mips/include/asm/fpregdef.h | 4 +- > arch/mips/include/asm/fw/arc/hinv.h | 2 +- > arch/mips/include/asm/regdef.h | 4 +- > arch/mips/include/asm/sigcontext.h | 4 +- > arch/mips/include/asm/unistd.h | 11 +- > arch/mips/include/uapi/asm/Kbuild | 6 + > arch/mips/include/uapi/asm/fcntl.h | 2 +- > arch/mips/include/uapi/asm/reg.h | 4 +- > arch/mips/include/uapi/asm/sgidefs.h | 2 +- > arch/mips/include/uapi/asm/sigcontext.h | 4 +- > arch/mips/include/uapi/asm/stat.h | 4 +- > arch/mips/include/uapi/asm/statfs.h | 4 +- > arch/mips/include/uapi/asm/unistd.h | 1069 +---------------------------- > 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 | 37 + > arch/mips/kernel/syscalls/syscallnr.sh | 28 + > arch/mips/kernel/syscalls/syscalltbl.sh | 36 + > arch/mips/kvm/entry.c | 4 +- > arch/mips/vdso/vdso.h | 2 +- > arch/mips/vdso/vdso.lds.S | 2 +- > 33 files changed, 1450 insertions(+), 2634 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 >
Hi Firoz,
On Mon, Dec 10, 2018 at 11:05:38AM +0530, Firoz Khan wrote:
> Please review this patch series and queue it for linux-next.
It's been ~4 days, 2 of which were a weekend. I'll get to it, but
pinging so often won't help.
Thanks,
Paul
On Mon, 10 Dec 2018 at 11:11, Paul Burton <paul.burton@mips.com> wrote: > > Hi Firoz, > > On Mon, Dec 10, 2018 at 11:05:38AM +0530, Firoz Khan wrote: > > Please review this patch series and queue it for linux-next. > > It's been ~4 days, 2 of which were a weekend. I'll get to it, but > pinging so often won't help. Sure. > > Thanks, > Paul