Merge "feat(rme): save PAuth context when RME is enabled" into integration

This commit is contained in:
Soby Mathew 2023-05-24 14:23:38 +02:00 committed by TrustedFirmware Code Review
commit b709f12db3
3 changed files with 11 additions and 6 deletions

View File

@ -152,7 +152,7 @@ ARM_ARCH_MAJOR := 8
ARM_ARCH_MINOR := 5
ENABLE_FEAT_ECV = 1
ENABLE_FEAT_FGT = 1
CTX_INCLUDE_PAUTH_REGS := 1
# RME enables CSV2_2 extension by default.
ENABLE_FEAT_CSV2_2 = 1

View File

@ -52,7 +52,7 @@ are explained below:
- ``RES0``: Bit 31 of the version number is reserved 0 as to maintain
consistency with the versioning schemes used in other parts of RMM.
This document specifies the 0.1 version of Boot Interface ABI and RMM-EL3
This document specifies the 0.2 version of Boot Interface ABI and RMM-EL3
services specification and the 0.2 version of the Boot Manifest.
.. _rmm_el3_boot_interface:
@ -503,6 +503,10 @@ As per SMCCCv1.2, x4 must be preserved if not being used as return argument by t
and it is the responsibility of RMM to preserve this or use this as a return argument.
EL3 will always copy x0-x4 from Realm context to NS Context.
EL3 must save and restore the following as part of world switch:
#. EL2 system registers with the exception of ``zcr_el2`` register.
#. PAuth key registers (APIA, APIB, APDA, APDB, APGA).
EL3 will not save some registers as mentioned in the below list. It is the
responsibility of RMM to ensure that these are appropriately saved if the
Realm World makes use of them:
@ -510,10 +514,11 @@ Realm World makes use of them:
#. FP/SIMD registers
#. SVE registers
#. SME registers
#. EL1/0 registers
#. EL1/0 registers with the exception of PAuth key registers as mentioned above.
#. zcr_el2 register.
It is the responsibility of EL3 that any other registers other than the ones mentioned above
will not be leaked to the NS Host and to maintain the confidentiality of the Realm World.
It is essential that EL3 honors this contract to maintain the Confidentiality and integrity
of the Realm world.
SMCCC v1.3 allows NS world to specify whether SVE context is in use. In this
case, RMM could choose to not save the incoming SVE context but must ensure

View File

@ -152,7 +152,7 @@
* Increase this when a bug is fixed, or a feature is added without
* breaking compatibility.
*/
#define RMM_EL3_IFC_VERSION_MINOR (U(1))
#define RMM_EL3_IFC_VERSION_MINOR (U(2))
#define RMM_EL3_INTERFACE_VERSION \
(((RMM_EL3_IFC_VERSION_MAJOR << 16) & 0x7FFFF) | \