Commit Graph

7 Commits

Author SHA1 Message Date
Andrew Boie dede4cbd62 doc: move memory domain docs under user mode
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-11-07 09:32:37 -08:00
Chunlin Han e9c9702818 kernel: add memory domain APIs
Add the following application-facing memory domain APIs:

k_mem_domain_init() - to initialize a memory domain
k_mem_domain_destroy() - to destroy a memory domain
k_mem_domain_add_partition() - to add a partition into a domain
k_mem_domain_remove_partition() - to remove a partition from a domain
k_mem_domain_add_thread() - to add a thread into a domain
k_mem_domain_remove_thread() - to remove a thread from a domain

A memory domain would contain some number of memory partitions.
A memory partition is a memory region (might be RAM, peripheral
registers, flash...) with specific attributes (access permission,
e.g. privileged read/write, unprivileged read-only, execute never...).
Memory partitions would be defined by set of MPU regions or MMU tables
underneath.
A thread could only belong to a single memory domain any point in time
but a memory domain could contain multiple threads.
Threads in the same memory domain would have the same access permission
to the memory partitions belong to the memory domain.

The memory domain APIs are used by unprivileged threads to share data
to the threads in the same memory and protect sensitive data from
threads outside their domain. It is not only for improving the security
but also useful for debugging (unexpected access would cause exception).

Jira: ZEP-2281

Signed-off-by: Chunlin Han <chunlin.han@linaro.org>
2017-09-29 16:48:53 -07:00
Benjamin Walsh 44d7cff207 doc: add polling API to the kernel primer
Change-Id: I17578f8350f1a26d2ecf8c0886c8e93078a2cdca
Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
2017-02-20 15:35:44 +00:00
Benjamin Walsh e3f927bc11 doc: reorder sections in kernel/other
Put them in order where they are most likely to be useful.

Change-Id: Ia9c358a096556a9838b2b69311e10aba3b9ca587
Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
2017-02-20 15:35:44 +00:00
Anas Nashif 6e1fbd98d0 doc: move c library section to subsystems
Also reorder subsystems alphabetically.

Change-Id: Ie76588d0b662c634f770530462f7ad77ffcbba62
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-03 17:31:58 +00:00
Anas Nashif ae6f8785cd doc: group logging features under subsystem/
Change-Id: Ia2d03e64071523086a693cd8627dcea223ff9b90
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-24 01:53:18 +00:00
Anas Nashif ebe9771d02 doc: move kernel_v2 to kernel
Change-Id: I6caa94bc1a3d1986966652cd0a24bf22f3697481
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-24 01:53:16 +00:00