qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 01/12] Add kernel header update script


From: Jan Kiszka
Subject: [Qemu-devel] [PATCH 01/12] Add kernel header update script
Date: Wed, 8 Jun 2011 16:10:55 +0200

This helper pulls the required kernel headers for KVM and vhost into a
specified directory. The update is triggered via

    scripts/update-linux-headers.sh LINUX_PATH

and will place the output under linux-headers/linux and linux-headers/asm-*.
It also imports the COPYING to care for headers without an explicit license.

CC: Alexander Graf <address@hidden>
CC: Christoph Hellwig <address@hidden>
CC: Peter Maydell <address@hidden>
CC: Andreas Färber <address@hidden>
Signed-off-by: Jan Kiszka <address@hidden>
---
 linux-headers/README            |    2 +
 scripts/update-linux-headers.sh |   55 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 0 deletions(-)
 create mode 100644 linux-headers/README
 create mode 100755 scripts/update-linux-headers.sh

diff --git a/linux-headers/README b/linux-headers/README
new file mode 100644
index 0000000..5c9026b
--- /dev/null
+++ b/linux-headers/README
@@ -0,0 +1,2 @@
+Automatically imported Linux kernel headers.
+Only use scripts/update-linux-headers.sh to update!
diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
new file mode 100755
index 0000000..e5f45b2
--- /dev/null
+++ b/scripts/update-linux-headers.sh
@@ -0,0 +1,55 @@
+#!/bin/sh -e
+#
+# Update Linux kernel headers QEMU requires from a specified kernel tree.
+#
+# Copyright (C) 2011 Siemens AG
+#
+# Authors:
+#  Jan Kiszka        <address@hidden>
+#
+# This work is licensed under the terms of the GNU GPL version 2.
+# See the COPYING file in the top-level directory.
+
+tmpdir=$TMPDIR/.tmp-hdrs-$$
+linux=$1
+output=$2
+
+if [ -z "$linux" -o ! -d "$linux" ]; then
+    cat << EOF
+usage: update-kernel-headers.sh LINUX_PATH [OUTPUT_PATH]
+
+LINUX_PATH      Linux kernel directory to obtain the headers from
+OUTPUT_PATH     output directory, usually the qemu source tree (default: $PWD)
+EOF
+    exit 1
+fi
+
+if [ -z "$output" ]; then
+    output=$PWD
+fi
+
+for arch in x86 powerpc s390; do
+    make -C $linux INSTALL_HDR_PATH=$tmpdir SRCARCH=$arch headers_install
+
+    rm -rf $output/linux-headers/asm-$arch
+    mkdir -p $output/linux-headers/asm-$arch
+    for header in kvm.h kvm_para.h; do
+        cp $tmpdir/include/asm/$header $output/linux-headers/asm-$arch
+    done
+    if [ $arch == x86 ]; then
+        cp $tmpdir/include/asm/hyperv.h $output/linux-headers/asm-x86
+    fi
+done
+
+rm -rf $output/linux-headers/linux
+mkdir -p $output/linux-headers/linux
+for header in kvm.h kvm_para.h vhost.h virtio_config.h virtio_ring.h; do
+    cp $tmpdir/include/linux/$header $output/linux-headers/linux
+done
+if [ -L $linux/source ]; then
+    cp $linux/source/COPYING $output/linux-headers
+else
+    cp $linux/COPYING $output/linux-headers
+fi
+
+rm -rf $tmpdir
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]