u-boot/arch
Peter Hoyes 53b40e8d54 armv8: Disable pointer authentication traps for EL1
The use of ARMv8.3 pointer authentication (PAuth) is governed by fields
in HCR_EL2, which trigger a 'trap to EL2' if not enabled. The reset
value of these fields is 'architecturally unknown' so we must ensure
that the fields are enabled (to disable the traps) if we are entering
the kernel at EL1.

The APK field disables PAuth instruction traps and the API field
disables PAuth register traps

Add code to disable the traps in armv8_switch_to_el1_m. Prior to doing
so, it checks fields in the ID_AA64ISAR1_EL1 register to ensure pointer
authentication is supported by the hardware.

The runtime checks require a second temporary register, so add this to
the EL1 transition macro signature and update 2 call sites.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
2021-09-02 10:17:45 -04:00
..
arc Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
arm armv8: Disable pointer authentication traps for EL1 2021-09-02 10:17:45 -04:00
m68k m68k: Remove M52277EVB board 2021-07-18 21:03:57 -04:00
microblaze lmb: move CONFIG_LMB in Kconfig 2021-04-22 14:09:45 -04:00
mips Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
nds32 Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
nios2 global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
powerpc Finish converting CONFIG_SYS_CACHELINE_SIZE to Kconfig 2021-08-31 17:47:49 -04:00
riscv Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
sandbox Merge branch 'next' of https://gitlab.denx.de/u-boot/custodians/u-boot-marvell into next 2021-08-31 19:11:15 -04:00
sh global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
x86 Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
xtensa Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
.gitignore
Kconfig Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
u-boot-elf.lds