Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block
[linux-2.6] / include / asm-arm / arch-msm / entry-macro.S
1 /* include/asm-arm/arch-msm7200/entry-macro.S
2  *
3  * Copyright (C) 2007 Google, Inc.
4  * Author: Brian Swetland <swetland@google.com>
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 #include <asm/arch/msm_iomap.h>
18
19         .macro  disable_fiq
20         .endm
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  arch_ret_to_user, tmp1, tmp2
29         .endm
30
31         .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
32         @ 0xD0 has irq# or old irq# if the irq has been handled
33         @ 0xD4 has irq# or -1 if none pending *but* if you just
34         @ read 0xD4 you never get the first irq for some reason
35         ldr     \irqnr, [\base, #0xD0]
36         ldr     \irqnr, [\base, #0xD4]
37         cmp     \irqnr, #0xffffffff
38         .endm