Path: blob/master/arch/arm/mach-nomadik/include/mach/entry-macro.S
10820 views
/*1* Low-level IRQ helper macros for Nomadik platforms2*3* This file is licensed under the terms of the GNU General Public4* License version 2. This program is licensed "as is" without any5* warranty of any kind, whether express or implied.6*/78#include <mach/hardware.h>9#include <mach/irqs.h>1011.macro disable_fiq12.endm1314.macro get_irqnr_preamble, base, tmp15ldr \base, =IO_ADDRESS(NOMADIK_IC_BASE)16.endm1718.macro arch_ret_to_user, tmp1, tmp219.endm2021.macro get_irqnr_and_base, irqnr, irqstat, base, tmp2223/* This stanza gets the irq mask from one of two status registers */24mov \irqnr, #025ldr \irqstat, [\base, #VIC_REG_IRQSR0] @ get masked status26cmp \irqstat, #027bne 1001f28add \irqnr, \irqnr, #3229ldr \irqstat, [\base, #VIC_REG_IRQSR1] @ get masked status30311001: tst \irqstat, #1532bne 1002f33add \irqnr, \irqnr, #434movs \irqstat, \irqstat, lsr #435bne 1001b361002: tst \irqstat, #137bne 1003f38add \irqnr, \irqnr, #139movs \irqstat, \irqstat, lsr #140bne 1002b411003: /* EQ will be set if no irqs pending */42.endm434445