aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPhilippe Gerum <rpm@xenomai.org>2009-06-22 12:24:02 -0400
committerMike Frysinger <vapier@gentoo.org>2009-09-16 21:28:36 -0400
commitfc9afb997f3e871d1c289258d59b48db30984950 (patch)
tree3d404ee3f4c732504e63b6ac18a2a77dcdccc471 /arch
parent9703a73c983edab860d6d145c87480440fc83348 (diff)
Blackfin: reuse evt_evt14 handler to perform irqtail epilogue
Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/mach-common/interrupt.S24
1 files changed, 1 insertions, 23 deletions
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index 9c46680186e4..ae7fc88ab6a0 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -276,33 +276,11 @@ ENTRY(___ipipe_call_irqtail)
276 ( r7:4, p5:3 ) = [sp++]; 276 ( r7:4, p5:3 ) = [sp++];
277 rets = [sp++]; 277 rets = [sp++];
278 278
279 [--sp] = reti;
280 reti = [sp++]; /* IRQs are off. */
281 r0.h = 3f;
282 r0.l = 3f;
283 p0.l = lo(EVT14);
284 p0.h = hi(EVT14);
285 [p0] = r0;
286 csync;
287 r0 = 0x401f (z); 279 r0 = 0x401f (z);
288 sti r0; 280 sti r0;
289 raise 14; 281 raise 14; /* Branches to _evt_evt14 */
290 [--sp] = reti; /* IRQs on. */
2912: 2822:
292 jump 2b; /* Likely paranoid. */ 283 jump 2b; /* Likely paranoid. */
2933:
294 sp += 4; /* Discard saved RETI */
295 r0.h = _evt14_softirq;
296 r0.l = _evt14_softirq;
297 p0.l = lo(EVT14);
298 p0.h = hi(EVT14);
299 [p0] = r0;
300 csync;
301 p0.l = _bfin_irq_flags;
302 p0.h = _bfin_irq_flags;
303 r0 = [p0];
304 sti r0;
305 rts;
306ENDPROC(___ipipe_call_irqtail) 284ENDPROC(___ipipe_call_irqtail)
307 285
308#endif /* CONFIG_IPIPE */ 286#endif /* CONFIG_IPIPE */