aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/interrupt.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-common/interrupt.S')
-rw-r--r--arch/blackfin/mach-common/interrupt.S11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index b27e59d32401..4a2ec7a9675a 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -143,7 +143,7 @@ ENTRY(_evt_ivhw)
143 fp = 0; 143 fp = 0;
144#endif 144#endif
145 145
146#if ANOMALY_05000283 146#if ANOMALY_05000283 || ANOMALY_05000315
147 cc = r7 == r7; 147 cc = r7 == r7;
148 p5.h = HI(CHIPID); 148 p5.h = HI(CHIPID);
149 p5.l = LO(CHIPID); 149 p5.l = LO(CHIPID);
@@ -179,7 +179,16 @@ ENTRY(_evt_ivhw)
179 call _trap_c; 179 call _trap_c;
180 SP += 12; 180 SP += 12;
181 181
182#ifdef EBIU_ERRMST
183 /* make sure EBIU_ERRMST is clear */
184 p0.l = LO(EBIU_ERRMST);
185 p0.h = HI(EBIU_ERRMST);
186 r0.l = (CORE_ERROR | CORE_MERROR);
187 w[p0] = r0.l;
188#endif
189
182 call _ret_from_exception; 190 call _ret_from_exception;
191
183.Lcommon_restore_all_sys: 192.Lcommon_restore_all_sys:
184 RESTORE_ALL_SYS 193 RESTORE_ALL_SYS
185 rti; 194 rti;