#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
#
# Generate system call table for perf. Derived from
# s390 script.
#
# Copyright IBM Corp. 2017
# Author(s):  Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
# Changed by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>

wordsize=$1
SYSCALL_TBL=$2

if ! test -r $SYSCALL_TBL; then
	echo "Could not read input file" >&2
	exit 1
fi

create_table()
{
	local wordsize=$1
	local max_nr nr abi sc discard
	max_nr=-1
	nr=0

	echo "static const char *syscalltbl_powerpc_${wordsize}[] = {"
	while read nr abi sc discard; do
		if [ "$max_nr" -lt "$nr" ]; then
			printf '\t[%d] = "%s",\n' $nr $sc
			max_nr=$nr
		fi
	done
	echo '};'
	echo "#define SYSCALLTBL_POWERPC_${wordsize}_MAX_ID $max_nr"
}

grep -E "^[[:digit:]]+[[:space:]]+(common|spu|nospu|${wordsize})" $SYSCALL_TBL \
	|sort -k1 -n                                                           \
	|create_table ${wordsize}
