On Mon, 10 Nov 2014, Zhang, Yang Z wrote: > 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.
If I recall correctly the new mechanism is based on fw_cfg, right? Xen doesn't have fw_cfg and it uses a different set of ACPI table, built by one additional piece of firmware call "hvmloader" that KVM or QEMU don't use. > > 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 >