aboutsummaryrefslogtreecommitdiffstats
path: root/docs/components
diff options
context:
space:
mode:
authorPaul Beesley <paul.beesley@arm.com>2019-05-29 13:59:40 +0100
committerPaul Beesley <paul.beesley@arm.com>2019-11-27 10:45:54 +0000
commit43f35ef516b899c82e11bad760c704c44ced5440 (patch)
tree35ef663b1cd776fa3cff9b831d6bb708666409c8 /docs/components
parentd537ee795c1390601428d6b5b3499d05b62ad271 (diff)
downloadplatform_external_arm-trusted-firmware-43f35ef516b899c82e11bad760c704c44ced5440.tar.gz
platform_external_arm-trusted-firmware-43f35ef516b899c82e11bad760c704c44ced5440.tar.bz2
platform_external_arm-trusted-firmware-43f35ef516b899c82e11bad760c704c44ced5440.zip
doc: Split the User Guide into multiple files
The User Guide document has grown organically over time and now covers a wide range of topics, making it difficult to skim read and extract information from. Currently, it covers these topics and maybe a couple more: - Requirements (hardware, tools, libs) - Checking out the repo - Basic build instructions - A comprehensive list of build flags - FIP packaging - Building specifically for Juno - Firmware update images - EL3 payloads - Preloaded BL33 boot flow - Running on FVPs - Running on Juno I have separated these out into a few groups that become new documents. Broadly speaking, build instructions for the tools, for TF-A generally, and for specific scenarios are separated. Content relating to specific platforms (Juno and the FVPs are Arm-specific platforms, essentially) has been moved into the documentation that is specific to those platforms, under docs/plat/arm. Change-Id: Ica87c52d8cd4f577332be0b0738998ea3ba3bbec Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Diffstat (limited to 'docs/components')
-rw-r--r--docs/components/romlib-design.rst22
1 files changed, 14 insertions, 8 deletions
diff --git a/docs/components/romlib-design.rst b/docs/components/romlib-design.rst
index e0a028e46..d34b3cc58 100644
--- a/docs/components/romlib-design.rst
+++ b/docs/components/romlib-design.rst
@@ -115,21 +115,27 @@ Memory impact
~~~~~~~~~~~~~
Using library at ROM will modify the memory layout of the BL images:
+
- The ROM library needs a page aligned RAM section to hold the RW data. This
- section is defined by the ROMLIB_RW_BASE and ROMLIB_RW_END macros.
- On Arm platforms a section of 1 page (0x1000) is allocated at the top of SRAM.
- This will have for effect to shift down all the BL images by 1 page.
+ section is defined by the ROMLIB_RW_BASE and ROMLIB_RW_END macros.
+ On Arm platforms a section of 1 page (0x1000) is allocated at the top of SRAM.
+ This will have for effect to shift down all the BL images by 1 page.
+
- Depending on the functions moved to the ROM library, the size of the BL images
- will be reduced.
- For example: moving MbedTLS function into the ROM library reduces BL1 and
- BL2, but not BL31.
+ will be reduced.
+ For example: moving MbedTLS function into the ROM library reduces BL1 and
+ BL2, but not BL31.
+
- This change in BL images size can be taken into consideration to optimize the
- memory layout when defining the BLx_BASE macros.
+ memory layout when defining the BLx_BASE macros.
Build library at ROM
~~~~~~~~~~~~~~~~~~~~~
-The environment variable ``CROSS_COMPILE`` must be set as per the user guide.
+The environment variable ``CROSS_COMPILE`` must be set appropriately. Refer to
+:ref:`Performing an Initial Build` for more information about setting this
+variable.
+
In the below example the usage of ROMLIB together with mbed TLS is demonstrated
to showcase the benefits of library at ROM - it's not mandatory.