diff options
author | Philippe Gerum <rpm@xenomai.org> | 2009-06-22 12:24:02 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-09-16 21:28:36 -0400 |
commit | fc9afb997f3e871d1c289258d59b48db30984950 (patch) | |
tree | 3d404ee3f4c732504e63b6ac18a2a77dcdccc471 /arch | |
parent | 9703a73c983edab860d6d145c87480440fc83348 (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.S | 24 |
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. */ | ||
291 | 2: | 282 | 2: |
292 | jump 2b; /* Likely paranoid. */ | 283 | jump 2b; /* Likely paranoid. */ |
293 | 3: | ||
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; | ||
306 | ENDPROC(___ipipe_call_irqtail) | 284 | ENDPROC(___ipipe_call_irqtail) |
307 | 285 | ||
308 | #endif /* CONFIG_IPIPE */ | 286 | #endif /* CONFIG_IPIPE */ |