xref: /arm-trusted-firmware/docs/getting_started/build-internals.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluInternal Build Options
2*91f16700Schasinglulu======================
3*91f16700Schasinglulu
4*91f16700Schasinglulu|TF-A| internally uses certain options that are not exposed directly through
5*91f16700Schasinglulu:ref:`build-options <build options>` but enabled or disabled indirectly and
6*91f16700Schasingluludepends on certain options to be enabled or disabled.
7*91f16700Schasinglulu
8*91f16700Schasinglulu.. _build_options_internal:
9*91f16700Schasinglulu
10*91f16700Schasinglulu-  ``CTX_INCLUDE_EL2_REGS``: This boolean option provides context save/restore
11*91f16700Schasinglulu   operations when entering/exiting an EL2 execution context. This is of primary
12*91f16700Schasinglulu   interest when Armv8.4-SecEL2 or RME extension is implemented.
13*91f16700Schasinglulu   Default is 0 (disabled). This option will be set to 1 (enabled) when ``SPD=spmd``
14*91f16700Schasinglulu   and ``SPMD_SPM_AT_SEL2`` is set or when ``ENABLE_RME`` is set to 1 (enabled).
15*91f16700Schasinglulu
16*91f16700Schasinglulu- ``FFH_SUPPORT``: This boolean option provides support to enable Firmware First
17*91f16700Schasinglulu  handling (FFH) of External aborts and SError interrupts originating from lower
18*91f16700Schasinglulu  ELs which gets trapped in EL3. This option will be set to 1 (enabled) if
19*91f16700Schasinglulu  ``HANDLE_EA_EL3_FIRST_NS`` is set. Currently only NS world routes EA to EL3 but
20*91f16700Schasinglulu  in future when Secure/Realm wants to use FFH then they can introduce new macros
21*91f16700Schasinglulu  which will enable this option implicitly.
22