xref: /OK3568_Linux_fs/kernel/arch/arm/tools/syscallhdr.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunin="$1"
5*4882a593Smuzhiyunout="$2"
6*4882a593Smuzhiyunmy_abis=`echo "($3)" | tr ',' '|'`
7*4882a593Smuzhiyunprefix="$4"
8*4882a593Smuzhiyunoffset="$5"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunfileguard=_ASM_ARM_`basename "$out" | sed \
11*4882a593Smuzhiyun    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
12*4882a593Smuzhiyun    -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
13*4882a593Smuzhiyunif echo $out | grep -q uapi; then
14*4882a593Smuzhiyun    fileguard="_UAPI$fileguard"
15*4882a593Smuzhiyunfi
16*4882a593Smuzhiyungrep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
17*4882a593Smuzhiyun    echo "#ifndef ${fileguard}"
18*4882a593Smuzhiyun    echo "#define ${fileguard} 1"
19*4882a593Smuzhiyun    echo ""
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun    while read nr abi name entry ; do
22*4882a593Smuzhiyun	if [ -z "$offset" ]; then
23*4882a593Smuzhiyun	    echo "#define __NR_${prefix}${name} $nr"
24*4882a593Smuzhiyun	else
25*4882a593Smuzhiyun	    echo "#define __NR_${prefix}${name} ($offset + $nr)"
26*4882a593Smuzhiyun        fi
27*4882a593Smuzhiyun    done
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun    echo ""
30*4882a593Smuzhiyun    echo "#endif /* ${fileguard} */"
31*4882a593Smuzhiyun) > "$out"
32