Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Memory Domain. More...
#include <mem_domain.h>
Data Fields | |
struct k_mem_partition | partitions [CONFIG_MAX_DOMAIN_PARTITIONS] |
partitions in the domain | |
sys_dlist_t | mem_domain_q |
Doubly linked list of member threads. | |
uint8_t | num_partitions |
number of active partitions in the domain | |
Memory Domain.
A memory domain is a collection of memory partitions, used to represent a user thread's access policy for the linear address space. A thread may be a member of only one memory domain, but any memory domain may have multiple threads that are members.
Supervisor threads may also be a member of a memory domain; this has no implications on their memory access but can be useful as any child threads inherit the memory domain membership of the parent.
A user thread belonging to a memory domain with no active partitions will have guaranteed access to its own stack buffer, program text, and read-only data.
sys_dlist_t k_mem_domain::mem_domain_q |
Doubly linked list of member threads.
uint8_t k_mem_domain::num_partitions |
number of active partitions in the domain
struct k_mem_partition k_mem_domain::partitions[CONFIG_MAX_DOMAIN_PARTITIONS] |
partitions in the domain