diff options
| author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2012-07-23 10:58:03 +0000 | 
|---|---|---|
| committer | Andy Fleming <afleming@freescale.com> | 2012-08-22 16:07:42 -0500 | 
| commit | 7de8a7169e0e87c960d06c60570bc062416e681f (patch) | |
| tree | 07c3a054dde7952701357d375080d124477b5120 | |
| parent | 89f4289958c12e6b64a6073f820255c1f719c5cc (diff) | |
| download | olio-uboot-2014.01-7de8a7169e0e87c960d06c60570bc062416e681f.tar.xz olio-uboot-2014.01-7de8a7169e0e87c960d06c60570bc062416e681f.zip | |
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 <Joakim.Tjernlund@transmode.se>
Signed-off-by: Andy Fleming <afleming@freescale.com>
| -rw-r--r-- | arch/powerpc/lib/board.c | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index fea310eed..435ef10a2 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);  	/* |