Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
[linux-2.6] / include / asm-arm / arch-ixp23xx / entry-macro.S
1 /*
2  * include/asm-arm/arch-ixp23xx/entry-macro.S
3  */
4
5                 .macro  disable_fiq
6                 .endm
7
8                 .macro  get_irqnr_preamble, base, tmp
9                 .endm
10
11                 .macro  arch_ret_to_user, tmp1, tmp2
12                 .endm
13
14                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
15                 ldr     \irqnr, =(IXP23XX_INTC_VIRT + IXP23XX_INTR_IRQ_ENC_ST_OFFSET)
16                 ldr     \irqnr, [\irqnr]        @ get interrupt number
17                 cmp     \irqnr, #0x0            @ spurious interrupt ?
18                 movne   \irqnr, \irqnr, lsr #2  @ skip unwanted low order bits
19                 subne   \irqnr, \irqnr, #1      @ convert to 0 based
20
21 #if 0
22                 cmp     \irqnr, #IRQ_IXP23XX_PCI_INT_RPH
23                 bne     1001f
24                 mov     \irqnr, #IRQ_IXP23XX_INTA
25
26                 ldr     \irqnr, =0xf5000030
27
28                 mov     \tmp, #(1<<26)
29                 tst     \irqnr, \tmp
30                 movne   \irqnr, #IRQ_IXP23XX_INTB
31
32                 mov     \tmp, #(1<<27)
33                 tst     \irqnr, \tmp
34                 movne   \irqnr, #IRQ_IXP23XX_INTA
35 1001:
36 #endif
37                 .endm