summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@quad.osdl.org>2006-03-04 15:00:45 -0800
committerLinus Torvalds <torvalds@quad.osdl.org>2006-03-04 15:00:45 -0800
commitc05b47704570b015134522c36142cd17bd48640a (patch)
tree11080365ff881392954d0f26f57dffbcbd47f984 /arch/powerpc
parent3af1efe8a301f5b1c813f5f761cb1e10d6175605 (diff)
downloadblackbird-op-linux-c05b47704570b015134522c36142cd17bd48640a.tar.gz
blackbird-op-linux-c05b47704570b015134522c36142cd17bd48640a.zip
ppc64: make sure to align stack pointer to 16 bytes at boot
yaboot is scrogged and calls us with an invalid stack alignment, it seems. Thanks to David Woodhouse to pointing me to the problem. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/head_64.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 11f2cd5af7dc..9b65029dd2a3 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -1537,6 +1537,9 @@ _STATIC(__boot_from_prom)
mr r28,r6
mr r27,r7
+ /* Align the stack to 16-byte boundary for broken yaboot */
+ rldicr r1,r1,0,59
+
/* Make sure we are running in 64 bits mode */
bl .enable_64b_mode
OpenPOWER on IntegriCloud