[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/3] Fix broken PCIe device after migration
From: |
Igor Mammedov |
Subject: |
[PATCH v2 0/3] Fix broken PCIe device after migration |
Date: |
Tue, 1 Mar 2022 10:11:57 -0500 |
Changelog:
v2:
* instead of disabling power control on slot and letting ACPI
PCI hotplug module in guest to deal with it, set
PCI_EXP_SLTCTL_PWR_ON on PCIe slot from acpi_pcihp_device_plug_cb()
when a device plugged into it.
Currently ACPI PCI hotplug is enabled by default for Q35 machine
type and overrides native PCIe hotplug. It works as expected when
a PCIe device is hotplugged into slot, however the device becomes
in-operational after migration. Which is caused by BARs being
disabled on target due to powered off status of the slot.
Proposed fix turns on power on PCIe slot when a device is
hotplugged into it, then that state is migrated and device
stays powred on after migration.
Tested with (seabios: FC34, Win2012; ovmf: RHEL8)
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=2053584
CC: mst@redhat.com
CC: kraxel@redhat.com
Ref to v1:
https://lore.kernel.org/all/20220225100127.78974d71@redhat.com/T/
Gitlab link:
https://gitlab.com/imammedo/qemu/-/tree/pcie_poweroff_acpi_regression_rhbz2053584_V2
Igor Mammedov (3):
pci: expose TYPE_XIO3130_DOWNSTREAM name
acpi: pcihp: pcie: set power on cap on parent slot
q35: compat: keep hotplugged PCIe device broken after migration for
6.2 and older machine types
include/hw/acpi/pcihp.h | 1 +
include/hw/pci-bridge/xio3130_downstream.h | 15 +++++++++++++++
include/hw/pci/pcie.h | 1 +
hw/acpi/ich9.c | 20 ++++++++++++++++++++
hw/acpi/pcihp.c | 15 ++++++++++++++-
hw/core/machine.c | 4 +++-
hw/pci-bridge/xio3130_downstream.c | 3 ++-
hw/pci/pcie.c | 11 +++++++++++
8 files changed, 67 insertions(+), 3 deletions(-)
create mode 100644 include/hw/pci-bridge/xio3130_downstream.h
--
2.31.1
- [PATCH v2 0/3] Fix broken PCIe device after migration,
Igor Mammedov <=