aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAndrew Thoelke <andrew.thoelke@arm.com>2014-05-23 11:00:04 +0100
committerAndrew Thoelke <andrew.thoelke@arm.com>2014-05-23 11:00:04 +0100
commitb3bcbcf1de6e6e3e581f150c7cdcdffab9a80970 (patch)
tree87daea20ff6374e31af91eb68e6d71c7f873d3d7 /docs
parentdb0de0eb50db3712b271a7a4ef8ca494ab79bffa (diff)
parent1151c82101eb3cb2472d3b513f0c828ad098b13c (diff)
downloadtrusted-firmware-a-b3bcbcf1de6e6e3e581f150c7cdcdffab9a80970.tar.gz
Merge pull request #103 from athoelke:dh/tf-issues#68-v3
Diffstat (limited to 'docs')
-rw-r--r--docs/porting-guide.md29
1 files changed, 15 insertions, 14 deletions
diff --git a/docs/porting-guide.md b/docs/porting-guide.md
index 721ba1b635..df0176e33e 100644
--- a/docs/porting-guide.md
+++ b/docs/porting-guide.md
@@ -555,23 +555,24 @@ using the `platform_is_primary_cpu()` function. BL1 passed control to BL2 at
if the platform wants to restrict the amount of memory visible to BL3-1.
Details of this function are given below.
-4. Loading the BL3-2 binary image (if present) in platform provided memory
- using semi-hosting. To load the BL3-2 image, BL2 makes use of the
- `bl32_meminfo` field in the `bl31_args` structure to which a pointer is
+4. (Optional) Loading the BL3-2 binary image (if present) from platform
+ provided non-volatile storage. To load the BL3-2 image, BL2 makes use of
+ the `bl32_meminfo` field in the `bl31_args` structure to which a pointer is
returned by the `bl2_get_bl31_args_ptr()` function. The platform also
- defines the address in memory where BL3-2 is loaded through the constant
- `BL32_BASE`. BL2 uses this information to determine if there is enough
- memory to load the BL3-2 image.
-
-5. Arranging to pass control to the BL3-2 image (if present) that has been
- pre-loaded at `BL32_BASE`. BL2 populates an `el_change_info` structure
- in memory provided by the platform with information about how BL3-1 should
- pass control to the BL3-2 image. This structure follows the
+ defines the address in memory where BL3-2 is loaded through the optional
+ constant `BL32_BASE`. BL2 uses this information to determine if there is
+ enough memory to load the BL3-2 image. If `BL32_BASE` is not defined then
+ this and the following two steps are not performed.
+
+5. (Optional) Arranging to pass control to the BL3-2 image (if present) that
+ has been pre-loaded at `BL32_BASE`. BL2 populates an `el_change_info`
+ structure in memory provided by the platform with information about how
+ BL3-1 should pass control to the BL3-2 image. This structure follows the
`el_change_info` structure populated for the normal world BL image in 2.
above.
-6. Populating a `meminfo` structure with the following information in
- memory that is accessible by BL3-1 immediately upon entry.
+6. (Optional) Populating a `meminfo` structure with the following information
+ in memory that is accessible by BL3-1 immediately upon entry.
meminfo.total_base = Base address of memory visible to BL3-2
meminfo.total_size = Size of memory visible to BL3-2
@@ -581,7 +582,7 @@ using the `platform_is_primary_cpu()` function. BL1 passed control to BL2 at
BL3-2
BL2 populates this information in the `bl32_meminfo` field of the pointer
- returned by the `bl2_get_bl31_args_ptr() function.
+ returned by the `bl2_get_bl31_args_ptr()` function.
The following functions must be implemented by the platform port to enable BL2
to perform the above tasks.