pc: piix4_pm: init legacy PCI hotplug when running on Xen
If user starts QEMU with "-machine pc,accel=xen", then compat property in xenfv won't work and it would cause error: "Unsupported bus. Bus doesn't have property 'acpi-pcihp-bsel' set" when PCI device is added with -device on QEMU CLI. From: Igor Mammedov <imammedo@redhat.com> In case of Xen instead of using compat property, just use the fact that xen doesn't use QEMU's fw_cfg/acpi tables to switch piix4_pm into legacy PCI hotplug mode when Xen is enabled. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Li Liang <liang.z.li@intel.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
c52e67924f
commit
91ab2ed722
@ -36,6 +36,7 @@
|
|||||||
#include "hw/mem/pc-dimm.h"
|
#include "hw/mem/pc-dimm.h"
|
||||||
#include "hw/acpi/memory_hotplug.h"
|
#include "hw/acpi/memory_hotplug.h"
|
||||||
#include "hw/acpi/acpi_dev_interface.h"
|
#include "hw/acpi/acpi_dev_interface.h"
|
||||||
|
#include "hw/xen/xen.h"
|
||||||
|
|
||||||
//#define DEBUG
|
//#define DEBUG
|
||||||
|
|
||||||
@ -501,6 +502,9 @@ I2CBus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base,
|
|||||||
s->irq = sci_irq;
|
s->irq = sci_irq;
|
||||||
s->smi_irq = smi_irq;
|
s->smi_irq = smi_irq;
|
||||||
s->kvm_enabled = kvm_enabled;
|
s->kvm_enabled = kvm_enabled;
|
||||||
|
if (xen_enabled()) {
|
||||||
|
s->use_acpi_pci_hotplug = false;
|
||||||
|
}
|
||||||
|
|
||||||
qdev_init_nofail(dev);
|
qdev_init_nofail(dev);
|
||||||
|
|
||||||
|
@ -916,17 +916,6 @@ static QEMUMachine xenfv_machine = {
|
|||||||
.max_cpus = HVM_MAX_VCPUS,
|
.max_cpus = HVM_MAX_VCPUS,
|
||||||
.default_machine_opts = "accel=xen",
|
.default_machine_opts = "accel=xen",
|
||||||
.hot_add_cpu = pc_hot_add_cpu,
|
.hot_add_cpu = pc_hot_add_cpu,
|
||||||
.compat_props = (GlobalProperty[]) {
|
|
||||||
/* xenfv has no fwcfg and so does not load acpi from QEMU.
|
|
||||||
* as such new acpi features don't work.
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
.driver = "PIIX4_PM",
|
|
||||||
.property = "acpi-pci-hotplug-with-bridge-support",
|
|
||||||
.value = "off",
|
|
||||||
},
|
|
||||||
{ /* end of list */ }
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user