From: Anthony L. <an...@co...> - 2008-04-11 14:55:44
|
Avi Kivity wrote: > Anthony Liguori wrote: >> Joerg Roedel wrote: >>> The compilation of kvm-userspace part fails if the in-kernel pit is not >>> detected in <linux/kvm.h> with the following error message: >>> >>> pc.o: In function `pc_init1': >>> /home/jroedel/src/kvm/kvm-userspace/qemu/hw/pc.c:987: undefined >>> reference to `kvm_pit_init' >>> collect2: ld returned 1 exit status >>> >>> This patch fixes this little issue. >>> >> >> A better solution is to wrap qemu_kvm_put_in_kernel in an #ifdef >> KVM_CAP_PIT so that if it isn't defined, it always returns 0. gcc >> will then do the right thing. >> > > I would like to move qemu from depending on linux/kvm.h directly. > However, there is a lot of work needed to get that (including some > pointless stuff like defining libkvm structures to take the place of > kvm.h structures) so perhaps it is not a realistic goal. My real point was that the #ifdef should be in the definition of qemu_kvm_put_in_kernel() as opposed to in C code. If we use #ifdef USE_KVM_PIT instead of #ifdef KVM_CAP_PIT that's fine by me. Regards, Anthony Liguori |