mirror of
https://github.com/torvalds/linux.git
synced 2024-12-16 16:12:52 +00:00
230f984662
Now that most platforms don't need disable_fiq and arch_ret_to_user macros, we can remove the empty macros or empty entry-macro.S files. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Ryan Mallon <rmallon@gmail.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Shawn Guo <shawn.guo@linaro.org>
42 lines
1.1 KiB
ArmAsm
42 lines
1.1 KiB
ArmAsm
/*
|
|
* arch/arm/mach-mv78xx0/include/mach/entry-macro.S
|
|
*
|
|
* Low-level IRQ helper macros for Marvell MV78xx0 platforms
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
#include <mach/bridge-regs.h>
|
|
|
|
.macro get_irqnr_preamble, base, tmp
|
|
ldr \base, =IRQ_VIRT_BASE
|
|
.endm
|
|
|
|
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
|
@ check low interrupts
|
|
ldr \irqstat, [\base, #IRQ_CAUSE_LOW_OFF]
|
|
ldr \tmp, [\base, #IRQ_MASK_LOW_OFF]
|
|
mov \irqnr, #31
|
|
ands \irqstat, \irqstat, \tmp
|
|
bne 1001f
|
|
|
|
@ if no low interrupts set, check high interrupts
|
|
ldr \irqstat, [\base, #IRQ_CAUSE_HIGH_OFF]
|
|
ldr \tmp, [\base, #IRQ_MASK_HIGH_OFF]
|
|
mov \irqnr, #63
|
|
ands \irqstat, \irqstat, \tmp
|
|
bne 1001f
|
|
|
|
@ if no high interrupts set, check error interrupts
|
|
ldr \irqstat, [\base, #IRQ_CAUSE_ERR_OFF]
|
|
ldr \tmp, [\base, #IRQ_MASK_ERR_OFF]
|
|
mov \irqnr, #95
|
|
ands \irqstat, \irqstat, \tmp
|
|
|
|
@ find first active interrupt source
|
|
1001: clzne \irqstat, \irqstat
|
|
subne \irqnr, \irqnr, \irqstat
|
|
.endm
|