]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
pc: piix4_pm: init legacy PCI hotplug when running on Xen
authorIgor Mammedov <imammedo@redhat.com>
Fri, 14 Nov 2014 11:11:44 +0000 (11:11 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Mon, 17 Nov 2014 11:19:34 +0000 (11:19 +0000)
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.

From: Igor Mammedov <imammedo@redhat.com>

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.

upstream-commit-id: 91ab2ed7221c70ed7fd09ab2665b1f0493c775a4

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Li Liang <liang.z.li@intel.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Li Liang <liang.z.li@intel.com>
Conflicts:
hw/acpi/piix4.c

hw/acpi/piix4.c
hw/i386/pc_piix.c

index 67dc0752f768173e3c8abc07b1fbf9941437a8d2..709b312e8c00fcf6511081fc0ce03f6a90c3a2cc 100644 (file)
@@ -33,6 +33,7 @@
 #include "hw/acpi/pcihp.h"
 #include "hw/acpi/cpu_hotplug.h"
 #include "hw/hotplug.h"
+#include "hw/xen/xen.h"
 
 //#define DEBUG
 
@@ -453,6 +454,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);
 
index ce708c77a740e1978142360a1b5d7cb1da25368b..4cbd993c82087435b7e533d9b103baedb2239a93 100644 (file)
@@ -837,17 +837,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