xref: /openbmc/linux/tools/perf/arch/s390/entry/syscalls/mksyscalltbl (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
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