diff options
Diffstat (limited to 'arch/arm/mach-msm/include/mach/entry-macro.S')
| -rw-r--r-- | arch/arm/mach-msm/include/mach/entry-macro.S | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/arch/arm/mach-msm/include/mach/entry-macro.S b/arch/arm/mach-msm/include/mach/entry-macro.S index b16f082eeb6f..41f7003ef34f 100644 --- a/arch/arm/mach-msm/include/mach/entry-macro.S +++ b/arch/arm/mach-msm/include/mach/entry-macro.S | |||
| @@ -16,8 +16,27 @@ | |||
| 16 | * | 16 | * |
| 17 | */ | 17 | */ |
| 18 | 18 | ||
| 19 | #if defined(CONFIG_ARM_GIC) | 19 | .macro disable_fiq |
| 20 | #include <mach/entry-macro-qgic.S> | 20 | .endm |
| 21 | #else | 21 | |
| 22 | #include <mach/entry-macro-vic.S> | 22 | .macro arch_ret_to_user, tmp1, tmp2 |
| 23 | .endm | ||
| 24 | |||
| 25 | #if !defined(CONFIG_ARM_GIC) | ||
| 26 | #include <mach/msm_iomap.h> | ||
| 27 | |||
| 28 | .macro get_irqnr_preamble, base, tmp | ||
| 29 | @ enable imprecise aborts | ||
| 30 | cpsie a | ||
| 31 | mov \base, #MSM_VIC_BASE | ||
| 32 | .endm | ||
| 33 | |||
| 34 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
| 35 | @ 0xD0 has irq# or old irq# if the irq has been handled | ||
| 36 | @ 0xD4 has irq# or -1 if none pending *but* if you just | ||
| 37 | @ read 0xD4 you never get the first irq for some reason | ||
| 38 | ldr \irqnr, [\base, #0xD0] | ||
| 39 | ldr \irqnr, [\base, #0xD4] | ||
| 40 | cmp \irqnr, #0xffffffff | ||
| 41 | .endm | ||
| 23 | #endif | 42 | #endif |
