[U-Boot] [PATCH v3 0/4] arm: fix exception handling
Georges Savoundararadj
savoundg at gmail.com
Sun Oct 26 23:25:22 CET 2014
Hi,
This series fixes the exception handling on ARM.
First of all, it makes the symbols of the exception vectors relocatable.
Then, it ensures that the exception vectors are relocated. To do so, we
copy or move the exception vectors depending on the CPU features.
In order to handle gracefully CPU features, this commit introduces
Kconfig symbols for each ARM processor and it selects through Kconfig
the feature HAS_VBAR for the right CPUs.
Also, this series configures correctly the IRQ and the FIQ stack pointers.
Regards,
Georges
Changes in v3:
- Use the CPU feature HAS_VBAR Kconfig symbol
Changes in v2:
- Relocate exception vectors also on processors which do not support
security extensions
- Reword the commit messages
Georges Savoundararadj (4):
kconfig: arm: introduce symbol for ARM CPUs
arm: make .vectors section allocatable
arm: relocate the exception vectors
arm: interrupt_init: set sp in IRQ/FIQ modes
arch/arm/Kconfig | 209 +++++++++++++++++++++++++++++++
arch/arm/cpu/arm926ejs/davinci/Kconfig | 3 -
arch/arm/cpu/arm926ejs/kirkwood/Kconfig | 3 -
arch/arm/cpu/arm926ejs/nomadik/Kconfig | 3 -
arch/arm/cpu/arm926ejs/orion5x/Kconfig | 3 -
arch/arm/cpu/arm926ejs/versatile/Kconfig | 3 -
arch/arm/cpu/armv7/exynos/Kconfig | 3 -
arch/arm/cpu/armv7/highbank/Kconfig | 3 -
arch/arm/cpu/armv7/keystone/Kconfig | 3 -
arch/arm/cpu/armv7/omap3/Kconfig | 3 -
arch/arm/cpu/armv7/omap4/Kconfig | 3 -
arch/arm/cpu/armv7/omap5/Kconfig | 3 -
arch/arm/cpu/armv7/rmobile/Kconfig | 3 -
arch/arm/cpu/armv7/s5pc1xx/Kconfig | 3 -
arch/arm/cpu/armv7/start.S | 6 -
arch/arm/cpu/armv7/uniphier/Kconfig | 6 -
arch/arm/cpu/armv7/zynq/Kconfig | 3 -
arch/arm/lib/interrupts.c | 19 +++
arch/arm/lib/relocate.S | 30 +++++
arch/arm/lib/vectors.S | 2 +-
board/BuR/kwb/Kconfig | 3 -
board/BuR/tseries/Kconfig | 3 -
board/BuS/eb_cpux9k2/Kconfig | 3 -
board/BuS/vl_ma2sc/Kconfig | 3 -
board/CarMediaLab/flea3/Kconfig | 3 -
board/Marvell/aspenite/Kconfig | 3 -
board/Marvell/dkb/Kconfig | 3 -
board/Marvell/gplugd/Kconfig | 3 -
board/afeb9260/Kconfig | 3 -
board/altera/socfpga/Kconfig | 3 -
board/aristainetos/Kconfig | 3 -
board/armadeus/apf27/Kconfig | 3 -
board/armltd/integrator/Kconfig | 24 ----
board/armltd/vexpress/Kconfig | 9 --
board/atmel/at91rm9200ek/Kconfig | 3 -
board/atmel/at91sam9260ek/Kconfig | 3 -
board/atmel/at91sam9261ek/Kconfig | 3 -
board/atmel/at91sam9263ek/Kconfig | 3 -
board/atmel/at91sam9m10g45ek/Kconfig | 3 -
board/atmel/at91sam9n12ek/Kconfig | 3 -
board/atmel/at91sam9rlek/Kconfig | 3 -
board/atmel/at91sam9x5ek/Kconfig | 3 -
board/atmel/sama5d3_xplained/Kconfig | 3 -
board/atmel/sama5d3xek/Kconfig | 3 -
board/bachmann/ot1200/Kconfig | 8 --
board/balloon3/Kconfig | 3 -
board/barco/titanium/Kconfig | 3 -
board/bluegiga/apx4devkit/Kconfig | 3 -
board/bluewater/snapper9260/Kconfig | 3 -
board/boundary/nitrogen6x/Kconfig | 3 -
board/broadcom/bcm28155_ap/Kconfig | 3 -
board/broadcom/bcm958300k/Kconfig | 3 -
board/broadcom/bcm958622hr/Kconfig | 3 -
board/calao/sbc35_a9g20/Kconfig | 3 -
board/calao/tny_a9260/Kconfig | 3 -
board/calao/usb_a9263/Kconfig | 3 -
board/cirrus/edb93xx/Kconfig | 3 -
board/cm4008/Kconfig | 3 -
board/cm41xx/Kconfig | 3 -
board/compulab/cm_fx6/Kconfig | 8 --
board/compulab/cm_t335/Kconfig | 3 -
board/congatec/cgtqmx6eval/Kconfig | 3 -
board/creative/xfi3/Kconfig | 3 -
board/davedenx/qong/Kconfig | 3 -
board/denx/m28evk/Kconfig | 3 -
board/denx/m53evk/Kconfig | 3 -
board/egnite/ethernut5/Kconfig | 3 -
board/embest/mx6boards/Kconfig | 3 -
board/emk/top9000/Kconfig | 3 -
board/esd/meesc/Kconfig | 3 -
board/esd/otc570/Kconfig | 3 -
board/esg/ima3-mx53/Kconfig | 3 -
board/eukrea/cpu9260/Kconfig | 3 -
board/eukrea/cpuat91/Kconfig | 3 -
board/faraday/a320evb/Kconfig | 3 -
board/freescale/ls1021aqds/Kconfig | 3 -
board/freescale/ls1021atwr/Kconfig | 3 -
board/freescale/mx23evk/Kconfig | 3 -
board/freescale/mx25pdk/Kconfig | 3 -
board/freescale/mx28evk/Kconfig | 3 -
board/freescale/mx31ads/Kconfig | 3 -
board/freescale/mx31pdk/Kconfig | 3 -
board/freescale/mx35pdk/Kconfig | 3 -
board/freescale/mx51evk/Kconfig | 3 -
board/freescale/mx53ard/Kconfig | 3 -
board/freescale/mx53evk/Kconfig | 3 -
board/freescale/mx53loco/Kconfig | 3 -
board/freescale/mx53smd/Kconfig | 3 -
board/freescale/mx6qarm2/Kconfig | 3 -
board/freescale/mx6qsabreauto/Kconfig | 3 -
board/freescale/mx6sabresd/Kconfig | 3 -
board/freescale/mx6slevk/Kconfig | 3 -
board/freescale/mx6sxsabresd/Kconfig | 3 -
board/freescale/vf610twr/Kconfig | 3 -
board/gateworks/gw_ventana/Kconfig | 3 -
board/genesi/mx51_efikamx/Kconfig | 3 -
board/gumstix/pepper/Kconfig | 3 -
board/h2200/Kconfig | 3 -
board/hale/tt01/Kconfig | 3 -
board/icpdas/lp8x4x/Kconfig | 3 -
board/imx31_phycore/Kconfig | 3 -
board/isee/igep0033/Kconfig | 3 -
board/jornada/Kconfig | 3 -
board/karo/tx25/Kconfig | 3 -
board/logicpd/imx27lite/Kconfig | 6 -
board/logicpd/imx31_litekit/Kconfig | 3 -
board/mpl/vcma9/Kconfig | 3 -
board/olimex/mx23_olinuxino/Kconfig | 3 -
board/palmld/Kconfig | 3 -
board/palmtc/Kconfig | 3 -
board/palmtreo680/Kconfig | 3 -
board/phytec/pcm051/Kconfig | 3 -
board/ppcag/bg0900/Kconfig | 3 -
board/pxa255_idp/Kconfig | 3 -
board/raspberrypi/rpi_b/Kconfig | 3 -
board/ronetix/pm9261/Kconfig | 3 -
board/ronetix/pm9263/Kconfig | 3 -
board/ronetix/pm9g45/Kconfig | 3 -
board/samsung/goni/Kconfig | 3 -
board/samsung/smdk2410/Kconfig | 3 -
board/samsung/smdkc100/Kconfig | 3 -
board/sandisk/sansa_fuze_plus/Kconfig | 3 -
board/scb9328/Kconfig | 3 -
board/schulercontrol/sc_sps_1/Kconfig | 3 -
board/siemens/corvus/Kconfig | 3 -
board/siemens/draco/Kconfig | 6 -
board/siemens/pxm2/Kconfig | 3 -
board/siemens/rut/Kconfig | 3 -
board/siemens/taurus/Kconfig | 3 -
board/silica/pengwyn/Kconfig | 3 -
board/solidrun/hummingboard/Kconfig | 3 -
board/spear/spear300/Kconfig | 3 -
board/spear/spear310/Kconfig | 3 -
board/spear/spear320/Kconfig | 3 -
board/spear/spear600/Kconfig | 3 -
board/spear/x600/Kconfig | 3 -
board/st-ericsson/snowball/Kconfig | 3 -
board/st-ericsson/u8500/Kconfig | 3 -
board/sunxi/Kconfig | 3 -
board/syteco/jadecpu/Kconfig | 3 -
board/syteco/zmx25/Kconfig | 3 -
board/taskit/stamp9g20/Kconfig | 3 -
board/ti/am335x/Kconfig | 3 -
board/ti/am43xx/Kconfig | 3 -
board/ti/ti814x/Kconfig | 3 -
board/ti/ti816x/Kconfig | 3 -
board/ti/tnetv107xevm/Kconfig | 3 -
board/timll/devkit3250/Kconfig | 3 -
board/toradex/colibri_pxa270/Kconfig | 3 -
board/tqc/tqma6/Kconfig | 3 -
board/trizepsiv/Kconfig | 3 -
board/ttcontrol/vision2/Kconfig | 3 -
board/udoo/Kconfig | 3 -
board/vpac270/Kconfig | 3 -
board/wandboard/Kconfig | 3 -
board/woodburn/Kconfig | 6 -
board/xaeniax/Kconfig | 3 -
board/zipitz2/Kconfig | 3 -
158 files changed, 259 insertions(+), 515 deletions(-)
--
2.1.2
More information about the U-Boot
mailing list