Gregory Haskins wrote:
> Hi kvm-devs,
> Been away from the kvm scene for a while...hope everyone is well.
>
> FYI: There are a few build breakages between kvm-userspace.git HEAD
> (f29d402ab885d30bfa7350378cff911c9c17a226) when you compile against
> Linus' linux-2.6.git HEAD
> (v2.6.29-rc8-041b62374c7fedc11a8a1eeda2868612d3d1436c)
>
> I am not sure if this is a supported configuration (e.g. perhaps you
> only support building kvm-userspace HEAD against Avi's kernel tree?).
> But in case this was unintentional, read on...
>
> First error:
>
> libkvm.c:702: error: 'struct kvm_irq_level' has no member named
> 'status' make[1]: *** [libkvm.o] Error 1
>
> Which is attributable to:
>
> commit ea1b668e7684dc43e9d198ba0b25fe47a0b2acd2
> Author: Gleb Natapov <[email protected]>
> Date: Wed Feb 4 17:30:01 2009 +0200
>
> kvm: qemu: handle IRQ status injection in userspace
>
> Reverting this patch does allow the build to get past this error.
> Then I hit the next one:
>
> device-assignment.o: In function `deassign_device':
> /home/ghaskins/sandbox/git/fabric/kvm-userspace/qemu/hw/device-assignment.c:562:
> undefined reference to `kvm_deassign_pci_device'
>
> Reverting:
>
> commit 1435f18213edee9fabf936f5d6be70054f1f2bd1
> Author: Weidong Han <[email protected]>
> Date: Wed Feb 18 14:33:41 2009 +0800
>
> kvm: qemu: fix hot remove assigned device
>
> Followed by:
>
> commit 71ae34caaa961330f53f40090cd180a74fcda5fc
> Author: Weidong Han <[email protected]>
> Date: Wed Feb 18 14:28:30 2009 +0800
>
> kvm: qemu: deassign device from guest
>
> Does fix the build. I realize reversion is probably not the desirable
> long term solution, but at least it points to the proper places that
> need some backwards-compat love ;)
>
kvm_deassign_pci_device is defined when KVM_CAP_DEVICE_DEASSIGNMENT is defined.
Following patch should fix the breakage.
diff --git a/qemu/hw/device-assignment.c b/qemu/hw/device-assignment.c
index 7c73210..6765683 100644
--- a/qemu/hw/device-assignment.c
+++ b/qemu/hw/device-assignment.c
@@ -551,6 +551,7 @@ static int assign_irq(AssignedDevInfo *adev)
static void deassign_device(AssignedDevInfo *adev)
{
+#ifdef KVM_CAP_DEVICE_DEASSIGNMENT
struct kvm_assigned_pci_dev assigned_dev_data;
AssignedDevice *dev = adev->assigned_dev;
int r;
@@ -563,6 +564,7 @@ static void deassign_device(AssignedDevInfo *adev)
if (r < 0)
fprintf(stderr, "Failed to deassign device \"%s\" : %s\n",
adev->name, strerror(-r));
+#endif
}
void remove_assigned_device(AssignedDevInfo *adev)
> Regards,
> -Greg
--
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