aboutsummaryrefslogtreecommitdiffstats
path: root/docs/porting-guide.rst
diff options
context:
space:
mode:
authordavidcunado-arm <david.cunado@arm.com>2018-03-15 15:27:08 +0000
committerGitHub <noreply@github.com>2018-03-15 15:27:08 +0000
commitc3e34a9e018532a5ff669c67028cb8d1dea7c7d2 (patch)
treed101547db4382f6edc8f80624ce303d749235ecb /docs/porting-guide.rst
parent1d060675d2745528983e78c8b7015c17555a208d (diff)
parentb2a68f88c17197b8e0a700f5f327c2d6db5bb194 (diff)
downloadplatform_external_arm-trusted-firmware-c3e34a9e018532a5ff669c67028cb8d1dea7c7d2.tar.gz
platform_external_arm-trusted-firmware-c3e34a9e018532a5ff669c67028cb8d1dea7c7d2.tar.bz2
platform_external_arm-trusted-firmware-c3e34a9e018532a5ff669c67028cb8d1dea7c7d2.zip
Merge pull request #1308 from soby-mathew/sm/doc_dyn_cfg
Docs: Update design guide for dynamic config
Diffstat (limited to 'docs/porting-guide.rst')
-rw-r--r--docs/porting-guide.rst28
1 files changed, 15 insertions, 13 deletions
diff --git a/docs/porting-guide.rst b/docs/porting-guide.rst
index 21db86bde..c35c52675 100644
--- a/docs/porting-guide.rst
+++ b/docs/porting-guide.rst
@@ -1076,20 +1076,16 @@ warm boot. For each CPU, BL1 is responsible for the following tasks:
allocation to BL2
meminfo.free_size = Size of secure RAM available for allocation to BL2
- BL1 places this ``meminfo`` structure at the beginning of the free memory
- available for its use. Since BL1 cannot allocate memory dynamically at the
- moment, its free memory will be available for BL2's use as-is. However, this
- means that BL2 must read the ``meminfo`` structure before it starts using its
- free memory (this is discussed in Section 3.2).
+ By default, BL1 places this ``meminfo`` structure at the beginning of the
+ free memory available for its use. Since BL1 cannot allocate memory
+ dynamically at the moment, its free memory will be available for BL2's use
+ as-is. However, this means that BL2 must read the ``meminfo`` structure
+ before it starts using its free memory (this is discussed in Section 3.2).
- In future releases of the ARM Trusted Firmware it will be possible for
- the platform to decide where it wants to place the ``meminfo`` structure for
- BL2.
-
- BL1 implements the ``bl1_init_bl2_mem_layout()`` function to populate the
- BL2 ``meminfo`` structure. The platform may override this implementation, for
- example if the platform wants to restrict the amount of memory visible to
- BL2. Details of how to do this are given below.
+ It is possible for the platform to decide where it wants to place the
+ ``meminfo`` structure for BL2 or restrict the amount of memory visible to
+ BL2 by overriding the weak default implementation of
+ ``bl1_plat_handle_post_image_load`` API.
The following functions need to be implemented by the platform port to enable
BL1 to perform the above tasks.
@@ -1264,6 +1260,12 @@ This function can be used by the platforms to update/use image information
corresponding to ``image_id``. This function is invoked in BL1, both in cold
boot and FWU code path, after loading and authenticating the image.
+The default weak implementation of this function calculates the amount of
+Trusted SRAM that can be used by BL2 and allocates a ``meminfo_t``
+structure at the beginning of this free memory and populates it. The address
+of ``meminfo_t`` structure is updated in ``arg1`` of the entrypoint
+information to BL2.
+
Function : bl1\_plat\_fwu\_done() [optional]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~