[OpenBIOS] Q: qemu ppc ofmem memory layout
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
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