|
See section B3.8.2, "Short-descriptor format memory region attributes,
without TEX remap" in the "ARM Architecture Reference Manual ARMv7-A and
ARMv7-R edition".
|
#define | ARM_MMU_SECT_BASE_SHIFT 20 |
|
#define | ARM_MMU_SECT_BASE_MASK (0xfffU << ARM_MMU_SECT_BASE_SHIFT) |
|
#define | ARM_MMU_SECT_NS (1U << 19) |
|
#define | ARM_MMU_SECT_NG (1U << 17) |
|
#define | ARM_MMU_SECT_S (1U << 16) |
|
#define | ARM_MMU_SECT_AP_2 (1U << 15) |
|
#define | ARM_MMU_SECT_TEX_2 (1U << 14) |
|
#define | ARM_MMU_SECT_TEX_1 (1U << 13) |
|
#define | ARM_MMU_SECT_TEX_0 (1U << 12) |
|
#define | ARM_MMU_SECT_TEX_SHIFT 12 |
|
#define | ARM_MMU_SECT_TEX_MASK (0x3U << ARM_MMU_SECT_TEX_SHIFT) |
|
#define | ARM_MMU_SECT_AP_1 (1U << 11) |
|
#define | ARM_MMU_SECT_AP_0 (1U << 10) |
|
#define | ARM_MMU_SECT_AP_SHIFT 10 |
|
#define | ARM_MMU_SECT_AP_MASK (0x23U << ARM_MMU_SECT_AP_SHIFT) |
|
#define | ARM_MMU_SECT_DOMAIN_SHIFT 5 |
|
#define | ARM_MMU_SECT_DOMAIN_MASK (0xfU << ARM_MMU_SECT_DOMAIN_SHIFT) |
|
#define | ARM_MMU_SECT_XN (1U << 4) |
|
#define | ARM_MMU_SECT_C (1U << 3) |
|
#define | ARM_MMU_SECT_B (1U << 2) |
|
#define | ARM_MMU_SECT_PXN (1U << 0) |
|
#define | ARM_MMU_SECT_DEFAULT 0x2U |
|
#define | ARM_MMU_SECT_GET_INDEX(mva) (((uint32_t) (mva)) >> ARM_MMU_SECT_BASE_SHIFT) |
|
#define | ARM_MMU_SECT_MVA_ALIGN_UP(mva) |
|
#define | ARM_MMU_PAGE_TABLE_BASE_SHIFT 10 |
|
#define | ARM_MMU_PAGE_TABLE_BASE_MASK (0x3fffffU << ARM_MMU_PAGE_TABLE_BASE_SHIFT) |
|
#define | ARM_MMU_PAGE_TABLE_DOMAIN_SHIFT 5 |
|
#define | ARM_MMU_PAGE_TABLE_DOMAIN_MASK (0xfU << ARM_MMU_PAGE_TABLE_DOMAIN_SHIFT) |
|
#define | ARM_MMU_PAGE_TABLE_NS (1U << 3) |
|
#define | ARM_MMU_PAGE_TABLE_PXN (1U << 2) |
|
#define | ARM_MMU_PAGE_TABLE_DEFAULT 0x1U |
|
#define | ARM_MMU_SMALL_PAGE_BASE_SHIFT 12 |
|
#define | ARM_MMU_SMALL_PAGE_BASE_MASK (0xfffffU << ARM_MMU_SMALL_PAGE_BASE_SHIFT) |
|
#define | ARM_MMU_SMALL_PAGE_NG (1U << 11) |
|
#define | ARM_MMU_SMALL_PAGE_S (1U << 10) |
|
#define | ARM_MMU_SMALL_PAGE_AP_2 (1U << 9) |
|
#define | ARM_MMU_SMALL_PAGE_TEX_2 (1U << 8) |
|
#define | ARM_MMU_SMALL_PAGE_TEX_1 (1U << 7) |
|
#define | ARM_MMU_SMALL_PAGE_TEX_0 (1U << 6) |
|
#define | ARM_MMU_SMALL_PAGE_TEX_SHIFT 6 |
|
#define | ARM_MMU_SMALL_PAGE_TEX_MASK (0x3U << ARM_MMU_SMALL_PAGE_TEX_SHIFT) |
|
#define | ARM_MMU_SMALL_PAGE_AP_1 (1U << 5) |
|
#define | ARM_MMU_SMALL_PAGE_AP_0 (1U << 4) |
|
#define | ARM_MMU_SMALL_PAGE_AP_SHIFT 4 |
|
#define | ARM_MMU_SMALL_PAGE_AP_MASK (0x23U << ARM_MMU_SMALL_PAGE_AP_SHIFT) |
|
#define | ARM_MMU_SMALL_PAGE_C (1U << 3) |
|
#define | ARM_MMU_SMALL_PAGE_B (1U << 2) |
|
#define | ARM_MMU_SMALL_PAGE_XN (1U << 0) |
|
#define | ARM_MMU_SMALL_PAGE_DEFAULT 0x2U |
|
#define | ARM_MMU_SMALL_PAGE_GET_INDEX(mva) (((uint32_t) (mva)) >> ARM_MMU_SMALL_PAGE_BASE_SHIFT) |
|
#define | ARM_MMU_SMALL_PAGE_MVA_ALIGN_UP(mva) |
|
#define | ARM_MMU_SECT_FLAGS_TO_PAGE_TABLE(flags) |
|
#define | ARM_MMU_PAGE_TABLE_FLAGS_TO_SECT(flags) |
|
#define | ARM_MMU_SECT_FLAGS_TO_SMALL_PAGE(flags) |
|
#define | ARM_MMU_SMALL_PAGE_FLAGS_TO_SECT(flags) |
|
#define | ARM_MMU_TRANSLATION_TABLE_ENTRY_SIZE 4U |
|
#define | ARM_MMU_TRANSLATION_TABLE_ENTRY_COUNT 4096U |
|
#define | ARM_MMU_SMALL_PAGE_TABLE_ENTRY_SIZE 4U |
|
#define | ARM_MMU_SMALL_PAGE_TABLE_ENTRY_COUNT 256U |
|
#define | ARM_MMU_DEFAULT_CLIENT_DOMAIN 15U |
|
#define | ARMV7_MMU_READ_ONLY |
|
#define | ARMV7_MMU_READ_ONLY_CACHED (ARMV7_MMU_READ_ONLY | ARM_MMU_SECT_TEX_0 | ARM_MMU_SECT_C | ARM_MMU_SECT_B) |
|
#define | ARMV7_MMU_READ_WRITE |
|
#define | ARMV7_MMU_READ_WRITE_CACHED |
|
#define | ARMV7_MMU_DATA_READ_ONLY (ARMV7_MMU_READ_ONLY | ARM_MMU_SECT_TEX_0) |
|
#define | ARMV7_MMU_DATA_READ_ONLY_CACHED ARMV7_MMU_READ_ONLY_CACHED |
|
#define | ARMV7_MMU_DATA_READ_WRITE (ARMV7_MMU_READ_WRITE | ARM_MMU_SECT_TEX_0) |
|
#define | ARMV7_MMU_DATA_READ_WRITE_CACHED ARMV7_MMU_READ_WRITE_CACHED |
|
#define | ARMV7_MMU_CODE (ARMV7_MMU_READ_ONLY | ARM_MMU_SECT_TEX_0) |
|
#define | ARMV7_MMU_CODE_CACHED ARMV7_MMU_READ_ONLY_CACHED |
|
#define | ARMV7_MMU_DEVICE (ARMV7_MMU_READ_WRITE | ARM_MMU_SECT_B) |
|