On Fri, Mar 12, 2021 at 07:28:50PM +0100, Philippe Mathieu-Daudé wrote: > The raven bus-master memory region is exposed as an AddressSpace. > AddressSpaces root MemoryRegion must not be mapped into other > MemoryRegion, therefore map the region using its alias. > > Signed-off-by: Philippe Mathieu-Daudé Acked-by: David Gibson > --- > hw/pci-host/prep.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c > index 00a28c2d18c..6eaf9242bd8 100644 > --- a/hw/pci-host/prep.c > +++ b/hw/pci-host/prep.c > @@ -295,8 +295,6 @@ static void raven_pcihost_initfn(Object *obj) > memory_region_add_subregion(address_space_mem, 0x80000000, > &s->pci_io_non_contiguous); > memory_region_add_subregion(address_space_mem, 0xc0000000, &s->pci_memory); > - pci_root_bus_new_inplace(&s->pci_bus, sizeof(s->pci_bus), DEVICE(obj), NULL, > - &s->pci_memory, &s->pci_io, 0, TYPE_PCI_BUS); > > /* Bus master address space */ > memory_region_init(&s->bm, obj, "bm-raven", 4 * GiB); > @@ -308,6 +306,10 @@ static void raven_pcihost_initfn(Object *obj) > memory_region_add_subregion(&s->bm, 0 , &s->bm_pci_memory_alias); > memory_region_add_subregion(&s->bm, 0x80000000, &s->bm_ram_alias); > address_space_init(&s->bm_as, &s->bm, "raven-bm"); > + > + pci_root_bus_new_inplace(&s->pci_bus, sizeof(s->pci_bus), DEVICE(obj), NULL, > + &s->bm_pci_memory_alias, &s->pci_io, 0, > + TYPE_PCI_BUS); > pci_setup_iommu(&s->pci_bus, raven_pcihost_set_iommu, s); > > h->bus = &s->pci_bus; -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson