1*d9fd5a71STiezhu Yang#!/bin/sh 2*d9fd5a71STiezhu Yang# SPDX-License-Identifier: GPL-2.0 3*d9fd5a71STiezhu Yang# 4*d9fd5a71STiezhu Yang# Generate system call table for perf. Derived from 5*d9fd5a71STiezhu Yang# s390 script. 6*d9fd5a71STiezhu Yang# 7*d9fd5a71STiezhu Yang# Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> 8*d9fd5a71STiezhu Yang# Changed by: Tiezhu Yang <yangtiezhu@loongson.cn> 9*d9fd5a71STiezhu Yang 10*d9fd5a71STiezhu YangSYSCALL_TBL=$1 11*d9fd5a71STiezhu Yang 12*d9fd5a71STiezhu Yangif ! test -r $SYSCALL_TBL; then 13*d9fd5a71STiezhu Yang echo "Could not read input file" >&2 14*d9fd5a71STiezhu Yang exit 1 15*d9fd5a71STiezhu Yangfi 16*d9fd5a71STiezhu Yang 17*d9fd5a71STiezhu Yangcreate_table() 18*d9fd5a71STiezhu Yang{ 19*d9fd5a71STiezhu Yang local max_nr nr abi sc discard 20*d9fd5a71STiezhu Yang 21*d9fd5a71STiezhu Yang echo 'static const char *syscalltbl_mips_n64[] = {' 22*d9fd5a71STiezhu Yang while read nr abi sc discard; do 23*d9fd5a71STiezhu Yang printf '\t[%d] = "%s",\n' $nr $sc 24*d9fd5a71STiezhu Yang max_nr=$nr 25*d9fd5a71STiezhu Yang done 26*d9fd5a71STiezhu Yang echo '};' 27*d9fd5a71STiezhu Yang echo "#define SYSCALLTBL_MIPS_N64_MAX_ID $max_nr" 28*d9fd5a71STiezhu Yang} 29*d9fd5a71STiezhu Yang 30*d9fd5a71STiezhu Yanggrep -E "^[[:digit:]]+[[:space:]]+(n64)" $SYSCALL_TBL \ 31*d9fd5a71STiezhu Yang |sort -k1 -n \ 32*d9fd5a71STiezhu Yang |create_table 33