Message ID | 4E02608F.7010500@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 22.06.2011 23:37, schrieb Jan Kiszka: > On 2011-06-22 22:51, Stefan Weil wrote: >> If not, kvm="yes" should be restricted to platforms with kvm support. >> >> Otherwise, QEMU builds will fail very early: >> >> ERROR: Host kernel lacks signalfd() support, >> but KVM depends on it when the IO thread is disabled. >> >> Of course, users of those non-kvm platforms can set --disable-kvm, >> but I don't think that is the correct solution. >> >> Even with kvm disabled, builds still fail for non-kvm systems: >> >> In file included from /qemu/hw/kvmclock.c:21: >> /qemu/linux-headers/linux/kvm_para.h:26:26: warning: asm/kvm_para.h: No >> such file or directory > > That indicates symlink emulation under Windows does not support > directories. Can you confirm this (check what > <builddir>/linux-headers/asm became)? Then we would have to link all > files in the arch header dir individually. > > Jan Even when cross compiling for w32 (on a linux host), kvmclock.c does not compile: $ LANG=C make CFLAGS=-g CC i386-softmmu/kvmclock.o In file included from /home/stefan/src/qemu/savannah/qemu/hw/kvmclock.c:20: /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:10:25: warning: linux/types.h: No such file or directory /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:12:25: warning: linux/ioctl.h: No such file or directory In file included from /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:13, from /home/stefan/src/qemu/savannah/qemu/hw/kvmclock.c:20: ../linux-headers/asm/kvm.h:32: error: expected specifier-qualifier-list before '__u32' ../linux-headers/asm/kvm.h:41: error: expected specifier-qualifier-list before '__u8' ../linux-headers/asm/kvm.h:61: error: expected specifier-qualifier-list before '__u64' Is kvmclock.c really needed for non-kvm platforms? Or does it simply need a obj-i386-$(CONFIG_KVM) in Makefile.target? Stefan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2011-06-23 07:37, Stefan Weil wrote: > Am 22.06.2011 23:37, schrieb Jan Kiszka: >> On 2011-06-22 22:51, Stefan Weil wrote: >>> If not, kvm="yes" should be restricted to platforms with kvm support. >>> >>> Otherwise, QEMU builds will fail very early: >>> >>> ERROR: Host kernel lacks signalfd() support, >>> but KVM depends on it when the IO thread is disabled. >>> >>> Of course, users of those non-kvm platforms can set --disable-kvm, >>> but I don't think that is the correct solution. >>> >>> Even with kvm disabled, builds still fail for non-kvm systems: >>> >>> In file included from /qemu/hw/kvmclock.c:21: >>> /qemu/linux-headers/linux/kvm_para.h:26:26: warning: asm/kvm_para.h: No >>> such file or directory >> >> That indicates symlink emulation under Windows does not support >> directories. Can you confirm this (check what >> <builddir>/linux-headers/asm became)? Then we would have to link all >> files in the arch header dir individually. >> >> Jan > > Even when cross compiling for w32 (on a linux host), kvmclock.c > does not compile: > > $ LANG=C make CFLAGS=-g > CC i386-softmmu/kvmclock.o > In file included from /home/stefan/src/qemu/savannah/qemu/hw/kvmclock.c:20: > /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:10:25: > warning: linux/types.h: No such file or directory > /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:12:25: > warning: linux/ioctl.h: No such file or directory > In file included from > /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:13, > from /home/stefan/src/qemu/savannah/qemu/hw/kvmclock.c:20: > ../linux-headers/asm/kvm.h:32: error: expected specifier-qualifier-list > before '__u32' > ../linux-headers/asm/kvm.h:41: error: expected specifier-qualifier-list > before '__u8' > ../linux-headers/asm/kvm.h:61: error: expected specifier-qualifier-list > before '__u64' > > Is kvmclock.c really needed for non-kvm platforms? Or does it simply need > a obj-i386-$(CONFIG_KVM) in Makefile.target? It's not needed, specifically as we do not (yet) emulate the pv interfaces of KVM. But changing the makefile won't suffice, we also need to stub out kvmclock_create. Right now I'm fighting to get a mingw build that far at all. The version I have here (gcc 4.6 based) does not include liberity (but apparently links fine without as well). Then there are tons of other errors and warnings. Do you have some tree with recent fixes? I would suggest you to set up a buildbot for the Windows platform. That should help to get notifications about breakages a bit earlier. And that may help to keep their number down (this broken window thing: once the first few got damaged, no one will bother about smashing another one. Jan
diff --git a/configure b/configure index 3286e33..e6847c4 100755 --- a/configure +++ b/configure @@ -113,7 +113,7 @@ curl="" curses="" docs="" fdt="" -kvm="yes" +kvm="" nptl="" sdl="" vnc="yes" @@ -129,7 +129,7 @@ xen="" xen_ctrl_version="" linux_aio="" attr="" -vhost_net="yes" +vhost_net="" xfs="" gprof="no" @@ -457,6 +457,8 @@ Haiku) linux="yes" linux_user="yes" usb="linux" + kvm="yes" + vhost_net="yes" if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then audio_possible_drivers="$audio_possible_drivers fmod" fi