blob: 8b6342dc4be2aaee619483e76e0bbcbfc62cd641 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * include/asm-arm/arch-l7200/entry-macro.S
3 *
4 * Low-level IRQ helper macros for L7200-based platforms
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 */
10#include <asm/hardware.h>
11
12 .equ irq_base_addr, IO_BASE_2
13
14 .macro disable_fiq
15 .endm
16
17 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
18 mov \irqstat, #irq_base_addr @ Virt addr IRQ regs
19 add \irqstat, \irqstat, #0x00001000 @ Status reg
20 ldr \irqstat, [\irqstat, #0] @ get interrupts
21 mov \irqnr, #0
221001: tst \irqstat, #1
23 addeq \irqnr, \irqnr, #1
24 moveq \irqstat, \irqstat, lsr #1
25 tsteq \irqnr, #32
26 beq 1001b
27 teq \irqnr, #32
28 .endm
29