Igor Mammedov wrote on 2014-05-23: > 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. > > 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.
I am wondering why Xen cannot use new mechanism to do the hotplug. > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > --- > hw/acpi/piix4.c | 3 +++ > hw/i386/pc_piix.c | 11 ----------- > 2 files changed, 3 insertions(+), 11 deletions(-) > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index 227ea30..12542c3 > 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -501,6 +501,9 @@ > I2CBus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, > s->irq = sci_irq; > s->smi_irq = smi_irq; > s->kvm_enabled = kvm_enabled; > + if (!fw_cfg) { > + s->use_acpi_pci_hotplug = false; > + } > > qdev_init_nofail(dev); > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index > a13e8d6..067ff0c 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c > @@ -840,17 +840,6 @@ static QEMUMachine xenfv_machine = { > .max_cpus = HVM_MAX_VCPUS, > .default_machine_opts = "accel=xen", > .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 Best regards, Yang