mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-29 05:13:54 -06:00
pci: mark devices partially unplugged
Only the guest unplug request was triggered. This is needed for the failover feature. In case of a failed migration we need to plug the device back to the guest. Signed-off-by: Jens Freimann <jfreimann@redhat.com> Message-Id: <20191029114905.6856-4-jfreimann@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
4f5b6a05a4
commit
a99c4da9fc
2 changed files with 4 additions and 0 deletions
|
@ -456,6 +456,9 @@ static void pcie_unplug_device(PCIBus *bus, PCIDevice *dev, void *opaque)
|
||||||
{
|
{
|
||||||
HotplugHandler *hotplug_ctrl = qdev_get_hotplug_handler(DEVICE(dev));
|
HotplugHandler *hotplug_ctrl = qdev_get_hotplug_handler(DEVICE(dev));
|
||||||
|
|
||||||
|
if (dev->partially_hotplugged) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
hotplug_handler_unplug(hotplug_ctrl, DEVICE(dev), &error_abort);
|
hotplug_handler_unplug(hotplug_ctrl, DEVICE(dev), &error_abort);
|
||||||
object_unparent(OBJECT(dev));
|
object_unparent(OBJECT(dev));
|
||||||
}
|
}
|
||||||
|
|
|
@ -265,6 +265,7 @@ typedef struct PCIReqIDCache PCIReqIDCache;
|
||||||
|
|
||||||
struct PCIDevice {
|
struct PCIDevice {
|
||||||
DeviceState qdev;
|
DeviceState qdev;
|
||||||
|
bool partially_hotplugged;
|
||||||
|
|
||||||
/* PCI config space */
|
/* PCI config space */
|
||||||
uint8_t *config;
|
uint8_t *config;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue