u-boot/arch
Andre Przywara 7400d34ba9 riscv: 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 a few instructions, 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 assembler.
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 19:24:34 -05:00
..
arc dm: dts: Convert driver model tags to use new schema 2023-02-14 09:43:26 -07:00
arm arm: semihosting: replace inline assembly with assembly file 2023-03-06 17:06:17 -05:00
m68k dm: dts: Convert driver model tags to use new schema 2023-02-14 09:43:26 -07:00
microblaze Correct SPL uses of LMB 2023-02-10 07:41:39 -05:00
mips dm: dts: Convert driver model tags to use new schema 2023-02-14 09:43:26 -07:00
nios2 dm: dts: Convert driver model tags to use new schema 2023-02-14 09:43:26 -07:00
powerpc powerpc, mpc83xx: Remove CONFIG_ELBC_BRx_ORx 2023-03-06 17:05:40 -05:00
riscv riscv: semihosting: replace inline assembly with assembly file 2023-03-06 19:24:34 -05:00
sandbox sandbox: Use the generic VPL option to enable VPL 2023-03-02 17:45:58 -05:00
sh dm: dts: Convert driver model tags to use new schema 2023-02-14 09:43:26 -07:00
x86 Prepare v2023.04-rc3 2023-02-27 17:28:21 -05:00
xtensa global: Migrate CONFIG_MAX_MEM_MAPPED to CFG 2022-12-23 10:14:51 -05:00
.gitignore
Kconfig event: Correct dependencies on the EVENT framework 2023-01-18 12:46:13 -05:00
Kconfig.nxp nxp: Finish migration of SYS_FSL_SRDS_[12] to Kconfig 2023-01-20 12:27:23 -05:00
u-boot-elf.lds