diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-04-21 14:09:44 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-04-21 15:00:32 -0500 |
commit | fc215fe7e6f0420afee0e0987fcc311929ee662f (patch) | |
tree | abd10b165834136d6ec047c9363bc789566430bb /arch/powerpc/kernel/cpu_setup_6xx.S | |
parent | 87c448c2f2dd734910617274637e726c82d0af25 (diff) | |
download | lwn-fc215fe7e6f0420afee0e0987fcc311929ee662f.tar.gz lwn-fc215fe7e6f0420afee0e0987fcc311929ee662f.zip |
[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 <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/cpu_setup_6xx.S')
-rw-r--r-- | arch/powerpc/kernel/cpu_setup_6xx.S | 8 |
1 files changed, 7 insertions, 1 deletions
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 <asm/cache.h> _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 |