diff options
author | Arvind Ram Prakash <arvind.ramprakash@arm.com> | 2022-11-22 14:41:00 -0600 |
---|---|---|
committer | Maksims Svecovs <maksims.svecovs@arm.com> | 2023-03-15 11:43:14 +0000 |
commit | 42d4d3baacb3b11c68163ec85de1bf2e34e0c882 (patch) | |
tree | 5718f07f5a2367f1fb58e3a79d02aa1e1d3587ea /docs/getting_started | |
parent | ff65ac24409f0ed5025ff3005ffe4a1f98353166 (diff) | |
download | arm-trusted-firmware-42d4d3baacb3b11c68163ec85de1bf2e34e0c882.tar.gz |
refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3
BL2_AT_EL3 is an overloaded macro which has two uses:
1. When BL2 is entry point into TF-A(no BL1)
2. When BL2 is running at EL3 exception level
These two scenarios are not exactly same even though first implicitly
means second to be true. To distinguish between these two use cases we
introduce new macros.
BL2_AT_EL3 is renamed to RESET_TO_BL2 to better convey both 1. and 2.
Additional macro BL2_RUNS_AT_EL3 is added to cover all scenarious where
BL2 runs at EL3 (including four world systems).
BREAKING CHANGE: BL2_AT_EL3 renamed to RESET_TO_BL2 across the
repository.
Change-Id: I477e1d0f843b44b799c216670e028fcb3509fb72
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Diffstat (limited to 'docs/getting_started')
-rw-r--r-- | docs/getting_started/build-options.rst | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/docs/getting_started/build-options.rst b/docs/getting_started/build-options.rst index a285d31c3..0dc8b715d 100644 --- a/docs/getting_started/build-options.rst +++ b/docs/getting_started/build-options.rst @@ -52,8 +52,14 @@ Common build options - ``BL2U``: This is an optional build option which specifies the path to BL2U image. In this case, the BL2U in TF-A will not be built. -- ``BL2_AT_EL3``: This is an optional build option that enables the use of - BL2 at EL3 execution level. +- ``RESET_TO_BL2``: Boolean option to enable BL2 entrypoint as the CPU reset + vector instead of the BL1 entrypoint. It can take the value 0 (CPU reset to BL1 + entrypoint) or 1 (CPU reset to BL2 entrypoint). + The default value is 0. + +- ``BL2_RUNS_AT_EL3``: This is an implicit flag to denote that BL2 runs at EL3. + While it is explicitly set to 1 when RESET_TO_BL2 is set to 1 it can also be + true in a 4-world system where RESET_TO_BL2 is 0. - ``BL2_ENABLE_SP_LOAD``: Boolean option to enable loading SP packages from the FIP. Automatically enabled if ``SP_LAYOUT_FILE`` is provided. @@ -61,8 +67,8 @@ Common build options - ``BL2_IN_XIP_MEM``: In some use-cases BL2 will be stored in eXecute In Place (XIP) memory, like BL1. In these use-cases, it is necessary to initialize the RW sections in RAM, while leaving the RO sections in place. This option - enable this use-case. For now, this option is only supported when BL2_AT_EL3 - is set to '1'. + enable this use-case. For now, this option is only supported + when RESET_TO_BL2 is set to '1'. - ``BL31``: This is an optional build option which specifies the path to BL31 image for the ``fip`` target. In this case, the BL31 in TF-A will not @@ -377,8 +383,8 @@ Common build options - ``ENABLE_PIE``: Boolean option to enable Position Independent Executable(PIE) support within generic code in TF-A. This option is currently only supported - in BL2_AT_EL3, BL31, and BL32 (TSP) for AARCH64 binaries, and in BL32 - (SP_min) for AARCH32. Default is 0. + in BL2, BL31, and BL32 (TSP) for AARCH64 binaries, and + in BL32 (SP_min) for AARCH32. Default is 0. - ``ENABLE_PMF``: Boolean option to enable support for optional Performance Measurement Framework(PMF). Default is 0. @@ -1199,7 +1205,7 @@ Firmware update options -------------- -*Copyright (c) 2019-2022, Arm Limited. All rights reserved.* +*Copyright (c) 2019-2023, Arm Limited. All rights reserved.* .. _DEN0115: https://developer.arm.com/docs/den0115/latest .. _PSA FW update specification: https://developer.arm.com/documentation/den0118/a/ |