1/* arch/arm/mach-s5pc100/include/mach/entry-macro.S 2 * 3 * Copyright 2009 Samsung Electronics Co. 4 * Byungho Min <bhmin@samsung.com> 5 * 6 * Based on mach-s3c6400/include/mach/entry-macro.S 7 * 8 * Low-level IRQ helper macros for the Samsung S5PC1XX series 9 * 10 * This file is licensed under the terms of the GNU General Public 11 * License version 2. This program is licensed "as is" without any 12 * warranty of any kind, whether express or implied. 13*/ 14 15#include <asm/hardware/vic.h> 16#include <mach/map.h> 17#include <plat/irqs.h> 18 19 .macro disable_fiq 20 .endm 21 22 .macro get_irqnr_preamble, base, tmp 23 ldr \base, =VA_VIC0 24 .endm 25 26 .macro arch_ret_to_user, tmp1, tmp2 27 .endm 28 29 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp 30 31 @ check the vic0 32 mov \irqnr, # S5P_IRQ_OFFSET + 31 33 ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] 34 teq \irqstat, #0 35 36 @ otherwise try vic1 37 addeq \tmp, \base, #(VA_VIC1 - VA_VIC0) 38 addeq \irqnr, \irqnr, #32 39 ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] 40 teqeq \irqstat, #0 41 42 @ otherwise try vic2 43 addeq \tmp, \base, #(VA_VIC2 - VA_VIC0) 44 addeq \irqnr, \irqnr, #32 45 ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] 46 teqeq \irqstat, #0 47 48 clzne \irqstat, \irqstat 49 subne \irqnr, \irqnr, \irqstat 50 .endm 51