162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# Generate system call table for perf. Derived from 562306a36Sopenharmony_ci# powerpc script. 662306a36Sopenharmony_ci# 762306a36Sopenharmony_ci# Copyright IBM Corp. 2017 862306a36Sopenharmony_ci# Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> 962306a36Sopenharmony_ci# Changed by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> 1062306a36Sopenharmony_ci# Changed by: Kim Phillips <kim.phillips@arm.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cigcc=$1 1362306a36Sopenharmony_cihostcc=$2 1462306a36Sopenharmony_ciincpath=$3 1562306a36Sopenharmony_ciinput=$4 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciif ! test -r $input; then 1862306a36Sopenharmony_ci echo "Could not read input file" >&2 1962306a36Sopenharmony_ci exit 1 2062306a36Sopenharmony_cifi 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_cicreate_sc_table() 2362306a36Sopenharmony_ci{ 2462306a36Sopenharmony_ci local sc nr max_nr 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci while read sc nr; do 2762306a36Sopenharmony_ci printf "%s\n" " [$nr] = \"$sc\"," 2862306a36Sopenharmony_ci max_nr=$nr 2962306a36Sopenharmony_ci done 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci echo "#define SYSCALLTBL_ARM64_MAX_ID $max_nr" 3262306a36Sopenharmony_ci} 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cicreate_table() 3562306a36Sopenharmony_ci{ 3662306a36Sopenharmony_ci echo "#include \"$input\"" 3762306a36Sopenharmony_ci echo "static const char *const syscalltbl_arm64[] = {" 3862306a36Sopenharmony_ci create_sc_table 3962306a36Sopenharmony_ci echo "};" 4062306a36Sopenharmony_ci} 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci$gcc -E -dM -x c -I $incpath/include/uapi $input \ 4362306a36Sopenharmony_ci |awk '$2 ~ "__NR" && $3 !~ "__NR3264_" { 4462306a36Sopenharmony_ci sub("^#define __NR(3264)?_", ""); 4562306a36Sopenharmony_ci print | "sort -k2 -n"}' \ 4662306a36Sopenharmony_ci |create_table 47