diff options
author | Alexei Fedorov <Alexei.Fedorov@arm.com> | 2019-10-03 10:57:53 +0100 |
---|---|---|
committer | Alexei Fedorov <Alexei.Fedorov@arm.com> | 2019-10-04 14:20:21 +0100 |
commit | 719714f1895399e6d64049bed3b03c2597d95402 (patch) | |
tree | eb40c8e9ffd2dae7a99f42a8a72254c6152a85f3 /plat/arm/fvp | |
parent | e73248e004d971adb6259000d463c929f756a345 (diff) |
TF-A Tests: Enable PAuth on warm boot path
This patch provides the following features and makes
modifications listed below:
- `plat_init_apiakey()` function is replaced with `init_apkey()`
which returns 128-bit value and uses Generic timer physical counter
value to increase the randomness of the generated key.
The new function can be used for generation of all ARMv8.3-PAuth keys.
- Source file `pauth.c` moved from `plat/common/aarch64`
to `lib/extensions/pauth/aarch64` folder which contains PAuth specific
code.
- Individual APIAKey key generation for each CPU on every warm boot.
- Per-CPU storage of APIAKey added in `tftf_suspend_context` structure.
- APIAKey key is saved/restored in arch context on entry/exit from
suspended state.
- Added `pauth_init_enable()` function which generates, programs
and enables APIAKey in EL1/EL2.
- Changes in documentation related to ARMv8.3-PAuth support.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I964b8f964bb541cbb0b2f772cb0b07aed055fe36
Diffstat (limited to 'plat/arm/fvp')
-rw-r--r-- | plat/arm/fvp/platform.mk | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plat/arm/fvp/platform.mk b/plat/arm/fvp/platform.mk index 9fb84c2..bf4075d 100644 --- a/plat/arm/fvp/platform.mk +++ b/plat/arm/fvp/platform.mk @@ -24,7 +24,9 @@ CACTUS_SOURCES += plat/arm/fvp/${ARCH}/plat_helpers.S FIRMWARE_UPDATE := 1 ifeq (${ARCH},aarch64) -PLAT_SOURCES += plat/common/aarch64/pauth.c +# ARMv8.3 Pointer Authentication support files +PLAT_SOURCES += lib/extensions/pauth/aarch64/pauth.c \ + lib/extensions/pauth/aarch64/pauth_helpers.S endif include plat/arm/common/arm_common.mk |