1/* 2 * Low-level IRQ helper macros for Gemini platform. 3 * 4 * Copyright (C) 2001-2006 Storlink, Corp. 5 * Copyright (C) 2008-2009 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> 6 * 7 * This file is licensed under the terms of the GNU General Public 8 * License version 2. This program is licensed "as is" without any 9 * warranty of any kind, whether express or implied. 10 */ 11#include <mach/hardware.h> 12 13#define IRQ_STATUS 0x14 14 15 .macro disable_fiq 16 .endm 17 18 .macro get_irqnr_preamble, base, tmp 19 .endm 20 21 .macro arch_ret_to_user, tmp1, tmp2 22 .endm 23 24 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp 25 ldr \irqstat, =IO_ADDRESS(GEMINI_INTERRUPT_BASE + IRQ_STATUS) 26 ldr \irqnr, [\irqstat] 27 cmp \irqnr, #0 28 beq 2313f 29 mov \tmp, \irqnr 30 mov \irqnr, #0 312312: 32 tst \tmp, #1 33 bne 2313f 34 add \irqnr, \irqnr, #1 35 mov \tmp, \tmp, lsr #1 36 cmp \irqnr, #31 37 bcc 2312b 382313: 39 .endm 40