Merge branch 'samsung/exynos5' into next/soc2
[linux-2.6.git] / arch / arm / mach-msm / include / mach / entry-macro.S
1 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
2  *
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License version 2 and
5  * only version 2 as published by the Free Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15  * 02110-1301, USA.
16  *
17  */
18
19 #if !defined(CONFIG_ARM_GIC)
20 #include <mach/msm_iomap.h>
21
22         .macro  get_irqnr_preamble, base, tmp
23         @ enable imprecise aborts
24         cpsie   a
25         mov     \base, #MSM_VIC_BASE
26         .endm
27
28         .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
29         @ 0xD0 has irq# or old irq# if the irq has been handled
30         @ 0xD4 has irq# or -1 if none pending *but* if you just
31         @ read 0xD4 you never get the first irq for some reason
32         ldr     \irqnr, [\base, #0xD0]
33         ldr     \irqnr, [\base, #0xD4]
34         cmp     \irqnr, #0xffffffff
35         .endm
36 #endif