aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/entry-armv.S31
1 files changed, 2 insertions, 29 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index caa6c396ec78..a866dce611d0 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -25,6 +25,7 @@
25#include <asm/tls.h> 25#include <asm/tls.h>
26 26
27#include "entry-header.S" 27#include "entry-header.S"
28#include <asm/entry-macro-multi.S>
28 29
29/* 30/*
30 * Interrupt handling. Preserves r7, r8, r9 31 * Interrupt handling. Preserves r7, r8, r9
@@ -38,35 +39,7 @@
38 teq r5, #0 39 teq r5, #0
39 movne pc, r5 40 movne pc, r5
40#endif 41#endif
41 get_irqnr_preamble r5, lr 42 arch_irq_handler_default
421: get_irqnr_and_base r0, r6, r5, lr
43 movne r1, sp
44 @
45 @ routine called with r0 = irq number, r1 = struct pt_regs *
46 @
47 adrne lr, BSYM(1b)
48 bne asm_do_IRQ
49
50#ifdef CONFIG_SMP
51 /*
52 * XXX
53 *
54 * this macro assumes that irqstat (r6) and base (r5) are
55 * preserved from get_irqnr_and_base above
56 */
57 ALT_SMP(test_for_ipi r0, r6, r5, lr)
58 ALT_UP_B(9997f)
59 movne r0, sp
60 adrne lr, BSYM(1b)
61 bne do_IPI
62
63#ifdef CONFIG_LOCAL_TIMERS
64 test_for_ltirq r0, r6, r5, lr
65 movne r0, sp
66 adrne lr, BSYM(1b)
67 bne do_local_timer
68#endif
69#endif
709997: 439997:
71 .endm 44 .endm
72 45