:orphan: .. title:: ARCH_MEM_DOMAIN_SYNCHRONOUS_API .. option:: 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 arch_mem_domain_destroy 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 =================== \ :option:`USERSPACE ` *(Includes any dependencies from ifs and menus.)* Defaults ======== No defaults. Implicitly defaults to ``n``. Symbols that select this symbol =============================== - \ :option:`RISCV_PMP ` - \ :option:`X86 ` Kconfig definition ================== .. highlight:: kconfig At ``kernel/Kconfig:731`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:30`` Menu path: (Top) → General Kernel Options .. parsed-literal:: config ARCH_MEM_DOMAIN_SYNCHRONOUS_API bool depends on \ :option:`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 arch_mem_domain_destroy 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.)*