Hello! > > + /* High MMIO space */ > > + mmio_alias = g_new0(MemoryRegion, 1); > > + memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio-high", > > + mmio_reg, base_mmio_high, size_mmio_high); > > + memory_region_add_subregion(get_system_memory(), base_mmio_high, > > mmio_alias); > Is there any specific reason to have 2 separate regions vs using 1 like in > pc_pci_as_mapping_init() > using region priority instead of splitting.
Unfortunately i'm not familiar very well with qemu memory internals. I saw PC code and i know that it adds PCI region of the size of the whole memory, then adds other things as overlapped regions. But wouldn't it be some resource waste in this case? I understand that in PC absolutely all "unused" addresses fall through to PCI, so that any device can plug in there. On ARM this is different, PCI controller is not a core of the system, it's just one of devices instead. And on our case a huge part of PCI region between VIRT_PCIE_MMIO and VIRT_PCIE_MMIO_HIGH would never be used. Does it worth that ? Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia