u-boot/arch/arm
Sergei Antonov 583f1b2f10 arm: ARMv4 assembly compatibility
There is currently a problem that U-Boot can not work on ARMv4
because assembly imlementations of memcpy() and some other functions
use "bx lr" instruction that is not available on ARMv4 ("mov pc, lr"
should be used instead).

A working preprocessor-based solution to this problem is found in
arch/arm/lib/relocate.S. Move it to the "ret" macro in
arch/arm/include/asm/assembler.h and change all "bx lr" code
to "ret lr" in functions that may run on ARMv4. Linux source code
deals with this problem in the same manner.

v1 -> v2:
Comment update. Pointed out by Andre Przywara.

Signed-off-by: Sergei Antonov <saproj@gmail.com>
CC: Samuel Holland <samuel@sholland.org>
CC: Ye Li <ye.li@nxp.com>
CC: Simon Glass <sjg@chromium.org>
CC: Andre Przywara <andre.przywara@arm.com>
CC: Marek Vasut <marex@denx.de>
CC: Sean Anderson <sean.anderson@seco.com>
CC: Tom Rini <trini@konsulko.com>
2022-09-02 13:40:42 -04:00
..
cpu layerscape: Disable CONFIG_FMAN_ENET on *aqds* platforms 2022-08-20 21:18:15 -04:00
dts arm: dts: qcom: Sync pinctrl DT nodes with Linux bindings 2022-08-26 10:55:46 -04:00
include arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
lib arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
mach-apple arm: apple: Add initial Apple M2 support 2022-07-25 09:38:47 -04:00
mach-aspeed aspeed/spl: Remove OVERLAY from linker script 2022-07-06 14:32:00 -04:00
mach-at91 arm: Remove snapper9260 board 2022-08-12 16:10:50 -04:00
mach-bcm283x
mach-bcmbca arm: bcmbca: introduce the bcmbca architecture and 47622 SOC 2022-06-10 13:37:32 -04:00
mach-bcmstb
mach-cortina
mach-davinci arm: Remove unused references to CONFIG_SOC_DM* 2022-07-25 14:57:27 -04:00
mach-exynos arm: samsung: Migrate a number of symbols to Kconfig 2022-06-28 17:04:37 -04:00
mach-highbank
mach-hpe ARM: hpe: gxp: add core support 2022-06-22 21:30:04 -04:00
mach-imx arm: Remove warp board 2022-08-20 22:45:00 -04:00
mach-integrator arm: integrator: Migrate platform-specific options and cleanup armcoremodule.h 2022-04-08 09:05:19 -04:00
mach-ipq40xx arm: dts: qcom: Sync pinctrl DT nodes with Linux bindings 2022-08-26 10:55:46 -04:00
mach-k3 arm: mach-k3: security: Remove certificate if detected on GP device 2022-08-04 15:32:20 -04:00
mach-keystone i2c: Remove non-DM_I2C support from davinci_i2c.c 2022-07-08 17:57:34 -04:00
mach-kirkwood board: lsxl: make last resort recovery more reliable 2022-08-23 12:40:00 +02:00
mach-lpc32xx net: lpc32xx_eth.c ethernet driver 2022-08-20 21:18:15 -04:00
mach-mediatek
mach-meson ARM: meson: fixup error on efuse commands return 2022-08-08 09:56:38 +02:00
mach-mvebu Convert CONFIG_SYS_L2_PL310 to Kconfig 2022-09-01 17:18:42 -04:00
mach-nexell
mach-npcm arm: nuvoton: Add support for Nuvoton NPCM750 BMC 2022-05-05 09:28:47 -04:00
mach-octeontx
mach-octeontx2
mach-omap2 Convert CONFIG_SYS_L2_PL310 to Kconfig 2022-09-01 17:18:42 -04:00
mach-orion5x arm: Remove edminiv2 board 2022-08-20 21:18:15 -04:00
mach-owl
mach-qemu
mach-rmobile arm: Remove kzm9g board 2022-08-20 21:18:15 -04:00
mach-rockchip Merge branch 'next' 2022-07-11 14:58:57 -04:00
mach-s5pc1xx
mach-snapdragon arm: dts: qcom: Sync pinctrl DT nodes with Linux bindings 2022-08-26 10:55:46 -04:00
mach-socfpga socfpga: arria10: Allow dcache_enable before relocation 2022-07-01 14:57:15 +08:00
mach-sti stm32mp1: fix reference for STMicroelectronics 2022-06-17 14:12:27 +02:00
mach-stm32 configs: stm32f746-disco: Migrate SPL flags to defconfig 2022-05-10 13:56:12 +02:00
mach-stm32mp stm32mp: add support of STM32MP13x Rev.Y 2022-07-12 11:47:34 +02:00
mach-sunxi sunxi: Move INITIAL_USB_SCAN_DELAY to driver Kconfig 2022-07-18 23:48:09 +01:00
mach-tegra Convert CONFIG_TEGRA_GPU to Kconfig 2022-06-28 17:03:31 -04:00
mach-u8500
mach-uniphier serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
mach-versal spi: cadence_qspi: Enable apb linear mode for apb read & write operations 2022-06-29 16:00:31 +02:00
mach-versatile
mach-zynq fpga: xilinx: add bitstream flags to driver desc 2022-07-26 09:34:21 +02:00
mach-zynqmp mailbox: zynqmp: Move struct zynqmp_ipi_msg from sys_proto.h 2022-07-26 08:36:20 +02:00
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
Kconfig ARM: cache: Allow SPL to build cache-pl310.c 2022-09-01 17:18:42 -04:00
Kconfig.debug
Makefile arm: makefile: cleanup mach-imx usage 2022-07-26 11:29:00 +02:00