From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH] pc: piix4_pm: init legacy PCI hotplug when running on Xen Date: Fri, 14 Nov 2014 10:50:39 -0500 Message-ID: <20141114155039.GF5364@laptop.dumpdata.com> References: <1415845856-24791-1-git-send-email-liang.z.li@intel.com> <54648AB7.5010706@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: xen-devel@lists.xensource.com, mst@redhat.com, liang.z.li@intel.com, "stefano.stabellini@citrix.com" , aliguori@amazon.com, qemu-devel@nongun.org, Igor Mammedov , rth@twiddle.net List-Id: xen-devel@lists.xenproject.org On Fri, Nov 14, 2014 at 01:57:21PM +0000, Stefano Stabellini wrote: > Konrad, > this is another bug fix for QEMU: pci hotplug doesn't work when > xen_platform_pci=0 without this. Yes. > > I think we should have it in 4.5. What do you think? Do you believe we should first get an Tested-by from the Intel QA folks? Thanks. > > - 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 > > > [liang.z.li@intel.com: use "xen_enabled()" instead of "!fw_cfg"] > > > Signed-off-by: Li Liang > > > --- > > > 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 > > > > Stefano, are you going to send the pull request yourself? > > > > Paolo > >