aboutsummaryrefslogtreecommitdiff
path: root/scripts/update-linux-headers.sh
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2012-09-07 13:50:31 +0100
committerPeter Maydell <peter.maydell@linaro.org>2012-09-07 13:50:31 +0100
commite725def7016382950a6c8a53c562ad70b286962b (patch)
treebbac827ad58da7f76c726e93176f7969a458517c /scripts/update-linux-headers.sh
parent4d7a6ffddee2cc40be69a80c675d48d2e1b44143 (diff)
downloadqemu-arm-e725def7016382950a6c8a53c562ad70b286962b.tar.gz
update-linux-headers.sh: Don't hard code list of architectures
Rather than hardcoding the list of architectures in the kernel header update script, just import headers for every architecture which supports KVM (with a blacklist exception for ia64 which has KVM headers but is dead). This reduces the number of QEMU files which need to be updated to add support for a new KVM architecture. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'scripts/update-linux-headers.sh')
-rwxr-xr-xscripts/update-linux-headers.sh16
1 files changed, 15 insertions, 1 deletions
diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
index a639c5bff0..53a6f87650 100755
--- a/scripts/update-linux-headers.sh
+++ b/scripts/update-linux-headers.sh
@@ -28,7 +28,21 @@ if [ -z "$output" ]; then
output="$PWD"
fi
-for arch in x86 powerpc s390; do
+# This will pick up non-directories too (eg "Kconfig") but we will
+# ignore them in the next loop.
+ARCHLIST=$(cd "$linux/arch" && echo *)
+
+for arch in $ARCHLIST; do
+ # Discard anything which isn't a KVM-supporting architecture
+ if ! [ -e "$linux/arch/$arch/include/asm/kvm.h" ]; then
+ continue
+ fi
+
+ # Blacklist architectures which have KVM headers but are actually dead
+ if [ "$arch" = "ia64" ]; then
+ continue
+ fi
+
make -C "$linux" INSTALL_HDR_PATH="$tmpdir" SRCARCH=$arch headers_install
rm -rf "$output/linux-headers/asm-$arch"