1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 3*4882a593Smuzhiyunout="$1" 4*4882a593Smuzhiyunshift 5*4882a593Smuzhiyunin="$@" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunfor i in $in; do 8*4882a593Smuzhiyun eval $CPP $LINUXINCLUDE -dD -imacros "$i" -x c /dev/null 9*4882a593Smuzhiyundone | \ 10*4882a593Smuzhiyunawk '$1 == "#define" && $2 ~ /__HYPERVISOR_[a-z][a-z_0-9]*/ { v[$3] = $2 } 11*4882a593Smuzhiyun END { print "/* auto-generated by scripts/xen-hypercall.sh */" 12*4882a593Smuzhiyun for (i in v) if (!(v[i] in v)) 13*4882a593Smuzhiyun print "HYPERCALL("substr(v[i], 14)")"}' | sort -u >$out 14