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  */
10 
11 
12 
13 #define IRQ_STAT		0xff000000	/* read */
14 
15 	.macro  get_irqnr_preamble, base, tmp
16 	mov	\base, #IRQ_STAT
17 	.endm
18 
19 	.macro	get_irqnr_and_base, irqnr, stat, base, tmp
20 	ldrb	\stat, [\base]			@ get interrupts
21 	mov	\irqnr, #0
22 	tst	\stat, #15
23 	addeq	\irqnr, \irqnr, #4
24 	moveq	\stat, \stat, lsr #4
25 	tst	\stat, #3
26 	addeq	\irqnr, \irqnr, #2
27 	moveq	\stat, \stat, lsr #2
28 	tst	\stat, #1
29 	addeq	\irqnr, \irqnr, #1
30 	moveq	\stat, \stat, lsr #1
31 	tst	\stat, #1			@ bit 0 should be set
32 	.endm
33 
34