kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kvm-userspace: fix module build with --kerneldir
@ 2008-11-25 13:57 Joerg Roedel
  2008-11-26 10:42 ` Avi Kivity
  2008-12-01 14:28 ` Maik Hentsche
  0 siblings, 2 replies; 13+ messages in thread
From: Joerg Roedel @ 2008-11-25 13:57 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm, Maik Hentsche, Joerg Roedel

From: Maik Hentsche <maik.hentsche@amd.com>

When kvm-userspace is build with a different kernel version than the
running kernel the depmod at the end will fail. This patch fixed the
problem.

Signed-off-by: Maik Hentsche <maik.hentsche@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
 build/kernel_version.c |    9 +++++++++
 configure              |   14 ++++++++++++++
 kernel/Makefile        |    2 +-
 3 files changed, 24 insertions(+), 1 deletions(-)
 create mode 100644 build/kernel_version.c

diff --git a/build/kernel_version.c b/build/kernel_version.c
new file mode 100644
index 0000000..c2ff550
--- /dev/null
+++ b/build/kernel_version.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <linux/utsrelease.h>
+
+int main()
+{
+        printf("%s",UTS_RELEASE);
+        return(0);
+}
+
diff --git a/configure b/configure
index 63f956c..49c732b 100755
--- a/configure
+++ b/configure
@@ -15,6 +15,12 @@ qemu_opts=()
 cross_prefix=
 arch=`uname -m`
 target_exec=
+# don't use uname if kerneldir is set
+no_uname=
+depmod_version=
+if [ -z "TMPDIR" ] ; then
+    TMPDIR=.
+fi
 
 usage() {
     cat <<-EOF
@@ -56,6 +62,7 @@ while [[ "$1" = -* ]]; do
 	    ;;
 	--kerneldir)
 	    kerneldir="$arg"
+            no_uname=1
 	    ;;
 	--with-patched-kernel)
 	    want_module=
@@ -112,6 +119,12 @@ if [ -d "$kerneldir/include2" ]; then
     kernelsourcedir=${kerneldir%/*}/source
 fi
 
+if [ -n "$no_uname" ]; then
+    $cc -I$kerneldir/include build/kernel_version.c -o $TMPDIR/kernel_version
+    depmod_version=`$TMPDIR/kernel_version`
+    rm $TMPDIR/kernel_version
+fi
+
 #configure user dir
 (cd user; ./configure --prefix="$prefix" --kerneldir="$libkvm_kerneldir" \
           --arch="$arch" --processor="$processor" \
@@ -143,6 +156,7 @@ CC=$cross_prefix$cc
 LD=$cross_prefix$ld
 OBJCOPY=$cross_prefix$objcopy
 AR=$cross_prefix$ar
+DEPMOD_VERSION=$depmod_version
 EOF
 
 cat <<EOF > kernel/config.kbuild
diff --git a/kernel/Makefile b/kernel/Makefile
index 33d6a84..9188802 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -107,7 +107,7 @@ install:
 		 $(ORIGMODDIR)/arch/$(ARCH_DIR)/kvm/*.ko; do \
 		if [ -f "$$i" ]; then mv "$$i" "$$i.orig"; fi; \
 	done
-	/sbin/depmod -a
+	/sbin/depmod -a $(DEPMOD_VERSION)
 
 tmpspec = .tmp.kvm-kmod.spec
 
-- 
1.5.6.4



^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-12-10 10:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-25 13:57 [PATCH] kvm-userspace: fix module build with --kerneldir Joerg Roedel
2008-11-26 10:42 ` Avi Kivity
2008-11-26 10:59   ` Maik Hentsche
2008-11-26 11:14     ` Avi Kivity
2008-11-26 12:14       ` Maik Hentsche
2008-11-26 16:03         ` Avi Kivity
2008-11-26 12:16       ` Jan Kiszka
2008-11-26 16:00         ` Avi Kivity
2008-11-27 14:15           ` Eduardo Habkost
2008-11-27 14:26             ` Avi Kivity
2008-12-01 14:28 ` Maik Hentsche
2008-12-09 15:02   ` Joerg Roedel
2008-12-10 10:06     ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).