Since all sPAPR machines set MachineClass::pci_allow_0_address (see commit e402463073 "pci: allow 0 address for PCI IO/MEM regions"), directly create the host bridge passing bar_at_addr_0_refused=false to pci_register_root_bus().
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/ppc/spapr.c | 1 - hw/ppc/spapr_pci.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 5c02037c564..8af56bd68a2 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -4600,7 +4600,6 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data) mc->default_display = "std"; mc->kvm_type = spapr_kvm_type; machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SPAPR_PCI_HOST_BRIDGE); - mc->pci_allow_0_address = true; assert(!mc->get_hotplug_handler); mc->get_hotplug_handler = spapr_get_hotplug_handler; hc->pre_plug = spapr_machine_device_pre_plug; diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index e6e8018c1cd..1d12c0b4112 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1886,7 +1886,7 @@ static void spapr_phb_realize(DeviceState *dev, Error **errp) pci_spapr_set_irq, pci_swizzle_map_irq_fn, sphb, &sphb->memspace, &sphb->iospace, PCI_DEVFN(0, 0), PCI_NUM_PINS, - TYPE_PCI_BUS, true); + TYPE_PCI_BUS, false); /* * Despite resembling a vanilla PCI bus in most ways, the PAPR -- 2.45.2