u-boot/arch/arm/cpu/armv8
Andre Przywara 1d26da5a6a sunxi: armv8: FEL: save and restore SP_IRQ
Thanks for Jernej's JTAG debugging effort, it turns out that the BROM
expects SP_IRQ to be saved and restored, when we want to enter back into
FEL after the SPL's AArch64 stint.
Save and restore SP_IRQ as part of the FEL state handling. The banked
MRS/MSR access to SP_IRQ, without actually being in IRQ mode, was
introduced with the ARMv7 virtualisation extensions. The Arm Cortex-A8
cores used in the A10/A13s or older F1C100s SoCs would not support that,
but this code here is purely in the ARMv8/AArch64 code path, so it's
safe to use unconditionally.

Reported-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2025-04-28 12:45:44 -06: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_v8.c arm64: Fix page permissions for platforms running at EL2 2025-04-04 12:24:56 -06:00
cache.S arm: Check FEAT_CCIDX when parsing ccsidr_el1 register 2024-03-19 18:40:47 -04: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 arm: use type jmp_buf instead of struct jmp_buf_data 2025-03-10 07:41:23 +01:00
exceptions.S arm64: Save spsr in pt_regs 2022-04-01 16:56:53 -04:00
fel_utils.S sunxi: armv8: FEL: save and restore SP_IRQ 2025-04-28 12:45:44 -06: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 Kbuild: Always use $(PHASE_) 2025-04-11 12:16:44 -06:00
psci.S arm: psci: Fix RESET2 hook 2023-01-31 15:46:39 +01:00
sec_firmware_asm.S armv8: sec_firmware: change el2_to_aarch32 SMC ID 2018-12-06 14:37:19 -08:00
sec_firmware.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06: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_v8.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spin_table.c spin_table: add missing header for ENODEV and ENOSPC symbols 2025-04-15 11:55:17 -06:00
spl_data.c arm: armv8: Improve SPL data save and restore implementation 2025-02-25 10:54:02 -06:00
start.S armv8: start.S: Subordinate CPUs psci setup vector 2025-04-10 20:55:39 -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 arm: armv8: Improve SPL data save and restore implementation 2025-02-25 10:54:02 -06:00
u-boot.lds arm: Prepare linker scripts for memory permissions 2025-03-14 13:30:12 +02:00