u-boot/arch/arm
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
..
cpu flash: complete CONFIG_SYS_NO_FLASH move with renaming 2017-02-12 14:30:25 -05:00
dts ARM: dts: uniphier: drop u-boot, dm-pre-reloc from system-bus pinctrl node 2017-02-23 08:37:56 +09:00
imx-common imx_common: check for bmode Serial Downloader 2017-01-27 10:40:16 +01:00
include armv5te: make 'ret lr' produce iinterworking 'bx lr' 2017-03-01 21:28:31 -05:00
lib arm64: fix comment in relocate_64.S 2017-02-08 16:24:27 -05:00
mach-aspeed dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
mach-at91 Convert CONFIG_BOARD_EARLY_INIT_F to Kconfig 2017-01-25 17:38:32 -05:00
mach-bcm283x ARM: bcm283x: Implement EFI RTS reset_system 2016-11-28 20:15:19 -05:00
mach-davinci Kconfig: Migrate BOARD_LATE_INIT to a select 2017-01-24 10:35:54 -05:00
mach-exynos Convert CONFIG_BOARD_EARLY_INIT_F to Kconfig 2017-01-25 17:38:32 -05:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-integrator integrator: switch to DM serial port 2015-08-12 20:47:49 -04:00
mach-keystone ARM: K2G: DDR3: Fix up priv ID for MPU 2016-12-03 13:21:10 -05:00
mach-kirkwood Kconfig: Migrate BOARD_LATE_INIT to a select 2017-01-24 10:35:54 -05:00
mach-meson arm: Disable HVC PSCI calls by default 2016-10-18 09:08:08 +02:00
mach-mvebu arm: mvebu: Implement secure boot 2017-02-01 09:04:18 +01:00
mach-omap2 arm: mach-omap2: Flush cache after FIT post-processing image 2017-02-27 12:14:59 -05:00
mach-orion5x Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
mach-rmobile armv8: aarch64: Fix the warning about x1-x3 nonzero issue 2017-01-18 09:29:33 -08:00
mach-rockchip rockchip: rename miniarm to tinker board 2017-02-09 12:10:59 -07:00
mach-s5pc1xx arm: s5pc1xx: move SoC to mach-s5pc1xx 2015-11-30 17:17:01 +09:00
mach-snapdragon drivers/sysreset: group sysreset drivers 2016-08-12 09:22:17 -04:00
mach-socfpga SPL: add support to boot from a partition type 2017-02-17 14:15:14 -05:00
mach-stm32 ARM: SPI: stm32: add stm32f746 qspi driver 2017-01-28 14:04:50 -05:00
mach-sunxi sunxi: A64: enable SPL 2017-01-04 16:37:43 +01:00
mach-tegra Convert CONFIG_BOARD_EARLY_INIT_F to Kconfig 2017-01-25 17:38:32 -05:00
mach-uniphier ARM: uniphier: set up charge pump current for MPLL of LD11 SoC 2017-02-23 09:00:16 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq mmc: zynq: rename CONFIG_ZYNQ_SDHCI to CONFIG_MMC_SDHCI_ZYNQ 2017-01-31 21:50:47 +09:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk ARMv8: Add secure sections for PSCI text and data 2016-12-15 11:57:25 -08:00
Kconfig SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig 2017-02-17 14:15:15 -05:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile Merge branch 'master' of git://www.denx.de/git/u-boot-imx 2017-02-01 16:34:25 -05:00