Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.13 31 lines 840 B view raw
1/* 2 * include/asm-arm/arch-pxa/entry-macro.S 3 * 4 * Low-level IRQ helper macros for PXA-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 11 .macro disable_fiq 12 .endm 13 14 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp 15#ifdef CONFIG_PXA27x 16 mrc p6, 0, \irqstat, c0, c0, 0 @ ICIP 17 mrc p6, 0, \irqnr, c1, c0, 0 @ ICMR 18#else 19 mov \base, #io_p2v(0x40000000) @ IIR Ctl = 0x40d00000 20 add \base, \base, #0x00d00000 21 ldr \irqstat, [\base, #0] @ ICIP 22 ldr \irqnr, [\base, #4] @ ICMR 23#endif 24 ands \irqnr, \irqstat, \irqnr 25 beq 1001f 26 rsb \irqstat, \irqnr, #0 27 and \irqstat, \irqstat, \irqnr 28 clz \irqnr, \irqstat 29 rsb \irqnr, \irqnr, #(31 - PXA_IRQ_SKIP) 301001: 31 .endm