162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# Generate system call table for perf 562306a36Sopenharmony_ci# 662306a36Sopenharmony_ci# Copyright IBM Corp. 2017, 2018 762306a36Sopenharmony_ci# Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> 862306a36Sopenharmony_ci# 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciSYSCALL_TBL=$1 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciif ! test -r $SYSCALL_TBL; then 1362306a36Sopenharmony_ci echo "Could not read input file" >&2 1462306a36Sopenharmony_ci exit 1 1562306a36Sopenharmony_cifi 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cicreate_table() 1862306a36Sopenharmony_ci{ 1962306a36Sopenharmony_ci local max_nr nr abi sc discard 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci echo 'static const char *const syscalltbl_s390_64[] = {' 2262306a36Sopenharmony_ci while read nr abi sc discard; do 2362306a36Sopenharmony_ci printf '\t[%d] = "%s",\n' $nr $sc 2462306a36Sopenharmony_ci max_nr=$nr 2562306a36Sopenharmony_ci done 2662306a36Sopenharmony_ci echo '};' 2762306a36Sopenharmony_ci echo "#define SYSCALLTBL_S390_64_MAX_ID $max_nr" 2862306a36Sopenharmony_ci} 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_cigrep -E "^[[:digit:]]+[[:space:]]+(common|64)" $SYSCALL_TBL \ 3162306a36Sopenharmony_ci |sort -k1 -n \ 3262306a36Sopenharmony_ci |create_table 33