• Masahiro Yamada's avatar
    scripts: add generic syscalltbl.sh · 9df526b0
    Masahiro Yamada authored
    Most of architectures generate syscall headers at the compile time
    in a similar way.
    
    The syscall table has the same format for all architectures. Each line
    has up to 5 fields; syscall number, ABI, syscall name, native entry
    point, and compat entry point. The syscall table is processed by
    syscalltbl.sh script into header files.
    
    Despite the same pattern, scripts are maintained per architecture,
    which results in code duplication and bad maintainability.
    
    As of v5.11-rc1, 12 architectures duplicate similar shell scripts:
    
      $ find arch -name syscalltbl.sh | sort
      arch/alpha/kernel/syscalls/syscalltbl.sh
      arch/arm/tools/syscalltbl.sh
      arch/ia64/kernel/syscalls/syscalltbl.sh
      arch/m68k/kernel/syscalls/syscalltbl.sh
      arch/microblaze/kernel/syscalls/syscalltbl.sh
      arch/mips/kernel/syscalls/syscalltbl.sh
      arch/parisc/kernel/syscalls/syscalltbl.sh
      arch/powerpc/kernel/syscalls/syscalltbl.sh
      arch/sh/kernel/syscalls/syscalltbl.sh
      arch/sparc/kernel/syscalls/syscalltbl.sh
      arch/x86/entry/syscalls/syscalltbl.sh
      arch/xtensa/kernel/syscalls/syscalltbl.sh
    
    My goal is to unify them into scripts/syscalltbl.sh.
    
    __SYSCALL_WITH_COMPAT should be defined as follows:
    
    32-bit kernel:
      #define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
    
    64-bit kernel:
    
      #define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    9df526b0
syscalltbl.sh 1.33 KB