]> asedeno.scripts.mit.edu Git - linux.git/commit
parisc: add system call table generation support
authorFiroz Khan <firoz.khan@linaro.org>
Sun, 9 Sep 2018 01:52:50 +0000 (07:22 +0530)
committerHelge Deller <deller@gmx.de>
Mon, 10 Dec 2018 07:26:03 +0000 (08:26 +0100)
commit85e69701f58c9b2ec2975e31518b60e056bfebdf
tree7f88421f1ec229435fde737933ab7d0fd072354d
parent28ff62a4b41ea782d07a4f219fbbb60d3c705e39
parisc: add system call table generation support

The system call tables are in different format in all
architecture and it will be difficult to manually add,
modify or delete the syscall table entries in the res-
pective files. To make it easy by keeping a script and
which will generate the uapi header and syscall table
file. This change will also help to unify the implemen-
tation across all architectures.

The system call table generation script is added in
kernel/syscalls directory which contain the scripts to
generate both uapi header file and system call table
files. The syscall.tbl will be input for the scripts.

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.

syscallhdr.sh and syscalltbl.sh will generate uapi header
unistd_32/64.h and syscall_table_32/64/c32.h files respect-
ively. Both .sh files will parse the content syscall.tbl
to generate the header and table files. unistd_32/64.h will
be included by uapi/asm/unistd.h and syscall_table_32/64/-
c32.h is included by kernel/syscall.S - the real system
call table.

ARM, s390 and x86 architecuture does have similar support.
I leverage their implementation to come up with a generic
solution.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/syscalls/Makefile [new file with mode: 0644]
arch/parisc/kernel/syscalls/syscall.tbl [new file with mode: 0644]
arch/parisc/kernel/syscalls/syscallhdr.sh [new file with mode: 0644]
arch/parisc/kernel/syscalls/syscalltbl.sh [new file with mode: 0644]