arm-trusted-firmware/docs
Andre Przywara 19d52a83b7 feat(cpufeat): add ENABLE_FEAT_LS64_ACCDATA
Armv8.6 introduced the FEAT_LS64 extension, which provides a 64 *byte*
store instruction. A related instruction is ST64BV0, which will replace
the lowest 32 bits of the data with a value taken from the ACCDATA_EL1
system register (so that EL0 cannot alter them).
Using that ST64BV0 instruction and accessing the ACCDATA_EL1 system
register is guarded by two SCR_EL3 bits, which we should set to avoid a
trap into EL3, when lower ELs use one of those.

Add the required bits and pieces to make this feature usable:
- Add the ENABLE_FEAT_LS64_ACCDATA build option (defaulting to 0).
- Add the CPUID and SCR_EL3 bit definitions associated with FEAT_LS64.
- Add a feature check to check for the existing four variants of the
  LS64 feature and detect future extensions.
- Add code to save and restore the ACCDATA_EL1 register on
  secure/non-secure context switches.
- Enable the feature with runtime detection for FVP and Arm FPGA.

Please note that the *basic* FEAT_LS64 feature does not feature any trap
bits, it's only the addition of the ACCDATA_EL1 system register that
adds these traps and the SCR_EL3 bits.

Change-Id: Ie3e2ca2d9c4fbbd45c0cc6089accbb825579138a
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2024-11-06 16:52:12 +01:00
..
_static/css docs(threat model): add TF-A threat model 2021-04-30 17:59:22 +02:00
about Merge "fix(mte): remove deprecated CTX_INCLUDE_MTE_REGS/FEAT_MTE" into integration 2024-10-25 16:37:34 +02:00
components docs: el3 token signing 2024-11-06 14:38:28 +01:00
design fix(cpus): workaround for Cortex-X4 erratum 3076789 2024-09-30 13:49:13 +01:00
design_documents feat(docs): add DPE to RSE desing doc 2024-11-04 17:28:15 +01:00
getting_started feat(cpufeat): add ENABLE_FEAT_LS64_ACCDATA 2024-11-06 16:52:12 +01:00
perf docs(juno): update PSCI instrumentation data 2024-05-21 13:25:16 +00:00
plat docs: deprecate Arm TC2 FVP platform 2024-10-08 15:03:55 +01:00
process docs: remove reference to phabricator pages 2024-05-15 14:27:45 +02:00
resources fix(docs): replace "ARM-TF" with "TF-A" in diagrams 2024-06-13 15:55:42 +02:00
security_advisories chore: rename Poseidon to Neoverse V3 2024-03-26 11:27:31 -05:00
threat_model feat(docs): add RSE provided mboot backends to the threat model 2024-11-04 17:25:15 +01:00
tools fix(cot-dt2c): use processed Device Tree source file as input 2024-08-27 12:50:20 +01:00
change-log.md docs(changelog): changelog for v2.11 release 2024-05-22 19:19:54 -05:00
conf.py docs(changelog): changelog for v2.11 release 2024-05-22 19:19:54 -05:00
global_substitutions.txt feat(docs): add DPE to RSE desing doc 2024-11-04 17:28:15 +01:00
glossary.rst feat(docs): add RSE provided mboot backends to the threat model 2024-11-04 17:25:15 +01:00
index.rst feat(fwu): update the URL links for the FWU specification 2024-03-01 14:19:56 +05:30
license.rst feat(arm): update documentation for cot-dt2c 2024-08-07 08:46:30 +01:00
Makefile build: unify verbosity handling 2024-06-14 15:54:48 +00:00
porting-guide.rst docs: el3 token signing 2024-11-06 14:38:28 +01:00