summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>2017-02-27 17:23:54 +0000
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>2017-03-08 14:40:27 +0000
commit0b64f4ef437a20f4d08df6a96ba95a43116efb8d (patch)
tree4e48182894b9d5026e6edadd167552b1468d749d /docs
parentf10644c569e9c6d4b5b6565b499c3cafda03a65a (diff)
Add dynamic region support to xlat tables lib v2
Added APIs to add and remove regions to the translation tables dynamically while the MMU is enabled. Only static regions are allowed to overlap other static ones (for backwards compatibility). A new private attribute (MT_DYNAMIC / MT_STATIC) has been added to flag each region as such. The dynamic mapping functionality can be enabled or disabled when compiling by setting the build option PLAT_XLAT_TABLES_DYNAMIC to 1 or 0. This can be done per-image. TLB maintenance code during dynamic table mapping and unmapping has also been added. Fixes ARM-software/tf-issues#310 Change-Id: I19e8992005c4292297a382824394490c5387aa3b Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/porting-guide.md17
1 files changed, 14 insertions, 3 deletions
diff --git a/docs/porting-guide.md b/docs/porting-guide.md
index a5e59667..65518ffb 100644
--- a/docs/porting-guide.md
+++ b/docs/porting-guide.md
@@ -420,14 +420,23 @@ platform, the following constants must also be defined:
TSP's interrupt handling code.
If the platform port uses the translation table library code, the following
-constant must also be defined:
+constants must also be defined:
+
+* **#define : PLAT_XLAT_TABLES_DYNAMIC**
+
+ Optional flag that can be set per-image to enable the dynamic allocation of
+ regions even when the MMU is enabled. If not defined, only static
+ functionality will be available, if defined and set to 1 it will also
+ include the dynamic functionality.
* **#define : MAX_XLAT_TABLES**
Defines the maximum number of translation tables that are allocated by the
translation table library code. To minimize the amount of runtime memory
used, choose the smallest value needed to map the required virtual addresses
- for each BL stage.
+ for each BL stage. If `PLAT_XLAT_TABLES_DYNAMIC` flag is enabled for a BL
+ image, `MAX_XLAT_TABLES` must be defined to accommodate the dynamic regions
+ as well.
* **#define : MAX_MMAP_REGIONS**
@@ -438,7 +447,9 @@ constant must also be defined:
that should be mapped. Then, the translation table library will create the
corresponding tables and descriptors at runtime. To minimize the amount of
runtime memory used, choose the smallest value needed to register the
- required regions for each BL stage.
+ required regions for each BL stage. If `PLAT_XLAT_TABLES_DYNAMIC` flag is
+ enabled for a BL image, `MAX_MMAP_REGIONS` must be defined to accommodate
+ the dynamic regions as well.
* **#define : ADDR_SPACE_SIZE**