• Firoz Khan's avatar
    sh: add system call table generation support · a0239c8e
    Firoz Khan authored
    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.
    
    syscallhdr.sh and syscalltbl.sh will generate uapi header
    unistd_32.h and syscall_table.h files respectively. Both
    .sh files will parse the content syscall.tbl to generate
    the header and table files. unistd_32.h will be included
    by uapi/asm/unistd.h and syscall_table.h is included by
    kernel/syscall_32.S - the real system call table.
    
    Please note, this support is only available for 32-bit
    kernel, not 64-bit kernel. As I came across the 64-bit
    kernel is not active for long time.
    
    ARM, s390 and x86 architecuture does have similar support.
    I leverage their implementation to come up with a generic
    solution.
    Signed-off-by: default avatarFiroz Khan <firoz.khan@linaro.org>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    a0239c8e
syscalltbl.sh 575 Bytes