Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.21 32 lines 891 B view raw
1/* 2 * include/asm-arm/arch-imx/entry-macro.S 3 * 4 * Low-level IRQ helper macros for iMX-based platforms 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#include <asm/hardware.h> 11 12 .macro disable_fiq 13 .endm 14 15 .macro get_irqnr_preamble, base, tmp 16 .endm 17 18 .macro arch_ret_to_user, tmp1, tmp2 19 .endm 20 21#define AITC_NIVECSR 0x40 22 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp 23 ldr \base, =IO_ADDRESS(IMX_AITC_BASE) 24 @ Load offset & priority of the highest priority 25 @ interrupt pending. 26 ldr \irqstat, [\base, #AITC_NIVECSR] 27 @ Shift off the priority leaving the offset or 28 @ "interrupt number", use arithmetic shift to 29 @ transform illegal source (0xffff) as -1 30 mov \irqnr, \irqstat, asr #16 31 adds \tmp, \irqnr, #1 32 .endm