Ronald G. Minnich ([email protected]) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2168
-gerrit commit 437ad0c9b33a716661c17b0493622ff2338e36ff Author: Ronald G. Minnich <[email protected]> Date: Thu Jan 17 11:14:17 2013 -0800 Fix the stack setup code so we can use an arbitrary 32-bit value We've had obscure errors as the size of the bootblock changes. This fix allows us to use a 32-bit constant. Please test on real hardware before you ack. Change-Id: Ic3d9f4763554bd6104ae9c4ce5bbacd17b40872c Signed-off-by: Ronald G. Minnich <[email protected]> --- src/arch/armv7/bootblock.inc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/arch/armv7/bootblock.inc b/src/arch/armv7/bootblock.inc index e1b8b19..4fe7502 100644 --- a/src/arch/armv7/bootblock.inc +++ b/src/arch/armv7/bootblock.inc @@ -71,7 +71,7 @@ reset: /* Set stackpointer in internal RAM to call board_init_f */ call_bootblock: - ldr sp, =(CONFIG_SYS_INIT_SP_ADDR) /* Set up stack pointer */ + ldr sp, .Stack /* Set up stack pointer */ bic sp, sp, #7 /* 8-byte alignment for ABI compliance */ ldr r0,=0x00000000 /* @@ -85,3 +85,11 @@ call_bootblock: wait_for_interrupt: wfi mov pc, lr @ back to my caller + +/* we do it this way because it's a 32-bit constant and + * in some cases too far away to be loaded as just an offset + * from IP + */ +.align 2 +.Stack: + .word CONFIG_SYS_INIT_SP_ADDR -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

