1
2
3
4
5
6
7
8
9
10#include <mach/irqs.h>
11
12 .macro disable_fiq
13 .endm
14
15 .macro get_irqnr_preamble, base, tmp
16 .endm
17
18 .macro arch_ret_to_user, tmp1, tmp2
19 .endm
20
21 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
22
23 mov \irqnr,
24 mov \base,
25 orr \base, \base,
26 orr \base, \base,
27 ldr \irqstat, [\base] @ get interrupts
28
29 cmp \irqstat,
30 beq 1001f
31
32 clz \irqnr, \irqstat
33 mov \base,
34 subs \irqnr, \base, \irqnr
35
36
37
38
39
40 cmp \irqnr,
41 bne 1001f
42
43 mov \base,
44 orr \base, \base,
45 orr \base, \base,
46 orr \base, \base,
47 ldr \irqstat, [\base]
48
49 mov \tmp,
50 tst \irqstat, \tmp
51 movne \irqnr,
52 bne 1001f
53
54 mov \tmp,
55 tst \irqstat, \tmp
56 movne \irqnr,
57
581001:
59 .endm
60
61