u-boot/arch/arm/include/asm
Albert ARIBAUD 6b4e942683 armv5te: make 'ret lr' produce iinterworking 'bx lr'
Current ARM assembler helper for the 'return to caller' pseudo-instruction
turns 'ret lr' into 'mov pc, lr' for ARMv5TE. This causes the core to remain
in its current ARM state even when the routine doing the 'ret' was called
from Thumb-1 state, triggering an undefined instruction exception.

This causes early run-time failures in all boards compiled using the Thumb-1
instruction set (for instance the Open-RD family).

ARMv5TE supports 'bx lr' which properly implements interworking and thus
correctly returns to Thumb-1 state from ARM state.

This change makes 'ret lr' turn into 'bx lr' for ARMv5TE.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
2017-03-01 21:28:31 -05:00
..
arch-am33xx ARM: am335x: Add support for chiliSOM 2017-01-28 14:04:36 -05:00
arch-armada8k arm64: mvebu: Add L3 cache flush functionality to A8K family 2016-12-12 09:05:28 +01:00
arch-armada100 Update Maintainer and Author's email address 2016-12-27 11:24:17 -05:00
arch-armv7 ARMv7: Factor out reusable timer_wait from sunxi/psci_sun7i.S 2015-07-20 11:44:38 -07:00
arch-aspeed aspeed: Add basic ast2500-specific drivers and configuration 2017-01-28 14:04:29 -05:00
arch-bcm235xx ARM: boot0 hook: remove macro, include whole header file 2017-01-04 16:37:41 +01:00
arch-bcm281xx ARM: boot0 hook: remove macro, include whole header file 2017-01-04 16:37:41 +01:00
arch-bcmcygnus configs: Re-sync with cmd/Kconfig 2016-04-25 15:09:47 -04:00
arch-bcmnsp arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
arch-ep93xx arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
arch-fsl-layerscape board: freescale: ls1012a: Enable secure DDR on LS1012A platforms 2017-02-03 14:30:28 -08:00
arch-hi6220 driver: gpio: hikey: Fix pointer conversion warnings for hikey 2015-11-12 15:58:59 -05:00
arch-imx imx: add i.MX 6SLL CPU type 2016-12-16 11:38:24 +01:00
arch-lpc32xx arm: lpc32xx: switch SPL builds to driver model 2016-01-13 21:05:22 -05:00
arch-ls102xa disk: convert CONFIG_DOS_PARTITION to Kconfig 2017-01-28 08:47:34 -05:00
arch-meson meson: odroid-c2: enable Ethernet support through the device tree 2016-09-06 13:18:19 -04:00
arch-mvebu spi: kirkwood_spi: implement mvebu_spi_set_mode() 2016-11-18 13:04:52 +05:30
arch-mx5 ARM: Move SYS_CACHELINE_SIZE over to Kconfig 2016-08-26 17:04:46 -04:00
arch-mx6 ARM: imx6ul: Move liteSOM source to SoC directory 2017-01-27 10:48:07 +01:00
arch-mx7 imx: mx7: Add plugin support 2016-10-24 10:57:16 +02:00
arch-mx25 imx: cpu: move common chip revision id's 2015-10-30 15:20:56 +01:00
arch-mx27 mmc: move more driver config options to Kconfig 2017-01-11 19:40:15 +09:00
arch-mx31 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mx35 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mxs ARM: mxs: allow boards to select DC-DC switching clock source 2016-01-03 15:56:36 +01:00
arch-omap3 arm: omap3: Update cpuinfo for DM3730, DM3725, AM3715, and AM3703 2017-01-28 14:04:40 -05:00
arch-omap4 TI: Rework SRAM definitions and maximums 2016-09-06 13:41:42 -04:00
arch-omap5 ARM: DRA7xx: Fix memory allocation overflow 2017-02-17 17:24:35 -05:00
arch-orion5x edminiv2: switch to SPL 2015-02-25 07:59:50 +01:00
arch-pxa arm: pxa: use common timer functions 2015-08-24 20:30:37 +02:00
arch-rockchip rockchip: rk3288: set isp/vop qos priority level 2017-01-11 20:23:50 -07:00
arch-s3c24x0 mtd: nand: s3c: Unify the register definition and naming 2014-11-26 23:21:43 -06:00
arch-s32v234 armv8: s32v234: Introduce basic support for s32v234evb 2016-06-13 08:56:35 -04:00
arch-sa1100
arch-spear arm: spear: Add command to switch between 1-bit HW ECC and SW BCH4 2015-09-11 17:15:14 -04:00
arch-stm32f1 gpio: stm32_gpio: move base addresses to the soc file 2016-02-24 18:42:50 -05:00
arch-stm32f4 stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00
arch-stm32f7 ARM: SPI: stm32: add stm32f746 qspi driver 2017-01-28 14:04:50 -05:00
arch-stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
arch-sunxi sunxi: A64: use H3 DRAM initialization code for A64 as well 2017-01-04 16:37:42 +01:00
arch-tegra ARM: tegra: add APIs the clock uclass driver will need 2016-09-27 09:11:02 -07:00
arch-tegra20 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra30 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra114 Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-tegra124 Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
arch-tegra186 ARM: tegra: add core Tegra186 support 2016-05-31 11:22:59 -07:00
arch-tegra210 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-vf610 colibri-vf: Disable pull-up configuration in GPIO pin mux 2016-03-02 14:47:16 +01:00
arch-zynqmp ARM64: zynqmp: Generate handoff structure for ATF 2017-01-10 10:22:05 +01:00
armv8 Merge git://git.denx.de/u-boot-fsl-qoriq 2017-01-19 12:22:23 -05:00
imx-common config: Drop CONFIG_ARCH_DMA_PIO_WORDS 2017-01-25 16:42:20 -05:00
iproc-common arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
kona-common bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
proc-armv ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
ti-common TI: Remove CONFIG_OMAP_COMMON in favor of CONFIG_ARCH_OMAP2 2016-11-21 14:07:29 -05:00
armv7.h ARM: Add an empty secure stack section 2016-07-15 15:54:57 +02:00
armv7m.h stm32: Add SDRAM support for stm32f746 discovery board 2016-07-14 18:22:43 -04:00
assembler.h armv5te: make 'ret lr' produce iinterworking 'bx lr' 2017-03-01 21:28:31 -05:00
atomic.h ARM64: Add support for some of atomic64 operations 2016-10-06 20:57:42 -04:00
barriers.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
bitops.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
bootm.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h ARM: Move SYS_CACHELINE_SIZE over to Kconfig 2016-08-26 17:04:46 -04:00
config.h treewide: move CONFIG_PHYS_64BIT to Kconfig 2016-08-05 07:27:25 -04:00
davinci_rtc.h am33xx, davinci: Create and use <asm/davinci_rtc.h> 2013-11-01 15:30:22 -04:00
dma-mapping.h arm: asm: dma-mapping: added dma_free_coherent API 2015-04-14 05:48:09 +02:00
ehci-omap.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
emif.h arm: am33xx: Initialize EMIF REG_PR_OLD_COUNT for BBB and am335x-evm 2016-12-09 15:00:03 -05:00
fsl_secure_boot.h NXP: Introduce board/freescale/common/Kconfig and migrate CHAIN_OF_TRUST 2017-01-24 10:33:59 -05:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h TI: Remove CONFIG_OMAP_COMMON in favor of CONFIG_ARCH_OMAP2 2016-11-21 14:07:29 -05:00
gpio.h gpio: do not include <asm/arch/gpio.h> for UniPhier 2016-02-29 03:50:15 +09:00
hardware.h
io.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
linkage.h
mach-types.h arm: Re-sync with full list of MACH_TYPE_xxx values 2017-01-28 14:04:20 -05:00
macro.h ARMv8: Enable SMC instruction 2016-12-15 11:57:35 -08:00
memory.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
omap_common.h board: ti: dra71x-evm: Add PMIC support 2016-12-04 13:54:50 -05:00
omap_gpio.h gpio: omap: Drop 'method' parameter 2015-08-12 20:48:06 -04:00
omap_mmc.h ARM: OMAP4+: Add support for getting pbias info from board 2016-12-04 13:54:51 -05:00
omap_musb.h drivers: usb: musb: adopt musb backend driver to driver model 2016-12-02 21:04:48 -07:00
omap_sec_common.h arm: omap5: Add TEE loading support 2016-12-03 13:21:21 -05:00
pl310.h arm: socfpga: enable data/inst prefetch and shared override in the L2 2015-10-17 01:47:31 +02:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h ARMv8: Add basic PSCI framework 2016-12-15 11:57:44 -08:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
secure.h ARMv8: Setup PSCI memory and device tree 2016-12-15 11:57:51 -08:00
setjmp.h arm: Add return value argument to longjmp 2016-10-08 09:33:34 -04:00
setup.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
spin_table.h arm64: add better and more generic spin-table support 2016-07-14 18:22:16 -04:00
spl.h spl: Move spl_board_load_image() into a generic header 2016-10-06 14:48:14 -04:00
string.h ARM: revive CONFIG_USE_ARCH_MEMCPY/MEMSET for UniPhier and Tegra 2016-12-27 11:24:15 -05:00
system.h armv8: aarch64: Fix the warning about x1-x3 nonzero issue 2017-01-18 09:29:33 -08:00
types.h types.h: move and redefine resource_size_t 2016-07-14 18:22:24 -04:00
u-boot-arm.h ls2080: Exit dpaa only right before exiting U-Boot 2016-11-17 14:18:55 +01:00
u-boot.h arm: Drop old non-generic-board code 2015-09-28 10:48:24 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
utils.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00