arm-trusted-firmware/docs/getting_started
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
..
build-internals.rst feat(arm): add trusty_sp_fw_config build option 2024-02-23 16:11:47 +00:00
build-options.rst feat(cpufeat): add ENABLE_FEAT_LS64_ACCDATA 2024-11-06 16:52:12 +01:00
docs-build.rst docs: add instructions for PDF generation of docs 2023-08-10 10:42:14 +01:00
image-terminology.rst docs(build): clarify getting started section 2022-11-16 14:06:48 +00:00
index.rst docs(porting): move porting guide upper in table of contents 2023-04-11 10:11:04 +02:00
initial-build.rst docs(build): clarify getting started section 2022-11-16 14:06:48 +00:00
prerequisites.rst docs(build): update GCC to 13.3.Rel1 version 2024-09-30 18:23:25 +01:00
psci-lib-integration-guide.rst docs: update PSCI reference 2023-06-15 09:46:43 +01:00
rt-svc-writers-guide.rst feat(smccc): add vendor-specific el3 service 2024-05-06 09:42:11 -05:00
tools-build.rst docs(build): clarify getting started section 2022-11-16 14:06:48 +00:00