[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: |
Zhang, Yang Z |
Subject: |
Re: [Qemu-devel] [PATCH] pc: piix4_pm: init legacy PCI hotplug when running on Xen |
Date: |
Tue, 11 Nov 2014 03:32:18 +0000 |
Stefano Stabellini wrote on 2014-11-10:
> 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.
Right. I forget that ACPI is built by hvmloader in Xen. :)
>
>
>>> 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
>>
Best regards,
Yang