This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

CONFIG_ARCH_MEM_DOMAIN_SYNCHRONOUS_API

(No prompt – not directly user assignable.)

Type: bool

Help

This hidden option is selected by the target architecture if
modifying a memory domain's partitions at runtime, or changing
a memory domain's thread membership requires synchronous calls
into the architecture layer.

If enabled, the architecture layer must implement the following
APIs:

arch_mem_domain_thread_add
arch_mem_domain_thread_remove
arch_mem_domain_partition_remove
arch_mem_domain_partition_add

It's important to note that although supervisor threads can be
members of memory domains, they have no implications on supervisor
thread access to memory. Memory domain APIs may only be invoked from
supervisor mode.

For these reasons, on uniprocessor systems unless memory access
policy is managed in separate software constructions like page
tables, these APIs don't need to be implemented as the underlying
memory management hardware will be reprogrammed on context switch
anyway.

Direct dependencies

USERSPACE

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Symbols that select this symbol

Kconfig definition

At kernel/Kconfig:738

Included via Kconfig:8Kconfig.zephyr:38

Menu path: (Top) → General Kernel Options

config ARCH_MEM_DOMAIN_SYNCHRONOUS_API
    bool
    depends on USERSPACE
    help
      This hidden option is selected by the target architecture if
      modifying a memory domain's partitions at runtime, or changing
      a memory domain's thread membership requires synchronous calls
      into the architecture layer.

      If enabled, the architecture layer must implement the following
      APIs:

      arch_mem_domain_thread_add
      arch_mem_domain_thread_remove
      arch_mem_domain_partition_remove
      arch_mem_domain_partition_add

      It's important to note that although supervisor threads can be
      members of memory domains, they have no implications on supervisor
      thread access to memory. Memory domain APIs may only be invoked from
      supervisor mode.

      For these reasons, on uniprocessor systems unless memory access
      policy is managed in separate software constructions like page
      tables, these APIs don't need to be implemented as the underlying
      memory management hardware will be reprogrammed on context switch
      anyway.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)