From 7de8a7169e0e87c960d06c60570bc062416e681f Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Mon, 23 Jul 2012 10:58:03 +0000 Subject: [PATCH] powerpc: Stack Pointer not properly aligned 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 Signed-off-by: Andy Fleming --- arch/powerpc/lib/board.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index fea310eedd..435ef10a2e 100644 --- a/arch/powerpc/lib/board.c +++ b/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); /*