In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized. This mean that there must be
unplug without the consent of the guest.

Without this patch series, the guest end up with two nics with the same MAC,
the emulated nic and the PV nic.

I tried few other path before to submite these patches:
  - delayed the hot unplug in QEMU until the guest initialize the hotplug.
    => the guest unplug the nic only after the driver initialized it. That's a
      bit late.
  - delayed the call to unplug the emulated device until pci_acpi_init is called
    => this is worse, the pv disc does not show up and the guest does not boot.

In order to achive this fix, these patches introduce a new hotplug state only
used in acpi_piix4, and a new qdev callback force_unplug.

Would it be possible to have this fix in the next release?

Thanks,


Anthony PERARD (4):
  Introduce a new hotplug state: Force eject.
  qdev: Introduce qdev_force_unplug.
  pci: Add force_unplug callback.
  xen: Fix PV-on-HVM

 hw/acpi_piix4.c   |    5 +++++
 hw/pci.c          |   15 +++++++++++++--
 hw/pci.h          |    1 +
 hw/qdev.c         |   23 ++++++++++++++++++++---
 hw/qdev.h         |    3 +++
 hw/xen_platform.c |    2 +-
 6 files changed, 43 insertions(+), 6 deletions(-)

-- 
Anthony PERARD


Reply via email to