u-boot/arch/arm
Andre Przywara 29c579a249 arm: semihosting: replace inline assembly with assembly file
So far we used inline assembly to inject the actual instruction that
triggers the semihosting service. While this sounds elegant, as it's
really only about one instruction, it has some serious downsides:
- We need some barriers in place to force the compiler to issue writes
  to a data structure before issuing the trap instruction.
- We need to convince the compiler to actually fill the structures that
  we use pointers to.
- We need a memory clobber to avoid the compiler caching the data in
  those structures, when semihosting writes data back.
- We need register arguments to make sure the function ID and the
  pointer land in the right registers.

This is all doable, but fragile and somewhat cumbersome. Since we now
have a separate function in an extra file anyway, we can do away with
all the magic and just write that in an actual assembly file.
This is much more readable and robust.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Sean Anderson <sean.anderson@seco.com>
2023-03-06 17:06:17 -05:00
..
cpu ARM: remove SPEAR entry in makefile 2023-03-06 17:03:56 -05:00
dts am62a7: dts: Enable full 4GB LPDDR4 2023-03-06 17:06:17 -05:00
include ARM: tegra: crypto: extend crypto functional 2023-02-23 12:55:37 -07:00
lib arm: semihosting: replace inline assembly with assembly file 2023-03-06 17:06:17 -05:00
mach-apple
mach-aspeed
mach-at91 global: Remove unused CONFIG defines 2023-01-20 12:27:06 -05:00
mach-bcm283x
mach-bcmbca
mach-bcmstb
mach-cortina
mach-davinci global: Migrate CONFIG_MAX_RAM_BANK_SIZE to CFG 2022-12-23 10:14:51 -05:00
mach-exynos Correct SPL use of EXYNOS7420 2023-02-09 16:32:26 -05:00
mach-highbank
mach-hpe
mach-imx imx9: Remove ARCH_MISC_INIT 2023-03-02 15:32:25 -05:00
mach-integrator
mach-ipq40xx
mach-k3 arch: mach-k3: Update board specific API name to K3 generic API name 2023-01-27 12:51:27 -05:00
mach-keystone
mach-kirkwood arm: kirkwood: Use CONFIG_SYS_NS16550 with DM_SERIAL for Kirkwood boards 2023-02-13 10:14:50 +01:00
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: switch AXG & GX dwc2 otg to DM 2023-01-20 16:21:31 +01:00
mach-mvebu mvebu: Drop empty arch_misc_init 2023-03-02 15:32:25 -05:00
mach-nexell arm: s5p4418: dm_serial: remove old code / add DEBUG_UART 2023-01-02 16:06:08 -05:00
mach-npcm
mach-octeontx
mach-octeontx2
mach-omap2 global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mach-orion5x global: Migrate CONFIG_MAX_RAM_BANK_SIZE to CFG 2022-12-23 10:14:51 -05:00
mach-owl
mach-qemu
mach-rmobile rmobile: Drop unused ehci-rmobile driver 2023-02-07 14:33:50 -05:00
mach-rockchip arm: rk3368: Select ARCH_EARLY_INIT_R when used 2023-03-02 15:32:25 -05:00
mach-s5pc1xx exynos: Rework legacy PWM usage 2022-12-23 10:07:03 -05:00
mach-snapdragon clocks: qcs404: Add support for I2C clocks 2023-02-13 10:01:52 -05:00
mach-socfpga Use grep -E or plain grep instead of egrep 2023-01-11 15:02:24 -05:00
mach-sti
mach-stm32
mach-stm32mp Correct SPL use of STM32MP15X_STM32IMAGE 2023-02-10 07:41:40 -05:00
mach-sunxi sunxi: eMMC: support TOC0 on boot partitions 2023-01-23 01:18:23 +00:00
mach-tegra ARM: tegra20: implement BCT patching 2023-02-23 12:55:37 -07:00
mach-u8500
mach-uniphier arm: uniphier: use DM_TIMER of arm a9 global timer 2023-01-02 16:01:39 -05:00
mach-versal
mach-versal-net xilinx: versal-net: Add support for timer and start it 2023-01-16 15:34:37 +01:00
mach-versatile
mach-zynq
mach-zynqmp
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk Convert CONFIG_STANDALONE_LOAD_ADDR to Kconfig 2022-12-22 10:31:48 -05:00
Kconfig arm: zynq: Move to select'ing ARCH_EARLY_INIT_R if we have FPGA 2023-03-02 15:32:25 -05:00
Kconfig.debug
Makefile