Path: blob/master/arch/arm/mach-omap1/include/mach/entry-macro.S
10820 views
/*1* arch/arm/mach-omap1/include/mach/entry-macro.S2*3* Low-level IRQ helper macros for OMAP-based platforms4*5* Copyright (C) 2009 Texas Instruments6*7* This file is licensed under the terms of the GNU General Public8* License version 2. This program is licensed "as is" without any9* warranty of any kind, whether express or implied.10*/11#include <mach/hardware.h>12#include <mach/io.h>13#include <mach/irqs.h>14#include <asm/hardware/gic.h>1516.macro disable_fiq17.endm1819.macro get_irqnr_preamble, base, tmp20.endm2122.macro arch_ret_to_user, tmp1, tmp223.endm2425.macro get_irqnr_and_base, irqnr, irqstat, base, tmp26ldr \base, =OMAP1_IO_ADDRESS(OMAP_IH1_BASE)27ldr \irqnr, [\base, #IRQ_ITR_REG_OFFSET]28ldr \tmp, [\base, #IRQ_MIR_REG_OFFSET]29mov \irqstat, #0xffffffff30bic \tmp, \irqstat, \tmp31tst \irqnr, \tmp32beq 1510f3334ldr \irqnr, [\base, #IRQ_SIR_FIQ_REG_OFFSET]35ldr \tmp, =omap_irq_flags @ irq flags address36ldr \tmp, [\tmp, #0] @ irq flags value37cmp \irqnr, #038ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]39cmpeq \irqnr, \tmp40ldreq \base, =OMAP1_IO_ADDRESS(OMAP_IH2_BASE)41ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]42addeqs \irqnr, \irqnr, #32431510:44.endm45464748