Date: Mon, 10 Mar 2014 18:10:09 +0000 (UTC) From: Ian Lepore <ian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: 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... Message-ID: <201403101810.s2AIA9g9084012@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403101810.s2AIA9g9084012>