From: Kumar Gala Date: Mon, 21 Apr 2008 19:09:44 +0000 (-0500) Subject: [POWERPC] ppc32: Fix errata for 603 CPUs X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=fc215fe7e6f0420afee0e0987fcc311929ee662f;p=openwrt%2Fstaging%2Fblogic.git [POWERPC] ppc32: Fix errata for 603 CPUs 603 CPUs have the same issue that some 750 CPUs have in that they can crash in funny ways if a store from an FPU register instruction is executed on a register that has never been initialized since power on. This patch fixes it by making sure all FP registers have been properly initialized at kernel boot. Signed-off-by: Kumar Gala --- diff --git a/arch/powerpc/kernel/cpu_setup_6xx.S b/arch/powerpc/kernel/cpu_setup_6xx.S index f1ee0b3f78f2..72d1d7395254 100644 --- a/arch/powerpc/kernel/cpu_setup_6xx.S +++ b/arch/powerpc/kernel/cpu_setup_6xx.S @@ -17,7 +17,13 @@ #include _GLOBAL(__setup_cpu_603) - b setup_common_caches + mflr r4 +BEGIN_FTR_SECTION + bl __init_fpu_registers +END_FTR_SECTION_IFCLR(CPU_FTR_FPU_UNAVAILABLE) + bl setup_common_caches + mtlr r4 + blr _GLOBAL(__setup_cpu_604) mflr r4 bl setup_common_caches