Zephyr API Documentation
3.7.0
A Scalable Open Source RTOS
|
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | xtensa_mmu_range |
Struct used to map a memory region. More... | |
Macros | |
#define | XTENSA_MMU_MAP_USER BIT(4) |
Software only bit to indicate a memory region can be accessed by user thread(s). | |
#define | XTENSA_MMU_MAP_SHARED BIT(30) |
Software only bit to indicate a memory region is shared by all threads. | |
Memory region permission and caching mode. | |
#define | XTENSA_MMU_PERM_X BIT(0) |
Memory region is executable. | |
#define | XTENSA_MMU_PERM_W BIT(1) |
Memory region is writable. | |
#define | XTENSA_MMU_PERM_WX (XTENSA_MMU_PERM_W | XTENSA_MMU_PERM_X) |
Memory region is both executable and writable. | |
#define | XTENSA_MMU_CACHED_WB BIT(2) |
Memory region has write-back cache. | |
#define | XTENSA_MMU_CACHED_WT BIT(3) |
Memory region has write-through cache. | |
Functions | |
void | xtensa_mmu_init (void) |
Initialize hardware MMU. | |
void | xtensa_mmu_reinit (void) |
Re-initialize hardware MMU. | |
void | xtensa_mmu_tlb_ipi (void) |
Tell other processors to flush TLBs. | |
void | xtensa_mmu_tlb_shootdown (void) |
Invalidate cache to page tables and flush TLBs. | |
Variables | |
const struct xtensa_mmu_range | xtensa_soc_mmu_ranges [] |
Additional memory regions required by SoC. | |
int | xtensa_soc_mmu_ranges_num |
Number of SoC additional memory regions. | |
Memory domain and partitions | |
#define | K_MEM_PARTITION_IS_EXECUTABLE(attr) (((attr) & XTENSA_MMU_PERM_X) != 0) |
#define | K_MEM_PARTITION_IS_WRITABLE(attr) (((attr) & XTENSA_MMU_PERM_W) != 0) |
#define | K_MEM_PARTITION_IS_USER(attr) (((attr) & XTENSA_MMU_MAP_USER) != 0) |
#define | K_MEM_PARTITION_P_RW_U_RW ((k_mem_partition_attr_t) {XTENSA_MMU_PERM_W | XTENSA_MMU_MAP_USER}) |
#define | K_MEM_PARTITION_P_RW_U_NA ((k_mem_partition_attr_t) {0}) |
#define | K_MEM_PARTITION_P_RO_U_RO ((k_mem_partition_attr_t) {XTENSA_MMU_MAP_USER}) |
#define | K_MEM_PARTITION_P_RO_U_NA ((k_mem_partition_attr_t) {0}) |
#define | K_MEM_PARTITION_P_NA_U_NA ((k_mem_partition_attr_t) {0}) |
#define | K_MEM_PARTITION_P_RX_U_RX ((k_mem_partition_attr_t) {XTENSA_MMU_PERM_X}) |
typedef uint32_t | k_mem_partition_attr_t |