Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / arm / mach-ebsa110 / include / mach / entry-macro.S
blobcc3e5992f6b36b1d8a18a8674a1fbd5d6316f16d
1 /*
2  * arch/arm/mach-ebsa110/include/mach/entry-macro.S
3  *
4  * Low-level IRQ helper macros for ebsa110 platform.
5  *
6  * This file is licensed under  the terms of the GNU General Public
7  * License version 2. This program is licensed "as is" without any
8  * warranty of any kind, whether express or implied.
9  */
13 #define IRQ_STAT                0xff000000      /* read */
15         .macro  disable_fiq
16         .endm
18         .macro  get_irqnr_preamble, base, tmp
19         mov     \base, #IRQ_STAT
20         .endm
22         .macro  arch_ret_to_user, tmp1, tmp2
23         .endm
25         .macro  get_irqnr_and_base, irqnr, stat, base, tmp
26         ldrb    \stat, [\base]                  @ get interrupts
27         mov     \irqnr, #0
28         tst     \stat, #15
29         addeq   \irqnr, \irqnr, #4
30         moveq   \stat, \stat, lsr #4
31         tst     \stat, #3
32         addeq   \irqnr, \irqnr, #2
33         moveq   \stat, \stat, lsr #2
34         tst     \stat, #1
35         addeq   \irqnr, \irqnr, #1
36         moveq   \stat, \stat, lsr #1
37         tst     \stat, #1                       @ bit 0 should be set
38         .endm