@@ -284,7 +284,8 @@ bool pci_bus_is_express(const PCIBus *bus);
void pci_root_bus_init(PCIBus *bus, size_t bus_size, DeviceState *parent,
const char *name,
MemoryRegion *mem, MemoryRegion *io,
- uint8_t devfn_min, const char *typename);
+ uint8_t devfn_min, const char *typename,
+ bool bar_at_addr_0_refused);
PCIBus *pci_root_bus_new(DeviceState *parent, const char *name,
MemoryRegion *mem, MemoryRegion *io,
uint8_t devfn_min, const char *typename);
@@ -313,7 +313,7 @@ static void raven_pcihost_initfn(Object *obj)
&s->pci_io_non_contiguous, 1);
memory_region_add_subregion(address_space_mem, 0xc0000000, &s->pci_memory);
pci_root_bus_init(&s->pci_bus, sizeof(s->pci_bus), DEVICE(obj), NULL,
- &s->pci_memory, &s->pci_io, 0, TYPE_PCI_BUS);
+ &s->pci_memory, &s->pci_io, 0, TYPE_PCI_BUS, true);
/* Bus master address space */
memory_region_init(&s->bm, obj, "bm-raven", 4 * GiB);
@@ -407,7 +407,7 @@ static void pci_vpb_realize(DeviceState *dev, Error **errp)
pci_root_bus_init(&s->pci_bus, sizeof(s->pci_bus), dev, "pci",
&s->pci_mem_space, &s->pci_io_space,
- PCI_DEVFN(11, 0), TYPE_PCI_BUS);
+ PCI_DEVFN(11, 0), TYPE_PCI_BUS, true);
h->bus = &s->pci_bus;
object_initialize(&s->pci_dev, sizeof(s->pci_dev), TYPE_VERSATILE_PCI_HOST);
@@ -561,11 +561,12 @@ bool pci_bus_is_express(const PCIBus *bus)
void pci_root_bus_init(PCIBus *bus, size_t bus_size, DeviceState *parent,
const char *name,
MemoryRegion *mem, MemoryRegion *io,
- uint8_t devfn_min, const char *typename)
+ uint8_t devfn_min, const char *typename,
+ bool bar_at_addr_0_refused)
{
qbus_init(bus, bus_size, typename, parent, name);
pci_root_bus_internal_init(bus, parent, mem, io, devfn_min,
- true);
+ bar_at_addr_0_refused);
}
PCIBus *pci_root_bus_new(DeviceState *parent, const char *name,
Have pci_root_bus_init() callers set the 'bar_at_addr_0_refused' argument. No logical change. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- include/hw/pci/pci.h | 3 ++- hw/pci-host/raven.c | 2 +- hw/pci-host/versatile.c | 2 +- hw/pci/pci.c | 5 +++-- 4 files changed, 7 insertions(+), 5 deletions(-)