1e3a6c825SLaurent VivierTBL_LIST="\ 2e3a6c825SLaurent Vivierarch/alpha/kernel/syscalls/syscall.tbl,linux-user/alpha/syscall.tbl \ 3e3a6c825SLaurent Vivierarch/arm/tools/syscall.tbl,linux-user/arm/syscall.tbl \ 4f5afe739SLaurent Vivierscripts/syscall.tbl,linux-user/aarch64/syscall_64.tbl \ 5e7e6cc50SLaurent Vivierscripts/syscall.tbl,linux-user/hexagon/syscall.tbl \ 6*c52e4059SLaurent Vivierscripts/syscall.tbl,linux-user/loongarch64/syscall.tbl \ 7e3a6c825SLaurent Vivierarch/m68k/kernel/syscalls/syscall.tbl,linux-user/m68k/syscall.tbl \ 8e3a6c825SLaurent Vivierarch/microblaze/kernel/syscalls/syscall.tbl,linux-user/microblaze/syscall.tbl \ 9e3a6c825SLaurent Vivierarch/mips/kernel/syscalls/syscall_n32.tbl,linux-user/mips64/syscall_n32.tbl \ 10e3a6c825SLaurent Vivierarch/mips/kernel/syscalls/syscall_n64.tbl,linux-user/mips64/syscall_n64.tbl \ 11e3a6c825SLaurent Vivierarch/mips/kernel/syscalls/syscall_o32.tbl,linux-user/mips/syscall_o32.tbl \ 12656a46fbSLaurent Vivierscripts/syscall.tbl,linux-user/openrisc/syscall.tbl \ 13e3a6c825SLaurent Vivierarch/parisc/kernel/syscalls/syscall.tbl,linux-user/hppa/syscall.tbl \ 14e3a6c825SLaurent Vivierarch/powerpc/kernel/syscalls/syscall.tbl,linux-user/ppc/syscall.tbl \ 155281a197SLaurent Vivierscripts/syscall.tbl,linux-user/riscv/syscall.tbl \ 16e3a6c825SLaurent Vivierarch/s390/kernel/syscalls/syscall.tbl,linux-user/s390x/syscall.tbl \ 17e3a6c825SLaurent Vivierarch/sh/kernel/syscalls/syscall.tbl,linux-user/sh4/syscall.tbl \ 18e3a6c825SLaurent Vivierarch/sparc/kernel/syscalls/syscall.tbl,linux-user/sparc64/syscall.tbl \ 19e3a6c825SLaurent Vivierarch/sparc/kernel/syscalls/syscall.tbl,linux-user/sparc/syscall.tbl \ 20e3a6c825SLaurent Vivierarch/x86/entry/syscalls/syscall_32.tbl,linux-user/i386/syscall_32.tbl \ 21e3a6c825SLaurent Vivierarch/x86/entry/syscalls/syscall_64.tbl,linux-user/x86_64/syscall_64.tbl \ 22e3a6c825SLaurent Vivierarch/xtensa/kernel/syscalls/syscall.tbl,linux-user/xtensa/syscall.tbl\ 23e3a6c825SLaurent Vivier" 24e3a6c825SLaurent Vivier 25e3a6c825SLaurent Vivierlinux="$1" 26e3a6c825SLaurent Vivieroutput="$2" 27e3a6c825SLaurent Vivier 28e3a6c825SLaurent Vivierif [ -z "$linux" ] || ! [ -d "$linux" ]; then 29e3a6c825SLaurent Vivier cat << EOF 30e3a6c825SLaurent Vivierusage: update-syscalltbl.sh LINUX_PATH [OUTPUT_PATH] 31e3a6c825SLaurent Vivier 32e3a6c825SLaurent VivierLINUX_PATH Linux kernel directory to obtain the syscall.tbl from 33e3a6c825SLaurent VivierOUTPUT_PATH output directory, usually the qemu source tree (default: $PWD) 34e3a6c825SLaurent VivierEOF 35e3a6c825SLaurent Vivier exit 1 36e3a6c825SLaurent Vivierfi 37e3a6c825SLaurent Vivier 38e3a6c825SLaurent Vivierif [ -z "$output" ]; then 39e3a6c825SLaurent Vivier output="$PWD" 40e3a6c825SLaurent Vivierfi 41e3a6c825SLaurent Vivier 42e3a6c825SLaurent Vivierfor entry in $TBL_LIST; do 43e3a6c825SLaurent Vivier OFS="$IFS" 44e3a6c825SLaurent Vivier IFS=, 45e3a6c825SLaurent Vivier set $entry 46e3a6c825SLaurent Vivier src=$1 47e3a6c825SLaurent Vivier dst=$2 48e3a6c825SLaurent Vivier IFS="$OFS" 49e3a6c825SLaurent Vivier if ! cp "$linux/$src" "$output/$dst" ; then 50e3a6c825SLaurent Vivier echo "Cannot copy $linux/$src to $output/$dst" 1>&2 51e3a6c825SLaurent Vivier exit 1 52e3a6c825SLaurent Vivier fi 53e3a6c825SLaurent Vivierdone 54e3a6c825SLaurent Vivier 55