[email protected] wrote:
From: Christian Ehrhardt <[email protected]>
There is already a variable kvm_cflags which gets the path of the kernel
includes when using --kerneldir. But eventually with newer kernels we all will
need arch/$arch/include too (my case was a incldue of asm/kvm.h which was not
found anymore). Headers in a full kernel source are not flattened to
one arch like they are if e.g. installed kernel headers are used.
I also stumbled over this recently (in kvm-userspace.git), but I had
problems with the qemu part not including KVM support because in
qemu/configure the KVM build test failed due to the missing asm/kvm.h.
I saw that --kerneldir gets not propagated to qemu, but libkvm_kerneldir
instead, which is hardcoded to point to `pwd`/kernel. Shouldn't that be
fixed, too?
I use kvm-userspace.git and a not-installed kernel from kvm.git for
compiling, so I say "./configure --kerneldir=/src/kvm.git
--with-patched-kernel". I eventually hacked KVM's configure to propagate
--kerneldir to qemu and added arch/x86/include to the include path in
qemu/configure. This is of course a hack (that's why I don't append it
here), but it worked ;-)
If someone proposes a clean and easy way to solve this, I'd be happy to
write a patch.
To fix that, the includes added to cflags depending on --kerneldir should also
contian the arch includes. The patch adds a special check for x86 because its
source layout recently changed, all others directly use arch/$cpu/include if
existent.
This is one problem I also noticed. $cpu is not the same as the Linux'
arch name, is there a suitable variable or do we have to do a large
switch/case?
Regards,
Andre.
Signed-off-by: Christian Ehrhardt <[email protected]>
---
[diffstat]
configure | 6 ++++++
1 file changed, 6 insertions(+)
[diff]
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -963,6 +963,12 @@ EOF
EOF
if test "$kerneldir" != "" ; then
kvm_cflags=-I"$kerneldir"/include
+ if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) \
+ -a -d "$kerneldir/arch/x86/include" ; then
+ kvm_cflags="$kvm_cflags -I$kerneldir/arch/x86/include"
+ elif test -d "$kerneldir/arch/$cpu/include" ; then
+ kvm_cflags="$kvm_cflags -I$kerneldir/arch/$cpu/include"
+ fi
else
kvm_cflags=""
fi
--
Andre Przywara
AMD-OSRC (Dresden)
Tel: x84917
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html