Message ID | 20200924070013.165026-2-jusual@redhat.com |
---|---|
State | New |
Headers | show |
Series | Use ACPI PCI hot-plug for Q35 | expand |
On Thu, 24 Sep 2020 09:00:07 +0200 Julia Suvorova <jusual@redhat.com> wrote: > PCI Express does not allow hot-plug on pcie.0. Check for Q35 in > acpi_pcihp_disable_root_bus() to be able to forbid hot-plug using the > 'acpi-root-pci-hotplug' flag. > > Signed-off-by: Julia Suvorova <jusual@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > hw/acpi/pcihp.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c > index 39b1f74442..ff23104aea 100644 > --- a/hw/acpi/pcihp.c > +++ b/hw/acpi/pcihp.c > @@ -107,13 +107,14 @@ static void acpi_set_pci_info(void) > static void acpi_pcihp_disable_root_bus(void) > { > static bool root_hp_disabled; > + Object *host = acpi_get_i386_pci_host(); > PCIBus *bus; > > if (root_hp_disabled) { > return; > } > > - bus = find_i440fx(); > + bus = PCI_HOST_BRIDGE(host)->bus; > if (bus) { > /* setting the hotplug handler to NULL makes the bus non-hotpluggable */ > qbus_set_hotplug_handler(BUS(bus), NULL);
On Thu, Sep 24, 2020 at 12:30 PM Julia Suvorova <jusual@redhat.com> wrote: > > PCI Express does not allow hot-plug on pcie.0. Check for Q35 in > acpi_pcihp_disable_root_bus() to be able to forbid hot-plug using the > 'acpi-root-pci-hotplug' flag. I think what this change is doing here is making acpi_pcihp_disable_root_bus() function compatible with q35 as well. > > Signed-off-by: Julia Suvorova <jusual@redhat.com> > --- > hw/acpi/pcihp.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c > index 39b1f74442..ff23104aea 100644 > --- a/hw/acpi/pcihp.c > +++ b/hw/acpi/pcihp.c > @@ -107,13 +107,14 @@ static void acpi_set_pci_info(void) > static void acpi_pcihp_disable_root_bus(void) > { > static bool root_hp_disabled; > + Object *host = acpi_get_i386_pci_host(); > PCIBus *bus; > > if (root_hp_disabled) { > return; > } > > - bus = find_i440fx(); > + bus = PCI_HOST_BRIDGE(host)->bus; > if (bus) { > /* setting the hotplug handler to NULL makes the bus non-hotpluggable */ > qbus_set_hotplug_handler(BUS(bus), NULL); > -- > 2.25.4 >
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 39b1f74442..ff23104aea 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -107,13 +107,14 @@ static void acpi_set_pci_info(void) static void acpi_pcihp_disable_root_bus(void) { static bool root_hp_disabled; + Object *host = acpi_get_i386_pci_host(); PCIBus *bus; if (root_hp_disabled) { return; } - bus = find_i440fx(); + bus = PCI_HOST_BRIDGE(host)->bus; if (bus) { /* setting the hotplug handler to NULL makes the bus non-hotpluggable */ qbus_set_hotplug_handler(BUS(bus), NULL);
PCI Express does not allow hot-plug on pcie.0. Check for Q35 in acpi_pcihp_disable_root_bus() to be able to forbid hot-plug using the 'acpi-root-pci-hotplug' flag. Signed-off-by: Julia Suvorova <jusual@redhat.com> --- hw/acpi/pcihp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)