[OpenBIOS] Q: qemu ppc ofmem memory layout

Andreas Färber andreas.faerber at web.de
Sun Oct 10 15:38:50 CEST 2010


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.

This means, the malloc zone has a fixed lower limit and grows  
absolutely with the amount of RAM assigned to QEMU. Is this really  
The code comment in ofmem.c rather looks like the fixed OFMEM value  
was taken from a 96 MB memory layout, where it would seem relative to  
top of RAM with fixed size.

Even worse, like any other memory on ppc this hugeish part of memory  
is never claimed...

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.
Has anyone looked into this before? Any ideas what might be going  
wrong? I tried carefully not to include a call to  
ofmem_arch_get_private() inside setup_mmu().


More information about the OpenBIOS mailing list