40 lines
		
	
	
		
			919 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			919 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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}
 |