diff options
Diffstat (limited to 'arch/arm/include/asm/entry-macro-multi.S')
| -rw-r--r-- | arch/arm/include/asm/entry-macro-multi.S | 16 | 
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/arm/include/asm/entry-macro-multi.S b/arch/arm/include/asm/entry-macro-multi.S index ec0bbf79c71f..2f1e2098dfe7 100644 --- a/arch/arm/include/asm/entry-macro-multi.S +++ b/arch/arm/include/asm/entry-macro-multi.S @@ -1,9 +1,11 @@ +#include <asm/assembler.h> +  /*   * Interrupt handling.  Preserves r7, r8, r9   */  	.macro	arch_irq_handler_default -	get_irqnr_preamble r5, lr -1:	get_irqnr_and_base r0, r6, r5, lr +	get_irqnr_preamble r6, lr +1:	get_irqnr_and_base r0, r2, r6, lr  	movne	r1, sp  	@  	@ routine called with r0 = irq number, r1 = struct pt_regs * @@ -15,17 +17,17 @@  	/*  	 * XXX  	 * -	 * this macro assumes that irqstat (r6) and base (r5) are +	 * this macro assumes that irqstat (r2) and base (r6) are  	 * preserved from get_irqnr_and_base above  	 */ -	ALT_SMP(test_for_ipi r0, r6, r5, lr) +	ALT_SMP(test_for_ipi r0, r2, r6, lr)  	ALT_UP_B(9997f)  	movne	r1, sp  	adrne	lr, BSYM(1b)  	bne	do_IPI  #ifdef CONFIG_LOCAL_TIMERS -	test_for_ltirq r0, r6, r5, lr +	test_for_ltirq r0, r2, r6, lr  	movne	r0, sp  	adrne	lr, BSYM(1b)  	bne	do_local_timer @@ -38,7 +40,7 @@  	.align	5  	.global \symbol_name  \symbol_name: -	mov	r4, lr +	mov	r8, lr  	arch_irq_handler_default -	mov     pc, r4 +	mov     pc, r8  	.endm  |