diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-03-16 22:25:47 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-03-16 22:25:47 +0000 |
commit | a95a99e0c80f81519300e4a9c4b654ece9e20e31 (patch) | |
tree | 7050f81482c126e5757cb2eae70d1780ad453e0a /target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include | |
parent | 1be759708e3f4e4552d9185c2eb279a1c727e414 (diff) |
mcs814x: implement MULTI_IRQ_HANDLER
Allows us to get rid of the IRQ entry point assembly
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36060 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include')
-rw-r--r-- | target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S b/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S index eaca5921c..16d2d6d1a 100644 --- a/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S +++ b/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S @@ -4,26 +4,3 @@ .macro arch_ret_to_user, tmp1, tmp2 .endm - - .macro get_irqnr_preamble, base, tmp - ldr \base, =mcs814x_intc_base @ base virtual address of AIC peripheral - ldr \base, [\base] - .endm - - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - mov \tmp, #MCS814X_IRQ_STS0 @ load tmp with STS0 register offset - ldr \irqstat, [\base, \tmp] @ load value at base + tmp - tst \irqstat, \irqstat @ test if no active IRQ's - beq 1002f @ if no active irqs return with status 0 - mov \irqnr, #0 @ start from irq zero - mov \tmp, #1 @ the mask initially 1 -1001: - tst \irqstat, \tmp @ and with mask - addeq \irqnr, \irqnr, #1 @ if zero then add one to nr - moveq \tmp, \tmp, lsl #1 @ shift mask one to left - beq 1001b @ if zero then loop again - mov \irqstat, \tmp @ save the return mask - mov \tmp, #MCS814X_IRQ_STS0 @ load tmp with ICR offset - str \irqstat, [\base, \tmp] @ clear irq with selected mask -1002: - .endm |