aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Martin <Dave.Martin@arm.com>2019-06-07 12:26:24 +0100
committerWill Deacon <will.deacon@arm.com>2019-07-03 10:34:05 +0100
commit292435bc389dd388790ab4793ec06890e0cfca2b (patch)
tree1ee3a02ea30c6a53841cba424de929517cd82c44
parent9f520be560cba627e30b5193697f506f69afc861 (diff)
downloadkvmtool-292435bc389dd388790ab4793ec06890e0cfca2b.tar.gz
update_headers.sh: arm64: Copy sve_context.h if available
The SVE KVM support for arm64 includes the additional backend header <asm/sve_context.h> from <asm/kvm.h>. So update this header if it is available. To avoid creating a sudden dependency on a specific minimum kernel version, ignore such optional headers if the source kernel tree doesn't have them. Signed-off-by: Dave Martin <Dave.Martin@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
-rwxr-xr-xutil/update_headers.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/util/update_headers.sh b/util/update_headers.sh
index a7e21b8f..bf87ef60 100755
--- a/util/update_headers.sh
+++ b/util/update_headers.sh
@@ -25,11 +25,23 @@ fi
cp -- "$LINUX_ROOT/include/uapi/linux/kvm.h" include/linux
+unset KVMTOOL_PATH
+
+copy_optional_arch () {
+ local src="$LINUX_ROOT/arch/$arch/include/uapi/$1"
+
+ if [ -r "$src" ]
+ then
+ cp -- "$src" "$KVMTOOL_PATH/include/asm/"
+ fi
+}
+
for arch in arm arm64 mips powerpc x86
do
case "$arch" in
arm) KVMTOOL_PATH=arm/aarch32 ;;
- arm64) KVMTOOL_PATH=arm/aarch64 ;;
+ arm64) KVMTOOL_PATH=arm/aarch64
+ copy_optional_arch asm/sve_context.h ;;
*) KVMTOOL_PATH=$arch ;;
esac
cp -- "$LINUX_ROOT/arch/$arch/include/uapi/asm/kvm.h" \