xref: /linux/tools/perf/arch/s390/entry/syscalls/mksyscalltbl (revision 71e2f4dd5a65bd8dbca0b77661e75eea471168f8)
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3#
4# Generate system call table for perf
5#
6# Copyright IBM Corp. 2017, 2018
7# Author(s):  Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
8#
9
10SYSCALL_TBL=$1
11
12if ! test -r $SYSCALL_TBL; then
13	echo "Could not read input file" >&2
14	exit 1
15fi
16
17create_table()
18{
19	local max_nr nr abi sc discard
20
21	echo 'static const char *syscalltbl_s390_64[] = {'
22	while read nr abi sc discard; do
23		printf '\t[%d] = "%s",\n' $nr $sc
24		max_nr=$nr
25	done
26	echo '};'
27	echo "#define SYSCALLTBL_S390_64_MAX_ID $max_nr"
28}
29
30grep -E "^[[:digit:]]+[[:space:]]+(common|64)" $SYSCALL_TBL	\
31	|sort -k1 -n					\
32	|create_table
33