u-boot-brain/arch
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
..
arc Convert CONFIG_ARCH_EARLY_INIT_R to Kconfig 2017-01-25 16:43:48 -05:00
arm armv5te: make 'ret lr' produce iinterworking 'bx lr' 2017-03-01 21:28:31 -05:00
avr32 efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
blackfin Convert CONFIG_ARCH_MISC_INIT to Kconfig 2017-01-25 17:38:41 -05:00
m68k spi: Zap cf_qspi driver and related code 2017-01-15 18:29:04 +01:00
microblaze microblaze: Fix endif macro command 2017-02-10 13:59:36 +01:00
mips mips: Use common _AC macro now. 2017-01-10 08:19:26 -05:00
nds32 nds32: Support relocation. 2016-09-29 15:38:10 +08:00
nios2 dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
openrisc efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
powerpc Merge git://git.denx.de/u-boot-fsl-qoriq 2017-02-03 20:33:42 -05:00
sandbox dtoc: Replace dot with underscore to avoid compiler errors 2017-02-08 06:07:35 -07:00
sh sh: generate position independent code for all platforms 2016-12-02 21:32:54 -05:00
sparc efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
x86 x86: Intel MID platforms has no microcode update 2017-02-21 15:10:56 +08:00
xtensa Remove arch/${ARCH}/include/asm/errno.h 2016-09-23 17:56:18 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig Convert CONFIG_ARCH_MISC_INIT to Kconfig 2017-01-25 17:38:41 -05:00