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
- 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