[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] pc: piix4_pm: init legacy PCI hotplug when running on Xen



Konrad,
this is another bug fix for QEMU: pci hotplug doesn't work when
xen_platform_pci=0 without this.

I think we should have it in 4.5. What do you think?

- Stefano

On Thu, 13 Nov 2014, Paolo Bonzini wrote:
> On 13/11/2014 03:30, Li Liang wrote:
> > 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.
> > 
> > Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
> > [liang.z.li@xxxxxxxxx: use "xen_enabled()" instead of "!fw_cfg"]
> > Signed-off-by: Li Liang <liang.z.li@xxxxxxxxx>
> > ---
> >  hw/acpi/piix4.c   |  4 ++++
> >  hw/i386/pc_piix.c | 11 -----------
> >  2 files changed, 4 insertions(+), 11 deletions(-)
> > 
> > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
> > index 78c0a6d..481a16c 100644
> > --- a/hw/acpi/piix4.c
> > +++ b/hw/acpi/piix4.c
> > @@ -36,6 +36,7 @@
> >  #include "hw/mem/pc-dimm.h"
> >  #include "hw/acpi/memory_hotplug.h"
> >  #include "hw/acpi/acpi_dev_interface.h"
> > +#include "hw/xen/xen.h"
> >  
> >  //#define DEBUG
> >  
> > @@ -501,6 +502,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 (xen_enabled()) {
> > +        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 b559181..7bb97a4 100644
> > --- a/hw/i386/pc_piix.c
> > +++ b/hw/i386/pc_piix.c
> > @@ -916,17 +916,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
> >  
> > 
> 
> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> 
> Stefano, are you going to send the pull request yourself?
> 
> Paolo
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.