powerpc: Fix usage of 64-bit instruction in 32-bit altivec code
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-12-09 04:45:51
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-12-09 04:45:51
e821ea70f3b4873b50056a1e0f74befed1014c09 introduced a bug by copying some 64-bit originated code as-is to be used by both 32 and 64-bit but this code contains a 64-bit ony "cmpdi" instruction. This changes it to cmpwi, which is fine since VRSAVE can only contains a 32-bit value anyway. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> CC: <stable@kernel.org> --- I'm adding that to -next now so it goes into stable shortly after I push to Linus, hopefully tomorrow Index: linux-work/arch/powerpc/kernel/vector.S ===================================================================
--- linux-work.orig/arch/powerpc/kernel/vector.S 2009-12-09 15:39:55.000000000 +1100
+++ linux-work/arch/powerpc/kernel/vector.S 2009-12-09 15:39:58.000000000 +1100@@ -58,7 +58,7 @@ _GLOBAL(load_up_altivec) * all 1's */ mfspr r4,SPRN_VRSAVE - cmpdi 0,r4,0 + cmpwi 0,r4,0 bne+ 1f li r4,-1 mtspr SPRN_VRSAVE,r4