[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pc: piix4_pm: init legacy PCI hotplug when runn
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH] pc: piix4_pm: init legacy PCI hotplug when running on Xen |
Date: |
Mon, 10 Nov 2014 11:42:03 +0000 |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
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 <address@hidden>
> > ---
> > 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
>