1164a747fSHendrik Brueckner#!/bin/sh 2164a747fSHendrik Brueckner# SPDX-License-Identifier: GPL-2.0 3164a747fSHendrik Brueckner# 4164a747fSHendrik Brueckner# Generate system call table for perf 5164a747fSHendrik Brueckner# 6690d22d9SHendrik Brueckner# Copyright IBM Corp. 2017, 2018 7164a747fSHendrik Brueckner# Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> 8164a747fSHendrik Brueckner# 9164a747fSHendrik Brueckner 10690d22d9SHendrik BruecknerSYSCALL_TBL=$1 11164a747fSHendrik Brueckner 12690d22d9SHendrik Bruecknerif ! test -r $SYSCALL_TBL; then 13164a747fSHendrik Brueckner echo "Could not read input file" >&2 14164a747fSHendrik Brueckner exit 1 15164a747fSHendrik Bruecknerfi 16164a747fSHendrik Brueckner 17164a747fSHendrik Bruecknercreate_table() 18164a747fSHendrik Brueckner{ 19690d22d9SHendrik Brueckner local max_nr nr abi sc discard 20164a747fSHendrik Brueckner 21*49f3806dSTiezhu Yang echo 'static const char *const syscalltbl_s390_64[] = {' 22690d22d9SHendrik Brueckner while read nr abi sc discard; do 23164a747fSHendrik Brueckner printf '\t[%d] = "%s",\n' $nr $sc 24164a747fSHendrik Brueckner max_nr=$nr 25164a747fSHendrik Brueckner done 26164a747fSHendrik Brueckner echo '};' 27164a747fSHendrik Brueckner echo "#define SYSCALLTBL_S390_64_MAX_ID $max_nr" 28164a747fSHendrik Brueckner} 29164a747fSHendrik Brueckner 30690d22d9SHendrik Bruecknergrep -E "^[[:digit:]]+[[:space:]]+(common|64)" $SYSCALL_TBL \ 31690d22d9SHendrik Brueckner |sort -k1 -n \ 32164a747fSHendrik Brueckner |create_table 33