aboutsummaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2017-01-19 12:43:22 +0100
committerJens Wiklander <jens.wiklander@linaro.org>2017-01-19 12:43:22 +0100
commit85c82fc8b50f912c34b24d656f56a5bab4b64d62 (patch)
tree7979ccbc111e69844f06bde37e02653cd50bc55e /documentation
parentd8555bdd2c26d51de9a12ed476f58a0c08795185 (diff)
Documentation: add an overview of MOBJs
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.md29
1 files changed, 26 insertions, 3 deletions
diff --git a/documentation/optee_design.md b/documentation/optee_design.md
index 495618f8..78c60f02 100644
--- a/documentation/optee_design.md
+++ b/documentation/optee_design.md
@@ -478,15 +478,38 @@ 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.
-# 9. Cryptographic abstraction layer
+# 9. Memory objects
+
+A memory object, MOBJ, describes a piece of memory. The interface provided
+is mostly abstract when it comes to using the MOBJ to populate translation
+tables etc.
+
+There's different kinds of MOBJs describing:
+- physically contiguous memory
+ - created with mobj_phys_alloc()
+- virtual memory
+ - one instance with the name mobj_virt available
+ - spans the entire virtual address space
+- physically contiguous memory allocated from a tee_mm_pool_t *
+ - created with mobj_mm_alloc()
+- paged memory
+ - created with mobj_paged_alloc()
+ - only contains the supplied size and makes mobj_is_paged() return true if
+ supplied as argument
+- secure copy paged shared memory
+ - created with mobj_seccpy_shm_alloc()
+ - makes mobj_is_paged() and mobj_is_secure() return true if supplied as
+ argument
+
+# 10. Cryptographic abstraction layer
Cryptographic operations are implemented inside the TEE core by the
[LibTomCrypt] library. An abstraction layer allows for replacing the default
implementation, as explained in [crypto.md].
-# 10. libutee
+# 11. libutee
TBD
-# 11. Trusted Applications
+# 12. Trusted Applications
## Format
Trusted Applications consists of a signed ELF file.