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
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel