[ kvm-Bugs-2168011 ] kvm_host.h:128: error: field 'mmu_notifier' has incomplete

SourceForge.net
2008-12-24T16:27:55Z

Message generated for change (Comment added) made by avik
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=893831&aid=2168011&group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Pending
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Stephane Bakhos (nuitari3)
Assigned to: Nobody/Anonymous (nobody)
Summary: kvm_host.h:128: error: field 'mmu_notifier' has incomplete

Initial Comment:
When compiling kvm-77/76 on a 2.6.27 kernel with AMD IOMMU activated I get:

kvm_host.h:128: error: field 'mmu_notifier' has incomplete type

----------------------------------------------------------------------

>Comment By: Avi Kivity (avik)
Date: 2008-12-24 18:27

Message:
Well, very old kernels don't have kvm support at all, and this would break
them.

----------------------------------------------------------------------

Comment By: Wolfram Gloger (wg1)
Date: 2008-12-24 17:53

Message:
Oops, you are correct of course. CONFIG_KVM set and all is well.
May I suggest the following patch so this doesn't bite people so easily.

--- configure.orig 2008-12-14 14:16:27.000000000 +0100
+++ configure 2008-12-24 16:46:03.000000000 +0100
@@ -134,6 +134,19 @@
fi
fi

+if [ -e "$kerneldir/.config" ]; then
+ if egrep -q "^CONFIG_KVM=(y|m)" "$kerneldir/.config"; then
+ :
+ else
+ echo "Warning: kernel not configured for KVM"
+ echo "kvm kernel modules may not build correctly"
+ fi
+else
+ echo "Error: kernel .config not found"
+ echo "Please make sure your kernel is configured"
+ exit 1
+fi
+
#configure user dir
(cd user; ./configure --prefix="$prefix" --kerneldir="$libkvm_kerneldir"
\
--arch="$arch" --processor="$processor" \

----------------------------------------------------------------------

Comment By: Avi Kivity (avik)
Date: 2008-12-24 15:49

Message:
You should enable the host kernel's kvm modules even if you don't plan to
use them, so they will select functionality like mmu notifiers.

----------------------------------------------------------------------

Comment By: Wolfram Gloger (wg1)
Date: 2008-12-15 20:11

Message:
Sorry, cannot seem to attach a file (I looked hard!), so here the patch
inline (applies to kvm-81, too):

--- kernel/include/linux/kvm_host.h.orig 2008-11-12
13:23:58.000000000 +0100
+++ kernel/include/linux/kvm_host.h 2008-11-15 21:08:02.000000000
+0100
@@ -46,6 +46,7 @@
* the COPYING file in the top-level directory.
*/

+#include <linux/mmu_notifier.h>
#include <linux/types.h>
#include <linux/hardirq.h>
#include <linux/list.h>
--- kernel/include/linux/mmu_notifier.h.orig 2008-12-15
18:31:52.000000000 +0100
+++ kernel/include/linux/mmu_notifier.h 2008-11-15 21:19:08.000000000
+0100
@@ -0,0 +1,6 @@
+#ifndef _LINUX_MMU_NOTIFIER_H
+#define _LINUX_MMU_NOTIFIER_H
+
+struct mmu_notifier {};
+
+#endif

----------------------------------------------------------------------

Comment By: Wolfram Gloger (wg1)
Date: 2008-12-15 20:00