On 11/07/13 22:24, Marcel Apfelbaum wrote: > On Thu, 2013-11-07 at 22:12 +0100, Laszlo Ersek wrote:
>> adding subregion 'pci-hole' to region 'system' at offset 60000000 >> warning: subregion collision 60000000/a0000000 (pci-hole) vs >> ffe00000/200000 (system.flash) > Thank you Laszlo for the detailed info! > I think the problem is right above. Why pci-hole and system.flash collide? > IMHO we should not play with priorities here, better solve the collision. pc_init1() pc_memory_init() pc_system_firmware_init() pc_system_flash_init() <---- sets base address to 0x100000000ULL - flash_size pflash_cfi01_register() sysbus_mmio_map() sysbus_mmio_map_common() memory_region_add_subregion() i440fx_init() memory_region_init_alias("pci-hole") pc_init1() passes 0x100000000ULL - below_4g_mem_size to i440fx_init() as "pci_hole_size", which is then used as the size of the "pci-hole" alias. We should probably subtract the size of the flash from this, but I don't know how to do that "elegantly". Yet another (output) parameter for pc_memory_init()? Blech. Or look up the end address of "system.flash" by name? Thanks Laszlo