u-boot/arch/arm/cpu/armv8
Marek Vasut 9f95282f31 arm64: Add late jump to kernel board hook
Add empty weak assembler function armv8_switch_to_el2_prep() which is
jumped to just before U-Boot determines which EL it is running in and
decides which path to take to boot the Linux kernel.

This weak function is meant to be used by architecture specific code
to implement jump to a firmware blob, which then returns right past
this weak function and continues execution of U-Boot code which then
boots the Linux kernel. One example of such use case is when U-Boot
jump tp TFA BL31, which switches from EL3 to EL2 and then returns to
U-Boot code newly running in EL2 and starts the Linux kernel.

The weak function is called with caches already disabled and DM shut
down. Any preparatory work or even loading of more data must be done
in board_prep_linux(), this hook is meant only for the final jump to
the firmware and return to U-Boot before booting Linux.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-15 14:44:43 +01:00
..
bcmns3 board: ns3: add api to save boot parameters passed from BL31 2020-07-29 10:13:41 -04:00
fsl-layerscape layerscape: use the lmb API's to add RAM memory 2024-10-15 13:45:29 -06:00
hisilicon Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
xen WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
acpi_park_v8.S arm: cpu: Add ACPI parking protocol support 2024-10-27 17:24:13 -06:00
cache.S arm: Check FEAT_CCIDX when parsing ccsidr_el1 register 2024-03-19 18:40:47 -04:00
cache_v8.c armv8: Fix get_sctlr() return type 2024-11-17 13:13:22 -06:00
config.mk arm: Centralize fixed register logic 2023-04-25 15:31:27 -04:00
cpu-dt.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cpu.c armv8: cpu: Implement allow_unaligned() 2024-11-17 13:13:22 -06:00
exception_level.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
exceptions.S arm64: Save spsr in pt_regs 2022-04-01 16:56:53 -04:00
fel_utils.S sunxi: refactor serial base addresses to avoid asm/arch/cpu.h 2023-10-22 23:41:52 +01:00
fwcall.c arm: psci: Fix RESET2 hook 2023-01-31 15:46:39 +01:00
generic_timer.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
Kconfig armv8: generic_timer: Use event stream for udelay 2024-05-13 16:51:14 -06:00
linux-kernel-image-header-vars.h config: Use CONFIG_SYS_BIG_ENDIAN in code whenever possible 2024-07-31 11:18:37 -06:00
Makefile armv8: Add arch-specific sysinfo platform driver 2025-01-14 14:29:29 -06:00
psci.S arm: psci: Fix RESET2 hook 2023-01-31 15:46:39 +01:00
sec_firmware.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
sec_firmware_asm.S armv8: sec_firmware: change el2_to_aarch32 SMC ID 2018-12-06 14:37:19 -08:00
sha1_ce_core.S armv8 SHA-1 using ARMv8 Crypto Extensions: 2022-06-27 13:36:28 -04:00
sha1_ce_glue.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
sha256_ce_core.S armv8 SHA-256 using ARMv8 Crypto Extensions 2022-06-27 13:36:28 -04:00
sha256_ce_glue.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
smccc-call.S arm64: smccc: add support for SMCCCv1.2 x0-x17 registers 2023-08-08 10:22:03 -04:00
spin_table.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
spin_table_v8.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl_data.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
start.S Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
sysinfo.c armv8: Add arch-specific sysinfo platform driver 2025-01-14 14:29:29 -06:00
tlb.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
transition.S arm64: Add late jump to kernel board hook 2025-02-15 14:44:43 +01:00
u-boot-spl.lds armv8: Support not having separate BSS 2024-10-03 11:52:16 -06:00
u-boot.lds arm: remove redundant section alignments 2024-03-29 10:39:25 -04:00