On Mon, Aug 11, 2014 at 04:00:19PM -0700, ron minnich wrote:
During debugging I found that stack is initialized in range 0x40000-0x7FF00 (using .Stack and .Stack_size).
When coreboot code is executed:
reset init_stack_loop call_bootblock main +- armv7_invalidate_caches +- icache_invalidate_all +- dcache_invalidate_all +- dcache_foreach <- here we have ldmia instruction that cause execution out of RAM/ROM
I see that SP value change but stack memory dump (x/50x 0x7FE00) show all 0xffffffff. So my questions are: - how to check on qemu-system-arm that stack was correctly initialized and works fine ? - it looks like instruction like stmdb sp!, {r0, r1, r4, r5, r6, r7, r9, r10, r11, lr} is unable to dump register values on the stack
- is above range initialized for stack really correct for qemu ? - memory map show that in that range flash0 is mapped (for '-bios' option), when I memsaved this range I get all 0xffffffff, or maybe I'm confusing some different types of memory ?
Thanks, Piotr