#include <stdint.h>
#include <stdlib.h>
Go to the source code of this file.
|
#define | MT_TYPE_MASK 0x7U |
|
#define | MT_TYPE(attr) (attr & MT_TYPE_MASK) |
|
#define | MT_DEVICE_nGnRnE 0U |
|
#define | MT_DEVICE_nGnRE 1U |
|
#define | MT_DEVICE_GRE 2U |
|
#define | MT_NORMAL_NC 3U |
|
#define | MT_NORMAL 4U |
|
#define | MT_NORMAL_WT 5U |
|
#define | MEMORY_ATTRIBUTES |
|
#define | MT_PERM_SHIFT 3U |
|
#define | MT_SEC_SHIFT 4U |
|
#define | MT_P_EXECUTE_SHIFT 5U |
|
#define | MT_U_EXECUTE_SHIFT 6U |
|
#define | MT_RW_AP_SHIFT 7U |
|
#define | MT_NO_OVERWRITE_SHIFT 8U |
|
#define | MT_NON_GLOBAL_SHIFT 9U |
|
#define | MT_RO (0U << MT_PERM_SHIFT) |
|
#define | MT_RW (1U << MT_PERM_SHIFT) |
|
#define | MT_RW_AP_ELx (1U << MT_RW_AP_SHIFT) |
|
#define | MT_RW_AP_EL_HIGHER (0U << MT_RW_AP_SHIFT) |
|
#define | MT_SECURE (0U << MT_SEC_SHIFT) |
|
#define | MT_NS (1U << MT_SEC_SHIFT) |
|
#define | MT_P_EXECUTE (0U << MT_P_EXECUTE_SHIFT) |
|
#define | MT_P_EXECUTE_NEVER (1U << MT_P_EXECUTE_SHIFT) |
|
#define | MT_U_EXECUTE (0U << MT_U_EXECUTE_SHIFT) |
|
#define | MT_U_EXECUTE_NEVER (1U << MT_U_EXECUTE_SHIFT) |
|
#define | MT_NO_OVERWRITE (1U << MT_NO_OVERWRITE_SHIFT) |
|
#define | MT_G (0U << MT_NON_GLOBAL_SHIFT) |
|
#define | MT_NG (1U << MT_NON_GLOBAL_SHIFT) |
|
#define | MT_P_RW_U_RW (MT_RW | MT_RW_AP_ELx | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) |
|
#define | MT_P_RW_U_NA (MT_RW | MT_RW_AP_EL_HIGHER | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) |
|
#define | MT_P_RO_U_RO (MT_RO | MT_RW_AP_ELx | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) |
|
#define | MT_P_RO_U_NA (MT_RO | MT_RW_AP_EL_HIGHER | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) |
|
#define | MT_P_RO_U_RX (MT_RO | MT_RW_AP_ELx | MT_P_EXECUTE_NEVER | MT_U_EXECUTE) |
|
#define | MT_P_RX_U_RX (MT_RO | MT_RW_AP_ELx | MT_P_EXECUTE | MT_U_EXECUTE) |
|
#define | MT_P_RX_U_NA (MT_RO | MT_RW_AP_EL_HIGHER | MT_P_EXECUTE | MT_U_EXECUTE_NEVER) |
|
#define | MT_DEFAULT_SECURE_STATE MT_SECURE |
|
#define | MMU_REGION_ENTRY(_name, _base_pa, _base_va, _size, _attrs) |
|
#define | MMU_REGION_FLAT_ENTRY(name, adr, sz, attrs) MMU_REGION_ENTRY(name, adr, adr, sz, attrs) |
|
#define | MMU_REGION_DT_FLAT_ENTRY(node_id, attrs) |
|
#define | MMU_REGION_DT_COMPAT_FOREACH_FLAT_ENTRY(compat, attr) |
|
#define | K_MEM_PARTITION_P_RW_U_RW |
|
#define | K_MEM_PARTITION_P_RW_U_NA |
|
#define | K_MEM_PARTITION_P_RO_U_RO |
|
#define | K_MEM_PARTITION_P_RO_U_NA |
|
#define | K_MEM_PARTITION_P_RX_U_RX |
|
◆ K_MEM_PARTITION_P_RO_U_NA
#define K_MEM_PARTITION_P_RO_U_NA |
Value:
#define MT_P_RO_U_NA
Definition arm_mmu.h:81
Definition arm_mpu_v7m.h:160
◆ K_MEM_PARTITION_P_RO_U_RO
#define K_MEM_PARTITION_P_RO_U_RO |
Value:
#define MT_P_RO_U_RO
Definition arm_mmu.h:80
◆ K_MEM_PARTITION_P_RW_U_NA
#define K_MEM_PARTITION_P_RW_U_NA |
Value:
#define MT_P_RW_U_NA
Definition arm_mmu.h:79
◆ K_MEM_PARTITION_P_RW_U_RW
#define K_MEM_PARTITION_P_RW_U_RW |
Value:
#define MT_P_RW_U_RW
Definition arm_mmu.h:78
◆ K_MEM_PARTITION_P_RX_U_RX
#define K_MEM_PARTITION_P_RX_U_RX |
Value:
#define MT_P_RX_U_RX
Definition arm_mmu.h:83
◆ MEMORY_ATTRIBUTES
#define MEMORY_ATTRIBUTES |
Value:
#define MT_NORMAL_NC
Definition arm_mmu.h:25
#define MT_DEVICE_nGnRnE
Definition arm_mmu.h:22
#define MT_NORMAL
Definition arm_mmu.h:26
#define MT_NORMAL_WT
Definition arm_mmu.h:27
#define MT_DEVICE_GRE
Definition arm_mmu.h:24
#define MT_DEVICE_nGnRE
Definition arm_mmu.h:23
◆ MMU_REGION_DT_COMPAT_FOREACH_FLAT_ENTRY
#define MMU_REGION_DT_COMPAT_FOREACH_FLAT_ENTRY |
( |
|
compat, |
|
|
|
attr |
|
) |
| |
Value:
#define DT_FOREACH_STATUS_OKAY_VARGS(compat, fn,...)
Invokes fn for each status okay node of a compatible with multiple arguments.
Definition devicetree.h:3251
#define MMU_REGION_DT_FLAT_ENTRY(node_id, attrs)
Definition arm_mmu.h:86
◆ MMU_REGION_DT_FLAT_ENTRY
#define MMU_REGION_DT_FLAT_ENTRY |
( |
|
node_id, |
|
|
|
attrs |
|
) |
| |
Value:
attrs),
#define DT_NODE_FULL_NAME(node_id)
Get a devicetree node's name with unit-address as a string literal.
Definition devicetree.h:524
#define DT_REG_ADDR(node_id)
Get a node's (only) register block address.
Definition devicetree.h:2276
#define DT_REG_SIZE(node_id)
Get a node's (only) register block size.
Definition devicetree.h:2297
#define MMU_REGION_FLAT_ENTRY(name, adr, sz, attrs)
Definition arm_mmu.h:67
◆ MMU_REGION_ENTRY
#define MMU_REGION_ENTRY |
( |
|
_name, |
|
|
|
_base_pa, |
|
|
|
_base_va, |
|
|
|
_size, |
|
|
|
_attrs |
|
) |
| |
Value: {\
.name = _name, \
.base_pa = _base_pa, \
.base_va = _base_va, \
.size = _size, \
.attrs = _attrs, \
}
◆ MMU_REGION_FLAT_ENTRY
#define MMU_REGION_FLAT_ENTRY |
( |
|
name, |
|
|
|
adr, |
|
|
|
sz, |
|
|
|
attrs |
|
) |
| MMU_REGION_ENTRY(name, adr, adr, sz, attrs) |
◆ MT_DEFAULT_SECURE_STATE
◆ MT_DEVICE_GRE
◆ MT_DEVICE_nGnRE
#define MT_DEVICE_nGnRE 1U |
◆ MT_DEVICE_nGnRnE
#define MT_DEVICE_nGnRnE 0U |
◆ MT_G
◆ MT_NG
◆ MT_NO_OVERWRITE
◆ MT_NO_OVERWRITE_SHIFT
#define MT_NO_OVERWRITE_SHIFT 8U |
◆ MT_NON_GLOBAL_SHIFT
#define MT_NON_GLOBAL_SHIFT 9U |
◆ MT_NORMAL
◆ MT_NORMAL_NC
◆ MT_NORMAL_WT
◆ MT_NS
◆ MT_P_EXECUTE
◆ MT_P_EXECUTE_NEVER
◆ MT_P_EXECUTE_SHIFT
#define MT_P_EXECUTE_SHIFT 5U |
◆ MT_P_RO_U_NA
◆ MT_P_RO_U_RO
◆ MT_P_RO_U_RX
◆ MT_P_RW_U_NA
◆ MT_P_RW_U_RW
◆ MT_P_RX_U_NA
◆ MT_P_RX_U_RX
◆ MT_PERM_SHIFT
◆ MT_RO
◆ MT_RW
◆ MT_RW_AP_EL_HIGHER
◆ MT_RW_AP_ELx
◆ MT_RW_AP_SHIFT
#define MT_RW_AP_SHIFT 7U |
◆ MT_SEC_SHIFT
◆ MT_SECURE
◆ MT_TYPE
◆ MT_TYPE_MASK
#define MT_TYPE_MASK 0x7U |
◆ MT_U_EXECUTE
◆ MT_U_EXECUTE_NEVER
◆ MT_U_EXECUTE_SHIFT
#define MT_U_EXECUTE_SHIFT 6U |
◆ mmu_config