blob: 1eb3503bd16e1a78303a610eb4723422cde8988a [file] [log] [blame]
Bellido Nicolas038c5b62005-06-20 18:51:05 +01001/*
2 * linux/include/asm-arm/arch-aaec2000/entry-macro.S
3 *
4 * Low-level IRQ helper for aaec-2000 based platforms
5 *
6 * Copyright (c) 2005 Nicolas Bellido Y Ortega
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 */
Bellido Nicolas201be922006-05-07 22:49:22 +010013#include <asm/arch/irqs.h>
Bellido Nicolas038c5b62005-06-20 18:51:05 +010014
15 .macro disable_fiq
16 .endm
17
18 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
19 mov r4, #0xf8000000
20 add r4, r4, #0x00000500
21 mov \base, r4
22 ldr \irqstat, [\base, #0]
23 cmp \irqstat, #0
24 bne 1001f
25 ldr \irqnr, =NR_IRQS+1
26 b 1003f
271001: mov \irqnr, #0
281002: ands \tmp, \irqstat, #1
29 mov \irqstat, \irqstat, LSR #1
30 add \irqnr, \irqnr, #1
31 beq 1002b
32 sub \irqnr, \irqnr, #1
331003:
34 .endm