arm-trusted-firmware/lib
Antonio Nino Diaz 5283962eba Add ARMv8.3-PAuth registers to CPU context
ARMv8.3-PAuth adds functionality that supports address authentication of
the contents of a register before that register is used as the target of
an indirect branch, or as a load.

This feature is supported only in AArch64 state.

This feature is mandatory in ARMv8.3 implementations.

This feature adds several registers to EL1. A new option called
CTX_INCLUDE_PAUTH_REGS has been added to select if the TF needs to save
them during Non-secure <-> Secure world switches. This option must be
enabled if the hardware has the registers or the values will be leaked
during world switches.

To prevent leaks, this patch also disables pointer authentication in the
Secure world if CTX_INCLUDE_PAUTH_REGS is 0. Any attempt to use it will
be trapped in EL3.

Change-Id: I27beba9907b9a86c6df1d0c5bf6180c972830855
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2019-02-27 11:08:59 +00:00
..
aarch32 Correct typographical errors 2019-01-15 15:16:02 +00:00
aarch64 Merge pull request #1810 from antonio-nino-diaz-arm/an/setjmp 2019-02-11 09:58:53 +00:00
compiler-rt compiler_rt: Import lshrdi3.c file 2018-11-06 15:42:51 +01:00
coreboot Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cpus Rename Cortex-Helios to Neoverse E1 2019-02-19 14:02:34 +00:00
el3_runtime Add ARMv8.3-PAuth registers to CPU context 2019-02-27 11:08:59 +00:00
extensions Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
libc libc: Move setjmp to libc folder 2019-02-08 13:42:38 +00:00
libfdt libfdt: Downgrade to version 1.4.6-9 2018-10-30 13:42:13 +00:00
locks locks: linker variables to calculate per-cpu bakery lock size 2019-02-07 09:00:52 -08:00
optee Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
pmf Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
psci Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
romlib Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
semihosting Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
sprt SPM: Introduce SPRT C host library 2018-12-11 15:04:24 +00:00
stack_protector Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
utils plat/arm: Sanitise includes 2019-01-25 16:04:10 +00:00
xlat_tables ARMv7: support non-LPAE mapping (not xlat_v2) 2019-02-19 17:07:48 +00:00
xlat_tables_v2 xlat_tables_v2: mark 'xlat_clean_dcache_range' unused 2019-02-07 09:01:12 -08:00
zlib Sanitise includes across codebase 2019-01-04 10:43:17 +00:00