/*
 *  linux/include/asm-arm/arch-aaec2000/entry-macro.S
 *
 *  Low-level IRQ helper for aaec-2000 based platforms
 *
 *  Copyright (c) 2005 Nicolas Bellido Y Ortega
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2 as
 *  published by the Free Software Foundation.
 *
 */

		.macro	disable_fiq
		.endm

		.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp
		mov	r4, #0xf8000000
		add	r4, r4, #0x00000500
		mov	\base, r4
		ldr	\irqstat, [\base, #0]
		cmp	\irqstat, #0
		bne	1001f
		ldr	\irqnr, =NR_IRQS+1
		b       1003f
1001:		mov	\irqnr, #0
1002:		ands	\tmp, \irqstat, #1
		mov	\irqstat, \irqstat, LSR #1
		add	\irqnr, \irqnr, #1
		beq	1002b
		sub	\irqnr, \irqnr, #1
1003:
		.endm
