浏览代码

[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>
Kumar Gala 17 年之前
父节点
当前提交
fc215fe7e6
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      arch/powerpc/kernel/cpu_setup_6xx.S

+ 7 - 1
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