u-boot/arch/arm/cpu/armv8/fsl-layerscape
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
..
doc armv8: lx2162a: Add Soc changes to support LX2162A 2020-12-10 13:56:39 +05:30
cpu.c armv8: layerscape: add PSCI support for cpu release 2021-06-17 11:46:11 +05:30
cpu.h armv8: layerscape: add PSCI support for cpu release 2021-06-17 11:46:11 +05:30
fdt.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
fsl_lsch2_serdes.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
fsl_lsch2_speed.c nxp: Migrate CONFIG_DDR_CLK_FREQ to Kconfig 2021-08-31 17:46:37 -04:00
fsl_lsch3_serdes.c armv8: lx2162a: Add Soc changes to support LX2162A 2020-12-10 13:56:39 +05:30
fsl_lsch3_speed.c nxp: Migrate CONFIG_DDR_CLK_FREQ to Kconfig 2021-08-31 17:46:37 -04:00
icid.c armv8: fsl-layerscape: make icid setup endianness aware 2019-08-22 09:07:36 +05:30
Kconfig Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
lowlevel.S armv8: layerscape: don't initialize GIC in SPL 2020-12-04 16:09:06 -05:00
ls1012a_serdes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ls1028_ids.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ls1028a_serdes.c armv8: ls1028a_serdes: Add few missing serdes protocols 2020-01-24 14:28:26 +05:30
ls1043_ids.c armv8: fsl-layerscape: fix SEC QI ICID setup 2019-03-03 22:01:09 +05:30
ls1043a_psci.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ls1043a_serdes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ls1046_ids.c armv8: fsl-layerscape: fix SEC QI ICID setup 2019-03-03 22:01:09 +05:30
ls1046a_serdes.c armv8: ls1046afrwy: Add support for LS1046AFRWY platform 2019-06-19 12:54:57 +05:30
ls1088_ids.c armv8: fsl-layerscape: guard caam specific defines 2019-11-08 11:13:38 +05:30
ls1088a_serdes.c armv8: fsl-layerscape: LS1044A/1048A: enable Only 1x 10GE port 2020-01-24 14:28:26 +05:30
ls2080a_serdes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ls2088_ids.c armv8: ls2088a: add icid setup for platform devices 2019-11-08 11:13:38 +05:30
lx2160_ids.c armv8: lx2160a: add icid setup for platform devices 2019-11-08 11:13:38 +05:30
lx2160a_serdes.c armv8: lx2162a: Add Soc changes to support LX2162A 2020-12-10 13:56:39 +05:30
Makefile armv8: lx2162a: Add Soc changes to support LX2162A 2020-12-10 13:56:39 +05:30
mp.c armv8: layerscape: add PSCI support for cpu release 2021-06-17 11:46:11 +05:30
ppa.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
soc.c Convert CONFIG_SYS_I2C_LEGACY to Kconfig and add CONFIG_[ST]PL_SYS_I2C_LEGACY 2021-08-30 14:10:07 -04:00
spintable.S armv8: Disable pointer authentication traps for EL1 2021-09-02 10:17:45 -04:00
spl.c Convert CONFIG_SYS_I2C_LEGACY to Kconfig and add CONFIG_[ST]PL_SYS_I2C_LEGACY 2021-08-30 14:10:07 -04:00