Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 187a51ad authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[PATCH] ARM SMP: consolidate main IRQ handler code

parent 9636273d
Loading
Loading
Loading
Loading
+15 −14
Original line number Diff line number Diff line
@@ -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
 */
@@ -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
@@ -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