Merge "docs: update usage of ARM_ARCH_MAJOR/MINOR" into integration

This commit is contained in:
Manish Pandey 2023-05-22 11:10:47 +02:00 committed by TrustedFirmware Code Review
commit be3a456315

View file

@ -2622,16 +2622,29 @@ TF-A makes use of Armv8-A Architecture Extensions where applicable. This
section lists the usage of Architecture Extensions, and build flags section lists the usage of Architecture Extensions, and build flags
controlling them. controlling them.
In general, and unless individually mentioned, the build options Build options
``ARM_ARCH_MAJOR`` and ``ARM_ARCH_MINOR`` select the Architecture Extension to ~~~~~~~~~~~~~
target when building TF-A. Subsequent Arm Architecture Extensions are backward
compatible with previous versions.
The build system only requires that ``ARM_ARCH_MAJOR`` and ``ARM_ARCH_MINOR`` have a ``ARM_ARCH_MAJOR`` and ``ARM_ARCH_MINOR``
valid numeric value. These build options only control whether or not
Architecture Extension-specific code is included in the build. Otherwise, TF-A These build options serve dual purpose
targets the base Armv8.0-A architecture; i.e. as if ``ARM_ARCH_MAJOR`` == 8
and ``ARM_ARCH_MINOR`` == 0, which are also their respective default values. - Determine the architecture extension support in TF-A build: All the mandatory
architectural features up to ``ARM_ARCH_MAJOR.ARM_ARCH_MINOR`` are included
and unconditionally enabled by TF-A build system.
- Passed to compiler via "-march" option to generate binary target : Tell the
compiler to emit instructions upto ``ARM_ARCH_MAJOR.ARM_ARCH_MINOR``
The build system requires that the platform provides a valid numeric value based on
CPU architecture extension, otherwise it defaults to base Armv8.0-A architecture.
Subsequent Arm Architecture versions also support extensions which were introduced
in previous versions.
**TO-DO** : Its planned to decouple the two functionalities and introduce a new macro
for compiler usage. The requirement for this decoupling arises becasue TF-A code
always provides support for the latest and greatest architecture features but this
is not the case for the target compiler.
.. seealso:: :ref:`Build Options` .. seealso:: :ref:`Build Options`