[POWERPC] ppc32: Fix errata for 603 CPUs
authorKumar Gala <galak@kernel.crashing.org>
Mon, 21 Apr 2008 19:09:44 +0000 (14:09 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Mon, 21 Apr 2008 20:00:32 +0000 (15:00 -0500)
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>
arch/powerpc/kernel/cpu_setup_6xx.S

index f1ee0b3f78f26fc1e0364244b2819486e637191f..72d1d739525425e023ee719f45ce2ee3f1da6646 100644 (file)
 #include <asm/cache.h>
 
 _GLOBAL(__setup_cpu_603)
 #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
 _GLOBAL(__setup_cpu_604)
        mflr    r4
        bl      setup_common_caches