[OpenBIOS] Q: qemu ppc ofmem memory layout

Andreas Färber andreas.faerber at web.de
Sun Oct 10 16:30:55 CEST 2010


Am 10.10.2010 um 15:38 schrieb Andreas Färber:

> In arch/ppc/qemu/ofmem.c, ofmem appears to be located at OFMEM ==  
> 0x05400000 == 84 MiB, with OF_MALLOC_BASE at OFMEM + sizeof(ofmem_t)  
> 4-byte aligned. The upper limit from libopenbios/ofmem_common.c  
> seems to be ofmem_arch_get_heap_top() == "hash base minus fixed  
> value" though, with the hash base being relative to top of RAM.
[...]
> I tried to move ofmem to RAM size - 0x100000 - 64 * 1024 - (32 + 64  
> + 64) * 1024 - 0x200000, but OpenBIOS just busy-looped and never  
> reached the banner.

Ahh... found that some functions made wrong assumptions about the hash  
base. It is not at get_rom_base() - HASH_SIZE, since it gets rounded  
down for alignment. And differently for ppc and ppc64. ;)

I've reordered some code for this to work and will send some patches  
later.

Andreas


More information about the OpenBIOS mailing list