diff options
author | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-05-23 11:00:04 +0100 |
---|---|---|
committer | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-05-23 11:00:04 +0100 |
commit | b3bcbcf1de6e6e3e581f150c7cdcdffab9a80970 (patch) | |
tree | 87daea20ff6374e31af91eb68e6d71c7f873d3d7 /docs | |
parent | db0de0eb50db3712b271a7a4ef8ca494ab79bffa (diff) | |
parent | 1151c82101eb3cb2472d3b513f0c828ad098b13c (diff) | |
download | trusted-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.md | 29 |
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. |