1Internal Build Options
2======================
3
4|TF-A| internally uses certain options that are not exposed directly through
5:ref:`build-options <build options>` but enabled or disabled indirectly and
6depends on certain options to be enabled or disabled.
7
8.. _build_options_internal:
9
10-  ``CTX_INCLUDE_EL2_REGS``: This boolean option provides context save/restore
11   operations when entering/exiting an EL2 execution context. This is of primary
12   interest when Armv8.4-SecEL2 or RME extension is implemented.
13   Default is 0 (disabled). This option will be set to 1 (enabled) when ``SPD=spmd``
14   and ``SPMD_SPM_AT_SEL2`` is set or when ``ENABLE_RME`` is set to 1 (enabled).
15
16- ``FFH_SUPPORT``: This boolean option provides support to enable Firmware First
17  handling (FFH) of External aborts and SError interrupts originating from lower
18  ELs which gets trapped in EL3. This option will be set to 1 (enabled) if
19  ``HANDLE_EA_EL3_FIRST_NS`` is set. Currently only NS world routes EA to EL3 but
20  in future when Secure/Realm wants to use FFH then they can introduce new macros
21  which will enable this option implicitly.
22
23-  ``OPTEE_SP_FW_CONFIG``: DTC build flag to include OP-TEE as SP in
24   tb_fw_config device tree. This flag is defined only when
25   ``ARM_SPMC_MANIFEST_DTS`` manifest file name contains pattern optee_sp.
26
27-  ``TRUSTY_SP_FW_CONFIG``: DTC build flag to include Trusty as SP in
28   tb_fw_config device tree. This flag is defined only when
29   ``ARM_SPMC_MANIFEST_DTS`` manifest file name contains pattern trusty_sp.
30