mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-30 06:25:03 +08:00
9b4ade226f
Today there are several places in the kernel which build tables containing one entry for each possible Xen hypercall. Create an infrastructure to be able to generate these tables at build time. Based-on-patch-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
13 lines
351 B
Bash
13 lines
351 B
Bash
#!/bin/sh
|
|
out="$1"
|
|
shift
|
|
in="$@"
|
|
|
|
for i in $in; do
|
|
eval $CPP $LINUXINCLUDE -dD -imacros "$i" -x c /dev/null
|
|
done | \
|
|
awk '$1 == "#define" && $2 ~ /__HYPERVISOR_[a-z][a-z_0-9]*/ { v[$3] = $2 }
|
|
END { print "/* auto-generated by scripts/xen-hypercall.sh */"
|
|
for (i in v) if (!(v[i] in v))
|
|
print "HYPERCALL("substr(v[i], 14)")"}' | sort -u >$out
|