linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] [POWERPC] ppc32: Fix errata for 603 CPUs
@ 2008-04-21 19:57 Kumar Gala
  2008-04-21 20:19 ` Gabriel Paubert
  2008-04-21 21:22 ` Benjamin Herrenschmidt
  0 siblings, 2 replies; 8+ messages in thread
From: Kumar Gala @ 2008-04-21 19:57 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Paul Mackerras

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

Paul, I've put this into my powerpc-next tree since its a pretty trivial
patch.

- k

 arch/powerpc/kernel/cpu_setup_6xx.S |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kernel/cpu_setup_6xx.S b/arch/powerpc/kernel/cpu_setup_6xx.S
index f1ee0b3..4a1c3cd 100644
--- a/arch/powerpc/kernel/cpu_setup_6xx.S
+++ b/arch/powerpc/kernel/cpu_setup_6xx.S
@@ -17,7 +17,14 @@
 #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	__init_fpu_registers
+	bl	setup_common_caches
+	mtlr	r4
+	blr
 _GLOBAL(__setup_cpu_604)
 	mflr	r4
 	bl	setup_common_caches
-- 
1.5.4.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-04-21 22:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-21 19:57 [PATCH] [POWERPC] ppc32: Fix errata for 603 CPUs Kumar Gala
2008-04-21 20:19 ` Gabriel Paubert
2008-04-21 20:25   ` Kumar Gala
2008-04-21 21:22 ` Benjamin Herrenschmidt
2008-04-21 22:04   ` Kumar Gala
2008-04-21 22:12     ` Benjamin Herrenschmidt
2008-04-21 22:31       ` Kumar Gala
2008-04-21 22:39         ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).