summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJimi Xenidis <jimix@watson.ibm.com>2005-09-15 08:42:19 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-15 08:04:39 -0700
commitbe201f7f4cd26b1bb994062803e0d87877e749ce (patch)
tree091e65900e1ca67de0549d4236164067596a11e9 /arch
parent0fb74dfb08b3d40e41ffdb6540078dcac433ac7a (diff)
downloadlinux-stable-be201f7f4cd26b1bb994062803e0d87877e749ce.tar.gz
linux-stable-be201f7f4cd26b1bb994062803e0d87877e749ce.tar.bz2
linux-stable-be201f7f4cd26b1bb994062803e0d87877e749ce.zip
[PATCH] ppc64: Fix recent regression
As noted by Olof Johansson <olof@lixom.net>: "A recent patch changed the way the LPAR bit is checked during early boot. This resulted in a polarity change in a conditional branch without changing the branch, causing at least some legacy machines to not boot." This fixes it. Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/ppc64/kernel/head.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/ppc64/kernel/head.S b/arch/ppc64/kernel/head.S
index 58c314738c99..72c61041151a 100644
--- a/arch/ppc64/kernel/head.S
+++ b/arch/ppc64/kernel/head.S
@@ -1649,7 +1649,7 @@ _GLOBAL(__secondary_start)
ld r3,0(r3)
lwz r3,PLATFORM(r3) /* r3 = platform flags */
andi. r3,r3,PLATFORM_LPAR /* Test if bit 0 is set (LPAR bit) */
- bne 98f
+ beq 98f /* branch if result is 0 */
mfspr r3,PVR
srwi r3,r3,16
cmpwi r3,0x37 /* SStar */
@@ -1813,7 +1813,7 @@ _STATIC(start_here_multiplatform)
ld r3,0(r3)
lwz r3,PLATFORM(r3) /* r3 = platform flags */
andi. r3,r3,PLATFORM_LPAR /* Test if bit 0 is set (LPAR bit) */
- bne 98f
+ beq 98f /* branch if result is 0 */
mfspr r3,PVR
srwi r3,r3,16
cmpwi r3,0x37 /* SStar */
@@ -1834,7 +1834,7 @@ _STATIC(start_here_multiplatform)
lwz r3,PLATFORM(r3) /* r3 = platform flags */
/* Test if bit 0 is set (LPAR bit) */
andi. r3,r3,PLATFORM_LPAR
- bne 98f
+ bne 98f /* branch if result is !0 */
LOADADDR(r6,_SDR1) /* Only if NOT LPAR */
sub r6,r6,r26
ld r6,0(r6) /* get the value of _SDR1 */