Re: [PATCH 03/12] Switch build system to accompanied kernel headers

Stefan Weil
2011-06-23T05:37:11Z

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