Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) #!/bin/sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) # Generate system call table and header files
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) # Copyright IBM Corp. 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) # Author(s):  Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) # File path to the system call table definition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) # You can set the path with the -i option.  If omitted,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) # system call table definitions are read from standard input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) SYSCALL_TBL=""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) create_syscall_table_entries()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	local nr abi name entry64 entry32 _ignore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	local temp=$(mktemp ${TMPDIR:-/tmp}/syscalltbl-common.XXXXXXXXX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	# Initialize with 0 to create an NI_SYSCALL for 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	local prev_nr=0 prev_32=sys_ni_syscall prev_64=sys_ni_syscall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	while read nr abi name entry64 entry32 _ignore; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 		test x$entry32 = x- && entry32=sys_ni_syscall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 		test x$entry64 = x- && entry64=sys_ni_syscall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 		if test $prev_nr -eq $nr; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 			#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 			# Same syscall but different ABI, just update
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 			# the respective entry point
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 			#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 			case $abi in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 			32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 				prev_32=$entry32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 			;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 			64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 				prev_64=$entry64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 			;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 			esac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 			continue;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 		else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 			printf "%d\t%s\t%s\n" $prev_nr $prev_64 $prev_32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 		fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 		prev_nr=$nr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 		prev_64=$entry64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 		prev_32=$entry32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	printf "%d\t%s\t%s\n" $prev_nr $prev_64 $prev_32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	) >> $temp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	# Check for duplicate syscall numbers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	if ! cat $temp |cut -f1 |uniq -d 2>&1; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 		echo "Error: generated system call table contains duplicate entries: $temp" >&2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 		exit 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	# Generate syscall table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	prev_nr=0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	while read nr entry64 entry32; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 		while test $prev_nr -lt $((nr - 1)); do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 			printf "NI_SYSCALL\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 			prev_nr=$((prev_nr + 1))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 		done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 		if test x$entry64 = xsys_ni_syscall &&
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 		   test x$entry32 = xsys_ni_syscall; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 			printf "NI_SYSCALL\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 		else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 			printf "SYSCALL(%s,%s)\n" $entry64 $entry32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 		fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 		prev_nr=$nr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	done < $temp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	rm $temp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) generate_syscall_table()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	cat <<-EoHEADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	/* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	/*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	 * Definitions for sys_call_table, each line represents an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	 * entry in the table in the form
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	 * SYSCALL(64 bit syscall, 31 bit emulated syscall)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	 *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	 * This file is meant to be included from entry.S.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	#define NI_SYSCALL SYSCALL(sys_ni_syscall,sys_ni_syscall)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) EoHEADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	grep -Ev '^(#|[[:blank:]]*$)' $SYSCALL_TBL	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 		|sort -k1 -n				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 		|create_syscall_table_entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) create_header_defines()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	local nr abi name _ignore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	while read nr abi name _ignore; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 		printf "#define __NR_%s %d\n" $name $nr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) normalize_fileguard()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	local fileguard="$1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	echo "$1" |tr '[[:lower:]]' '[[:upper:]]' \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 		  |sed -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) generate_syscall_header()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	local abis=$(echo "($1)" | tr ',' '|')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	local filename="$2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	local fileguard suffix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	if test "$filename"; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 		fileguard=$(normalize_fileguard "__UAPI_ASM_S390_$2")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 		case "$abis" in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 		*64*) suffix=64 ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 		*32*) suffix=32 ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 		esac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 		fileguard=$(normalize_fileguard "__UAPI_ASM_S390_SYSCALLS_$suffix")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	cat <<-EoHEADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	#ifndef ${fileguard}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	#define ${fileguard}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) EoHEADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 	grep -E "^[[:digit:]]+[[:space:]]+${abis}" $SYSCALL_TBL	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 		|sort -k1 -n					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 		|create_header_defines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	cat <<-EoFOOTER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	#endif /* ${fileguard} */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) EoFOOTER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) __max_syscall_nr()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	local abis=$(echo "($1)" | tr ',' '|')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	grep -E "^[[:digit:]]+[[:space:]]+${abis}" $SYSCALL_TBL	 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 		|sed -ne 's/^\([[:digit:]]*\)[[:space:]].*/\1/p' \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 		|sort -n					 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 		|tail -1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) generate_syscall_nr()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	local abis="$1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	local max_syscall_nr num_syscalls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	max_syscall_nr=$(__max_syscall_nr "$abis")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	num_syscalls=$((max_syscall_nr + 1))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 	cat <<-EoHEADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	#ifndef __ASM_S390_SYSCALLS_NR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	#define __ASM_S390_SYSCALLS_NR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 	#define NR_syscalls ${num_syscalls}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	#endif /* __ASM_S390_SYSCALLS_NR */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) EoHEADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) # Parse command line arguments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) do_syscall_header=""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) do_syscall_table=""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) do_syscall_nr=""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) output_file=""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) abi_list="common,64"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) filename=""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) while getopts ":HNSXi:a:f:" arg; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	case $arg in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	a)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 		abi_list="$OPTARG"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	i)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 		SYSCALL_TBL="$OPTARG"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 	f)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 		filename=${OPTARG##*/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	H)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 		do_syscall_header=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 	N)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 		do_syscall_nr=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	S)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 		do_syscall_table=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	X)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 		set -x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 		;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	:)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 		echo "Missing argument for -$OPTARG" >&2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 		exit 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 	;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 	\?)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 		echo "Invalid option specified" >&2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 		exit 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	esac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) test "$do_syscall_header" && generate_syscall_header "$abi_list" "$filename"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) test "$do_syscall_table" && generate_syscall_table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) test "$do_syscall_nr" && generate_syscall_nr "$abi_list"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) exit 0