u-boot/arch/arm/cpu/armv8
Peter Hoyes c48fec6e7c armv8: Initialize CNTFRQ if at highest exception level
CNTFRQ_EL0 is only writable from the highest supported exception
level on the platform. For Armv8-A, this is typically EL3, but
technically EL2 and EL3 are optional so it may need to be
initialized at EL2 or EL1. For Armv8-R, the highest exception
level is always EL2.

This patch moves the initialization outside of the switch_el
block and uses a new macro branch_if_not_highest_el which
dynamically detects whether it is at the highest supported
exception level.

Linux's docs state that CNTFRQ_EL0 should be initialized by the
bootloader. If not set, the the U-Boot prompt countdown hangs.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
2021-07-23 18:53:46 -04:00
..
bcmns3 board: ns3: add api to save boot parameters passed from BL31 2020-07-29 10:13:41 -04:00
fsl-layerscape armv8: Update erratum number to align with doc 2021-06-17 11:46:11 +05:30
hisilicon common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
xen board: Introduce xenguest_arm64 board 2020-08-14 15:18:27 -04:00
cache.S arm: armv8: Fix warning about redeclaring global functions as weak 2021-07-09 12:15:41 -04:00
cache_v8.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
config.mk SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cpu-dt.c treewide: use CONFIG_IS_ENABLED() for ARMV8_SEC_FIRMWARE_SUPPORT 2020-12-04 16:09:05 -05:00
cpu.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
exception_level.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
exceptions.S armv8: Reduce exception handling code 2018-08-03 19:53:54 -04:00
fel_utils.S sunxi: Add H616 FEL support 2021-01-25 21:52:01 +00:00
fwcall.c arm: Remove #include <version.h> from armv8/fwcall.c 2021-02-01 16:32:06 -05:00
generic_timer.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
Kconfig arm: Remove s32v234evb board 2021-04-10 08:01:00 -04:00
linux-kernel-image-header-vars.h arm64: add an option to switch visibility of CONFIG_SYS_INIT_SP_BSS_OFFSET 2019-07-10 22:37:23 +09:00
lowlevel_init.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile armv8: Makefile: build cache files when needed 2021-01-16 19:17:11 -05:00
psci.S ARMv8: PSCI: Fix PSCI_TABLE relocation issue 2019-04-23 17:57:28 -04:00
sec_firmware.c image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
sec_firmware_asm.S armv8: sec_firmware: change el2_to_aarch32 SMC ID 2018-12-06 14:37:19 -08:00
smccc-call.S arm: Leave smccc calls in .text when efi_loader=n 2019-02-13 09:40:06 +01:00
spin_table.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -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
spl_data.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
start.S armv8: Initialize CNTFRQ if at highest exception level 2021-07-23 18:53:46 -04: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 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
u-boot-spl.lds armv8: SPL: discard relocation information 2021-05-24 14:21:30 -04:00
u-boot.lds ARMv8: Allow SiP service extensions on top of PSCI code 2019-04-22 18:13:21 -04:00