aboutsummaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2017-01-19 12:43:28 +0100
committerJens Wiklander <jens.wiklander@linaro.org>2017-01-19 12:43:28 +0100
commit4e5d94d05e5c0837e97b34c61cbb8062c7582aa2 (patch)
tree2fc11f7023be6f9f4b638ab17257cdc6320b422a /documentation
parent85c82fc8b50f912c34b24d656f56a5bab4b64d62 (diff)
doc: Add a section on paging of user TAs
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/optee_design.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/documentation/optee_design.md b/documentation/optee_design.md
index 78c60f02..ce1460be 100644
--- a/documentation/optee_design.md
+++ b/documentation/optee_design.md
@@ -478,6 +478,19 @@ is mapped new data is copied from backing store and the hash of the page is
verified. If it's OK the pager returns from the exception to resume the
execution.
+## Paging of user TA
+
+Paging of user TAs can optionally be enabled with CFG_PAGED_USER_TA=y.
+Paging of user TAs is analogous to paging of OP-TEE kernel parts but with a
+few differences:
+- Read/write pages are paged in addition to read-only pages
+- Page tables are managed dynamically
+
+tee_pager_add_uta_area() is used to setup initial read/write mapping needed
+when populating the TA. When the TA is fully populated and relocated
+tee_pager_set_uta_area_attr() changes the mapping of the area to strict
+permissions used when the TA is running.
+
# 9. Memory objects
A memory object, MOBJ, describes a piece of memory. The interface provided