diff options
author | Juergen Gross <jgross@suse.com> | 2015-01-21 08:49:22 +0100 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2015-03-16 14:49:13 +0000 |
commit | 9b4ade226f7468bb26f98b6cd01cb5b8a05fc96d (patch) | |
tree | 8f3de75f4cf3ad1eb3a6523dc89babbba46eb160 /scripts/xen-hypercalls.sh | |
parent | b6a473a7e1d4f81fc3e355c95982820bb8eae97d (diff) | |
download | lwn-9b4ade226f7468bb26f98b6cd01cb5b8a05fc96d.tar.gz lwn-9b4ade226f7468bb26f98b6cd01cb5b8a05fc96d.zip |
xen: build infrastructure for generating hypercall depending symbols
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>
Diffstat (limited to 'scripts/xen-hypercalls.sh')
-rw-r--r-- | scripts/xen-hypercalls.sh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/xen-hypercalls.sh b/scripts/xen-hypercalls.sh new file mode 100644 index 000000000000..676d9226814f --- /dev/null +++ b/scripts/xen-hypercalls.sh @@ -0,0 +1,12 @@ +#!/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 |