pc: piix4_pm: init legacy PCI hotplug when running on Xen
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. 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>
This commit is contained in:
		
							parent
							
								
									c52e67924f
								
							
						
					
					
						commit
						91ab2ed722
					
				| 
						 | 
				
			
			@ -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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue