aboutsummaryrefslogtreecommitdiffstats
path: root/docs/porting-guide.rst
diff options
context:
space:
mode:
authorJiafei Pan <Jiafei.Pan@nxp.com>2018-03-21 07:20:09 +0000
committerJiafei Pan <Jiafei.Pan@nxp.com>2018-04-07 10:12:21 +0800
commit7d173fc594d7d50c02e180c56c59ca1d3e51152e (patch)
tree8c04f896f7a0569bd7ba7a4baa0368c6be18f9b9 /docs/porting-guide.rst
parent93883a293145f6c85b3fc8c219f400e28b7d1491 (diff)
downloadplatform_external_arm-trusted-firmware-7d173fc594d7d50c02e180c56c59ca1d3e51152e.tar.gz
platform_external_arm-trusted-firmware-7d173fc594d7d50c02e180c56c59ca1d3e51152e.tar.bz2
platform_external_arm-trusted-firmware-7d173fc594d7d50c02e180c56c59ca1d3e51152e.zip
Add support for BL2 in XIP memory
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 patch enable this use-case with a new build option, BL2_IN_XIP_MEM. For now, this option is only supported when BL2_AT_EL3 is 1. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Diffstat (limited to 'docs/porting-guide.rst')
-rw-r--r--docs/porting-guide.rst28
1 files changed, 27 insertions, 1 deletions
diff --git a/docs/porting-guide.rst b/docs/porting-guide.rst
index ff5bb1225..12e135f71 100644
--- a/docs/porting-guide.rst
+++ b/docs/porting-guide.rst
@@ -217,11 +217,37 @@ platform port to define additional platform porting constants in
- **#define : BL2\_BASE**
Defines the base address in secure RAM where BL1 loads the BL2 binary image.
- Must be aligned on a page-size boundary.
+ Must be aligned on a page-size boundary. This constant is not applicable
+ when BL2_IN_XIP_MEM is set to '1'.
- **#define : BL2\_LIMIT**
Defines the maximum address in secure RAM that the BL2 image can occupy.
+ This constant is not applicable when BL2_IN_XIP_MEM is set to '1'.
+
+- **#define : BL2\_RO\_BASE**
+
+ Defines the base address in secure XIP memory where BL2 RO section originally
+ lives. Must be aligned on a page-size boundary. This constant is only needed
+ when BL2_IN_XIP_MEM is set to '1'.
+
+- **#define : BL2\_RO\_LIMIT**
+
+ Defines the maximum address in secure XIP memory that BL2's actual content
+ (i.e. excluding any data section allocated at runtime) can occupy. This
+ constant is only needed when BL2_IN_XIP_MEM is set to '1'.
+
+- **#define : BL2\_RW\_BASE**
+
+ Defines the base address in secure RAM where BL2's read-write data will live
+ at runtime. Must be aligned on a page-size boundary. This constant is only
+ needed when BL2_IN_XIP_MEM is set to '1'.
+
+- **#define : BL2\_RW\_LIMIT**
+
+ Defines the maximum address in secure RAM that BL2's read-write data can
+ occupy at runtime. This constant is only needed when BL2_IN_XIP_MEM is set
+ to '1'.
- **#define : BL31\_BASE**