Skip to content

Commit

Permalink
[PATCH] ARM SMP: consolidate main IRQ handler code
Browse files Browse the repository at this point in the history
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed May 21, 2005
1 parent 9636273 commit 187a51a
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions arch/arm/kernel/entry-armv.S
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,19 @@

#include "entry-header.S"

/*
* Interrupt handling. Preserves r7, r8, r9
*/
.macro irq_handler
1: get_irqnr_and_base r0, r6, r5, lr
movne r1, sp
@
@ routine called with r0 = irq number, r1 = struct pt_regs *
@
adrne lr, 1b
bne asm_do_IRQ
.endm

/*
* Invalid mode handlers
*/
Expand Down Expand Up @@ -136,13 +149,7 @@ __irq_svc:
add r7, r9, #1 @ increment it
str r7, [r8, #TI_PREEMPT]
#endif
1: get_irqnr_and_base r0, r6, r5, lr
movne r1, sp
@
@ routine called with r0 = irq number, r1 = struct pt_regs *
@
adrne lr, 1b
bne asm_do_IRQ
irq_handler
#ifdef CONFIG_PREEMPT
ldr r0, [r8, #TI_FLAGS] @ get flags
tst r0, #_TIF_NEED_RESCHED
Expand Down Expand Up @@ -337,13 +344,7 @@ __irq_usr:
add r7, r9, #1 @ increment it
str r7, [r8, #TI_PREEMPT]
#endif
1: get_irqnr_and_base r0, r6, r5, lr
movne r1, sp
adrne lr, 1b
@
@ routine called with r0 = irq number, r1 = struct pt_regs *
@
bne asm_do_IRQ
irq_handler
#ifdef CONFIG_PREEMPT
ldr r0, [r8, #TI_PREEMPT]
teq r0, r7
Expand Down

0 comments on commit 187a51a

Please sign in to comment.