/*
 * arch/arm/mach-nuc93x/include/mach/entry-macro.S
 *
 * This file is licensed under  the terms of the GNU General Public
 * License version 2. This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 *
 */

#include <mach/hardware.h>
#include <mach/regs-irq.h>

	.macro  get_irqnr_preamble, base, tmp
	.endm

	.macro  arch_ret_to_user, tmp1, tmp2
	.endm

	.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp

		mov	\base, #AIC_BA

		ldr	\irqnr, [ \base, #AIC_IPER]
		ldr	\irqnr, [ \base, #AIC_ISNR]
		cmp	\irqnr, #0

	.endm

	/* currently don't need an disable_fiq macro */

	.macro	disable_fiq
	.endm
