aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/interrupt.S
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-08-05 05:03:59 -0400
committerBryan Wu <bryan.wu@analog.com>2007-08-05 05:03:59 -0400
commitf0b5d12f2b3226c85258519d7725e63d9daf5e90 (patch)
treed64fdcf65cb5f647b544ece5f1727af5153c0a3d /arch/blackfin/mach-common/interrupt.S
parent0174dd59bb5f343e8981b5ea7a3dc782fad5b644 (diff)
Blackfin arch: allow people to select the feature that is unavailable to the kernel
- allow people to select the feature that is unavailable to the kernel: NMI, JTAG, or CYCLES. - change default NMI handler to simply dump hardware trace buffer. - remove default NMI handler completely as calling into kernel code is not safe move example handler to wiki so people dont haphazardly copy and paste this stuff thinking its safe Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-common/interrupt.S')
-rw-r--r--arch/blackfin/mach-common/interrupt.S28
1 files changed, 8 insertions, 20 deletions
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index 1d5ba5e3d91c..c6b32fe0f6e9 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -177,27 +177,15 @@ ENTRY(_evt_ivhw)
177 jump .Lcommon_restore_context; 177 jump .Lcommon_restore_context;
178#endif 178#endif
179 179
180/* interrupt routine for evt2 - 2. This is NMI. */ 180/* Interrupt routine for evt2 (NMI).
181ENTRY(_evt_evt2) 181 * We don't actually use this, so just return.
182 SAVE_CONTEXT 182 * For inner circle type details, please see:
183#ifdef CONFIG_FRAME_POINTER 183 * http://docs.blackfin.uclinux.org/doku.php?id=linux:nmi
184 fp = 0; 184 */
185#endif 185ENTRY(_evt_nmi)
186#if ANOMALY_05000283 186.weak _evt_nmi
187 cc = r7 == r7;
188 p5.h = 0xffc0;
189 p5.l = 0x0014;
190 if cc jump 1f;
191 r7.l = W[p5];
1921:
193#endif
194 r0 = IRQ_NMI;
195 r1 = sp;
196 SP += -12;
197 call _asm_do_IRQ;
198 SP += 12;
199 RESTORE_CONTEXT
200 rtn; 187 rtn;
188ENDPROC(_evt_nmi)
201 189
202/* interrupt routine for core timer - 6 */ 190/* interrupt routine for core timer - 6 */
203ENTRY(_evt_timer) 191ENTRY(_evt_timer)