[U-Boot] [PATCHv2 2/2] powerpc: Stack Pointer not properly aligned

Joakim Tjernlund
2012-07-23T20:58:03Z

The code first aligns the SP to 16 then subtract 8, making it
8 bytes aligned. Furthermore the initial stack frame not
quite correct either.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
---

v2 - Address Scott Wood's comments

arch/powerpc/lib/board.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)

diff --git arch/powerpc/lib/board.c arch/powerpc/lib/board.c
index d5b75e5..a46942c 100644
--- arch/powerpc/lib/board.c
+++ arch/powerpc/lib/board.c
@@ -521,9 +521,8 @@ void board_init_f(ulong bootflag)
addr_sp -= 16;
addr_sp &= ~0xF;
s = (ulong *) addr_sp;
- *s-- = 0;
- *s-- = 0;
- addr_sp = (ulong) s;
+ *s = 0; /* Terminate back chain */
+ *++s = 0; /* NULL return address */
debug("Stack Pointer at: %08lx\n", addr_sp);

/*
--
1.7.3.4