core: contiguous shared memory pool is not mandatory
OP-TEE can work with only dynamic (noncontiguous) shared memory. Fix
the description and explain that libteec uses the dynamic memory when
available.
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
diff --git a/architecture/core.rst b/architecture/core.rst
index fdf67a1..3cd8c32 100644
--- a/architecture/core.rst
+++ b/architecture/core.rst
@@ -977,8 +977,8 @@
Shared memory buffer references manipulated must fit inside one of the
shared memory areas known from the OP-TEE core. OP-TEE supports two kinds
-of shared memory areas: a mandatory area for contiguous buffers
-an optional extra memory areas for noncontiguous buffers.
+of shared memory areas: an area for contiguous buffers and an area for
+noncontiguous buffers. At least one has to be enabled.
Contiguous shared buffers
=========================
@@ -1012,6 +1012,10 @@
Noncontiguous shared memory (also known as dynamic shared memory) is
enabled with the configuration flag ``CFG_CORE_DYN_SHM=y``.
+For performance reasons, the TEE Client Library (``libteec``) uses
+noncontiguous shared memory when available since it avoids copies in some
+situations.
+
Shared Memory Chunk Allocation
==============================
It is the Linux kernel driver for OP-TEE that is responsible for allocating