blob: f242be5c49bad2d0abdb4cee702c200202cf1150 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * include/asm-arm/arch-ebsa110/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 disable_fiq
16 .endm
17
Dan Williamsf80dff92007-02-16 22:16:32 +010018 .macro get_irqnr_preamble, base, tmp
Russell King641e7912007-05-12 15:25:50 +010019 mov \base, #IRQ_STAT
Dan Williamsf80dff92007-02-16 22:16:32 +010020 .endm
21
22 .macro arch_ret_to_user, tmp1, tmp2
23 .endm
24
Linus Torvalds1da177e2005-04-16 15:20:36 -070025 .macro get_irqnr_and_base, irqnr, stat, base, tmp
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 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
39