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 /arch | |
parent | 89f4289958c12e6b64a6073f820255c1f719c5cc (diff) | |
download | u-boot-imx-7de8a7169e0e87c960d06c60570bc062416e681f.zip u-boot-imx-7de8a7169e0e87c960d06c60570bc062416e681f.tar.gz u-boot-imx-7de8a7169e0e87c960d06c60570bc062416e681f.tar.bz2 |
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>
Diffstat (limited to 'arch')
-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 fea310e..435ef10 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); /* |