Title: [5302] branches/2008R1/arch/blackfin/mach-common: Fix BUG [#4412] BF533 + 0.5 silicon + MPU + UART PIO -> crash
Revision
5302
Author
hennerich
Date
2008-09-17 04:41:58 -0500 (Wed, 17 Sep 2008)

Log Message

Fix BUG [#4412] BF533 + 0.5 silicon + MPU + UART PIO -> crash
Apply ANOMALY_05000283 & ANOMALY_05000315 Workaround also to the
EXCEPTION path.
Cover evt_ivhw also with ANOMALY_05000315
The Workaround needs to be prior to accesses (either read or write) to
any system MMR.

Modified Paths

Diff

Modified: branches/2008R1/arch/blackfin/mach-common/entry.S (5301 => 5302)


--- branches/2008R1/arch/blackfin/mach-common/entry.S	2008-09-17 09:34:11 UTC (rev 5301)
+++ branches/2008R1/arch/blackfin/mach-common/entry.S	2008-09-17 09:41:58 UTC (rev 5302)
@@ -403,6 +403,16 @@
 	/* Try to deal with syscalls quickly.  */
 	[--sp] = ASTAT;
 	[--sp] = (R7:6, P5:4);
+
+#if ANOMALY_05000283 || ANOMALY_05000315
+	cc = r7 == r7;
+	p5.h = HI(CHIPID);
+	p5.l = LO(CHIPID);
+	if cc jump 1f;
+	r7.l = W[p5];
+1:
+#endif
+
 	DEBUG_STOP_HWTRACE(p5, r7)
 	r7 = SEQSTAT;		/* reason code is in bit 5:0 */
 	r6.l = lo(SEQSTAT_EXCAUSE);
@@ -923,6 +933,15 @@
 	SAVE_ALL_SYS
 	trace_buffer_stop(p0,r0);
 
+#if ANOMALY_05000283 || ANOMALY_05000315
+	cc = r5 == r5;
+	p4.h = HI(CHIPID);
+	p4.l = LO(CHIPID);
+	if cc jump 1f;
+	r5.l = W[p4];
+1:
+#endif
+
 	/* Turn caches off, to ensure we don't get double exceptions */
 
 	P4.L = LO(IMEM_CONTROL);

Modified: branches/2008R1/arch/blackfin/mach-common/interrupt.S (5301 => 5302)


--- branches/2008R1/arch/blackfin/mach-common/interrupt.S	2008-09-17 09:34:11 UTC (rev 5301)
+++ branches/2008R1/arch/blackfin/mach-common/interrupt.S	2008-09-17 09:41:58 UTC (rev 5302)
@@ -143,7 +143,7 @@
 	fp = 0;
 #endif
 
-#if ANOMALY_05000283
+#if ANOMALY_05000283 || ANOMALY_05000315
 	cc = r7 == r7;
 	p5.h = HI(CHIPID);
 	p5.l = LO(CHIPID);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to