svn commit: r262979 - in head/sys/arm: allwinner allwinner/a20 arm at91 broadcom/bcm2835 econa freescale/imx freescale/vybrid lpc mv rockchip s3c2xx0 samsung/exynos tegra ti versatile xilinx xscale...
Ian Lepore
ian at FreeBSD.org
Mon Mar 10 18:10:15 UTC 2014
Author: ian
Date: Mon Mar 10 18:10:09 2014
New Revision: 262979
URL: http://svnweb.freebsd.org/changeset/base/262979
Log:
Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c
and the functionality it provided into arm/exception.S. Rename the main
irq handling routine from arm_handler_execute() to arm_irq_handler() to
make it more congruent with how other exception handlers are named, and
also update its signature to reflect what has long been reality: it is
passed just a trapframe pointer, no interrupt number argument.
Deleted:
head/sys/arm/arm/irq_dispatch.S
Modified:
head/sys/arm/allwinner/a20/files.a20
head/sys/arm/allwinner/files.a10
head/sys/arm/arm/exception.S
head/sys/arm/arm/intr.c
head/sys/arm/at91/files.at91
head/sys/arm/broadcom/bcm2835/files.bcm2835
head/sys/arm/econa/files.econa
head/sys/arm/freescale/imx/files.imx51
head/sys/arm/freescale/imx/files.imx53
head/sys/arm/freescale/imx/files.imx6
head/sys/arm/freescale/vybrid/files.vybrid
head/sys/arm/lpc/files.lpc
head/sys/arm/mv/files.mv
head/sys/arm/rockchip/files.rk30xx
head/sys/arm/s3c2xx0/files.s3c2xx0
head/sys/arm/samsung/exynos/files.exynos5
head/sys/arm/tegra/files.tegra2
head/sys/arm/ti/files.ti
head/sys/arm/versatile/files.versatile
head/sys/arm/xilinx/files.zynq7
head/sys/arm/xscale/i80321/files.i80219
head/sys/arm/xscale/i80321/files.i80321
head/sys/arm/xscale/i8134x/files.i81342
head/sys/arm/xscale/ixp425/files.ixp425
head/sys/arm/xscale/pxa/files.pxa
Modified: head/sys/arm/allwinner/a20/files.a20
==============================================================================
--- head/sys/arm/allwinner/a20/files.a20 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/allwinner/a20/files.a20 Mon Mar 10 18:10:09 2014 (r262979)
@@ -7,7 +7,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/arm/gic.c standard
arm/allwinner/a20/a20_cpu_cfg.c standard
Modified: head/sys/arm/allwinner/files.a10
==============================================================================
--- head/sys/arm/allwinner/files.a10 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/allwinner/files.a10 Mon Mar 10 18:10:09 2014 (r262979)
@@ -7,7 +7,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/allwinner/a10_clk.c standard
arm/allwinner/a10_common.c standard
Modified: head/sys/arm/arm/exception.S
==============================================================================
--- head/sys/arm/arm/exception.S Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/arm/exception.S Mon Mar 10 18:10:09 2014 (r262979)
@@ -192,6 +192,16 @@ ASENTRY_NP(exception_exit)
PULLFRAMEFROMSVCANDEXIT
END(exception_exit)
+ASENTRY_NP(irq_entry)
+ sub lr, lr, #0x00000004 /* Adjust the lr */
+ PUSHFRAMEINSVC /* Push an interrupt frame */
+ mov r0, sp /* arg for dispatcher */
+
+ adr lr, exception_exit
+ mov r1, #0
+ b _C_LABEL(arm_irq_handler)
+END(irq_entry)
+
/*
* undefined_entry:
*
Modified: head/sys/arm/arm/intr.c
==============================================================================
--- head/sys/arm/arm/intr.c Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/arm/intr.c Mon Mar 10 18:10:09 2014 (r262979)
@@ -56,12 +56,18 @@ typedef void (*mask_fn)(void *);
static struct intr_event *intr_events[NIRQ];
-void arm_handler_execute(struct trapframe *, int);
+void arm_irq_handler(struct trapframe *);
void (*arm_post_filter)(void *) = NULL;
int (*arm_config_irq)(int irq, enum intr_trigger trig,
enum intr_polarity pol) = NULL;
+/* Data for statistics reporting. */
+u_long intrcnt[NIRQ];
+char intrnames[NIRQ * INTRNAME_LEN];
+size_t sintrcnt = sizeof(intrcnt);
+size_t sintrnames = sizeof(intrnames);
+
/*
* Pre-format intrnames into an array of fixed-size strings containing spaces.
* This allows us to avoid the need for an intermediate table of indices into
@@ -127,7 +133,7 @@ dosoftints(void)
}
void
-arm_handler_execute(struct trapframe *frame, int irqnb)
+arm_irq_handler(struct trapframe *frame)
{
struct intr_event *event;
int i;
Modified: head/sys/arm/at91/files.at91
==============================================================================
--- head/sys/arm/at91/files.at91 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/at91/files.at91 Mon Mar 10 18:10:09 2014 (r262979)
@@ -1,6 +1,5 @@
# $FreeBSD$
arm/arm/cpufunc_asm_arm9.S standard
-arm/arm/irq_dispatch.S standard
arm/at91/at91_machdep.c standard
arm/at91/at91_aic.c standard
arm/at91/at91.c standard
Modified: head/sys/arm/broadcom/bcm2835/files.bcm2835
==============================================================================
--- head/sys/arm/broadcom/bcm2835/files.bcm2835 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/broadcom/bcm2835/files.bcm2835 Mon Mar 10 18:10:09 2014 (r262979)
@@ -22,7 +22,6 @@ arm/arm/cpufunc_asm_arm11.S
arm/arm/cpufunc_asm_arm11x6.S standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_armv6.S standard
-arm/arm/irq_dispatch.S standard
kern/kern_clocksource.c standard
Modified: head/sys/arm/econa/files.econa
==============================================================================
--- head/sys/arm/econa/files.econa Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/econa/files.econa Mon Mar 10 18:10:09 2014 (r262979)
@@ -6,7 +6,6 @@ arm/econa/timer.c standard
arm/econa/uart_bus_ec.c optional uart
arm/econa/uart_cpu_ec.c optional uart
dev/uart/uart_dev_ns8250.c optional uart
-arm/arm/irq_dispatch.S standard
arm/arm/bus_space_generic.c standard
arm/econa/ehci_ebus.c optional ehci
arm/econa/ohci_ec.c optional ohci
Modified: head/sys/arm/freescale/imx/files.imx51
==============================================================================
--- head/sys/arm/freescale/imx/files.imx51 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/freescale/imx/files.imx51 Mon Mar 10 18:10:09 2014 (r262979)
@@ -4,7 +4,6 @@ arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
kern/kern_clocksource.c standard
# Init
Modified: head/sys/arm/freescale/imx/files.imx53
==============================================================================
--- head/sys/arm/freescale/imx/files.imx53 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/freescale/imx/files.imx53 Mon Mar 10 18:10:09 2014 (r262979)
@@ -4,7 +4,6 @@ arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
kern/kern_clocksource.c standard
# Init
Modified: head/sys/arm/freescale/imx/files.imx6
==============================================================================
--- head/sys/arm/freescale/imx/files.imx6 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/freescale/imx/files.imx6 Mon Mar 10 18:10:09 2014 (r262979)
@@ -8,7 +8,6 @@ arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
kern/kern_clocksource.c standard
#
Modified: head/sys/arm/freescale/vybrid/files.vybrid
==============================================================================
--- head/sys/arm/freescale/vybrid/files.vybrid Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/freescale/vybrid/files.vybrid Mon Mar 10 18:10:09 2014 (r262979)
@@ -8,7 +8,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/arm/bus_space-v6.c standard
arm/arm/gic.c standard
Modified: head/sys/arm/lpc/files.lpc
==============================================================================
--- head/sys/arm/lpc/files.lpc Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/lpc/files.lpc Mon Mar 10 18:10:09 2014 (r262979)
@@ -1,6 +1,5 @@
# $FreeBSD$
arm/arm/bus_space_generic.c standard
-arm/arm/irq_dispatch.S standard
arm/arm/cpufunc_asm_arm9.S standard
arm/arm/cpufunc_asm_armv5.S standard
arm/lpc/lpc_machdep.c standard
Modified: head/sys/arm/mv/files.mv
==============================================================================
--- head/sys/arm/mv/files.mv Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/mv/files.mv Mon Mar 10 18:10:09 2014 (r262979)
@@ -20,7 +20,6 @@ arm/arm/cpufunc_asm_armv5_ec.S standard
arm/arm/cpufunc_asm_armv7.S standard
arm/arm/cpufunc_asm_sheeva.S standard
arm/arm/cpufunc_asm_pj4b.S standard
-arm/arm/irq_dispatch.S standard
arm/mv/bus_space.c standard
arm/mv/gpio.c standard
Modified: head/sys/arm/rockchip/files.rk30xx
==============================================================================
--- head/sys/arm/rockchip/files.rk30xx Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/rockchip/files.rk30xx Mon Mar 10 18:10:09 2014 (r262979)
@@ -7,7 +7,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/arm/gic.c standard
arm/arm/mpcore_timer.c standard
Modified: head/sys/arm/s3c2xx0/files.s3c2xx0
==============================================================================
--- head/sys/arm/s3c2xx0/files.s3c2xx0 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/s3c2xx0/files.s3c2xx0 Mon Mar 10 18:10:09 2014 (r262979)
@@ -2,7 +2,6 @@
arm/arm/bus_space_asm_generic.S standard
arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_arm9.S standard
-arm/arm/irq_dispatch.S standard
arm/s3c2xx0/board_ln2410sbc.c optional board_ln2410sbc
arm/s3c2xx0/s3c24x0_rtc.c standard
arm/s3c2xx0/s3c24x0_machdep.c standard
Modified: head/sys/arm/samsung/exynos/files.exynos5
==============================================================================
--- head/sys/arm/samsung/exynos/files.exynos5 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/samsung/exynos/files.exynos5 Mon Mar 10 18:10:09 2014 (r262979)
@@ -8,7 +8,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/arm/bus_space-v6.c standard
arm/arm/gic.c standard
Modified: head/sys/arm/tegra/files.tegra2
==============================================================================
--- head/sys/arm/tegra/files.tegra2 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/tegra/files.tegra2 Mon Mar 10 18:10:09 2014 (r262979)
@@ -6,7 +6,6 @@ arm/arm/bus_space-v6.c standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/arm/gic.c standard
arm/arm/mpcore_timer.c standard
Modified: head/sys/arm/ti/files.ti
==============================================================================
--- head/sys/arm/ti/files.ti Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/ti/files.ti Mon Mar 10 18:10:09 2014 (r262979)
@@ -9,7 +9,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/ti/ti_common.c standard
arm/ti/ti_cpuid.c standard
Modified: head/sys/arm/versatile/files.versatile
==============================================================================
--- head/sys/arm/versatile/files.versatile Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/versatile/files.versatile Mon Mar 10 18:10:09 2014 (r262979)
@@ -6,7 +6,6 @@ arm/arm/cpufunc_asm_arm11.S
arm/arm/cpufunc_asm_arm11x6.S standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_armv6.S standard
-arm/arm/irq_dispatch.S standard
arm/versatile/bus_space.c standard
arm/versatile/pl050.c optional sc
Modified: head/sys/arm/xilinx/files.zynq7
==============================================================================
--- head/sys/arm/xilinx/files.zynq7 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/xilinx/files.zynq7 Mon Mar 10 18:10:09 2014 (r262979)
@@ -11,7 +11,6 @@ arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm10.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
-arm/arm/irq_dispatch.S standard
arm/arm/gic.c standard
arm/arm/mpcore_timer.c standard
Modified: head/sys/arm/xscale/i80321/files.i80219
==============================================================================
--- head/sys/arm/xscale/i80321/files.i80219 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/xscale/i80321/files.i80219 Mon Mar 10 18:10:09 2014 (r262979)
@@ -4,7 +4,6 @@
#
arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_xscale.S standard
-arm/arm/irq_dispatch.S standard
arm/xscale/i80321/i80321.c standard
arm/xscale/i80321/i80321_dma.c optional dma
arm/xscale/i80321/i80321_mcu.c standard
Modified: head/sys/arm/xscale/i80321/files.i80321
==============================================================================
--- head/sys/arm/xscale/i80321/files.i80321 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/xscale/i80321/files.i80321 Mon Mar 10 18:10:09 2014 (r262979)
@@ -1,7 +1,6 @@
#$FreeBSD$
arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_xscale.S standard
-arm/arm/irq_dispatch.S standard
arm/xscale/i80321/i80321.c standard
arm/xscale/i80321/i80321_aau.c optional aau
arm/xscale/i80321/i80321_dma.c optional dma
Modified: head/sys/arm/xscale/i8134x/files.i81342
==============================================================================
--- head/sys/arm/xscale/i8134x/files.i81342 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/xscale/i8134x/files.i81342 Mon Mar 10 18:10:09 2014 (r262979)
@@ -2,7 +2,6 @@
arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_xscale.S standard
arm/arm/cpufunc_asm_xscale_c3.S standard
-arm/arm/irq_dispatch.S standard
arm/xscale/i80321/i80321_timer.c standard
arm/xscale/i80321/i80321_wdog.c optional iopwdog
arm/xscale/i8134x/i81342.c standard
Modified: head/sys/arm/xscale/ixp425/files.ixp425
==============================================================================
--- head/sys/arm/xscale/ixp425/files.ixp425 Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/xscale/ixp425/files.ixp425 Mon Mar 10 18:10:09 2014 (r262979)
@@ -1,7 +1,6 @@
#$FreeBSD$
arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_xscale.S standard
-arm/arm/irq_dispatch.S standard
arm/xscale/ixp425/ixp425.c standard
arm/xscale/ixp425/ixp425_mem.c standard
arm/xscale/ixp425/ixp425_space.c standard
Modified: head/sys/arm/xscale/pxa/files.pxa
==============================================================================
--- head/sys/arm/xscale/pxa/files.pxa Mon Mar 10 16:07:45 2014 (r262978)
+++ head/sys/arm/xscale/pxa/files.pxa Mon Mar 10 18:10:09 2014 (r262979)
@@ -2,7 +2,6 @@
arm/arm/bus_space_generic.c standard
arm/arm/cpufunc_asm_xscale.S standard
-arm/arm/irq_dispatch.S standard
arm/xscale/pxa/pxa_gpio.c standard
arm/xscale/pxa/pxa_icu.c standard
More information about the svn-src-all
mailing list