Defines and structures that relate to the Memory Management Unit.
More...
|
| #define | SECTION_DESCRIPTOR (0x2) |
| |
| #define | SECTION_B_SHIFT (2) |
| |
| #define | SECTION_C_SHIFT (3) |
| |
| #define | SECTION_TEX0_SHIFT (12) |
| |
| #define | SECTION_TEX1_SHIFT (13) |
| |
| #define | SECTION_TEX2_SHIFT (14) |
| |
| #define | SECTION_XN_SHIFT (4) |
| |
| #define | SECTION_DOMAIN_SHIFT (5) |
| |
| #define | SECTION_P_SHIFT (9) |
| |
| #define | SECTION_AP_SHIFT (10) |
| |
| #define | SECTION_AP2_SHIFT (15) |
| |
| #define | SECTION_S_SHIFT (16) |
| |
| #define | SECTION_NG_SHIFT (17) |
| |
| #define | SECTION_NS_SHIFT (19) |
| |
| #define | PAGE_L1_DESCRIPTOR (0x1) |
| |
| #define | PAGE_L2_4K_DESC (0x2) |
| |
| #define | PAGE_L2_64K_DESC (0x1) |
| |
| #define | PAGE_4K_B_SHIFT (2) |
| |
| #define | PAGE_4K_C_SHIFT (3) |
| |
| #define | PAGE_4K_TEX0_SHIFT (6) |
| |
| #define | PAGE_4K_TEX1_SHIFT (7) |
| |
| #define | PAGE_4K_TEX2_SHIFT (8) |
| |
| #define | PAGE_64K_B_SHIFT (2) |
| |
| #define | PAGE_64K_C_SHIFT (3) |
| |
| #define | PAGE_64K_TEX0_SHIFT (12) |
| |
| #define | PAGE_64K_TEX1_SHIFT (13) |
| |
| #define | PAGE_64K_TEX2_SHIFT (14) |
| |
| #define | PAGE_B_SHIFT (2) |
| |
| #define | PAGE_C_SHIFT (3) |
| |
| #define | PAGE_TEX_SHIFT (12) |
| |
| #define | PAGE_XN_4K_SHIFT (0) |
| |
| #define | PAGE_XN_64K_SHIFT (15) |
| |
| #define | PAGE_DOMAIN_SHIFT (5) |
| |
| #define | PAGE_P_SHIFT (9) |
| |
| #define | PAGE_AP_SHIFT (4) |
| |
| #define | PAGE_AP2_SHIFT (9) |
| |
| #define | PAGE_S_SHIFT (10) |
| |
| #define | PAGE_NG_SHIFT (11) |
| |
| #define | PAGE_NS_SHIFT (3) |
| |
| #define | OFFSET_1M (0x00100000) |
| |
| #define | OFFSET_64K (0x00010000) |
| |
| #define | OFFSET_4K (0x00001000) |
| |
| #define | DESCRIPTOR_FAULT (0x00000000) |
| |
| #define | section_normal(descriptor_l1, region) |
| |
| #define | section_normal_cod(descriptor_l1, region) |
| |
| #define | section_normal_ro(descriptor_l1, region) |
| |
| #define | section_normal_rw(descriptor_l1, region) |
| |
| #define | section_so(descriptor_l1, region) |
| |
| #define | section_device_ro(descriptor_l1, region) |
| |
| #define | section_device_rw(descriptor_l1, region) |
| |
| #define | page4k_device_rw(descriptor_l1, descriptor_l2, region) |
| |
| #define | page64k_device_rw(descriptor_l1, descriptor_l2, region) |
| |
|
| enum | mmu_region_size_Type {
SECTION,
PAGE_4k,
PAGE_64k
} |
| |
| enum | mmu_memory_Type {
NORMAL,
DEVICE,
SHARED_DEVICE,
NON_SHARED_DEVICE,
STRONGLY_ORDERED
} |
| |
| enum | mmu_cacheability_Type {
NON_CACHEABLE,
WB_WA,
WT,
WB_NO_WA
} |
| |
| enum | mmu_ecc_check_Type {
ECC_DISABLED,
ECC_ENABLED
} |
| |
| enum | mmu_execute_Type {
EXECUTE,
NON_EXECUTE
} |
| |
| enum | mmu_global_Type {
GLOBAL,
NON_GLOBAL
} |
| |
| enum | mmu_shared_Type {
NON_SHARED,
SHARED
} |
| |
| enum | mmu_secure_Type {
SECURE,
NON_SECURE
} |
| |
| enum | mmu_access_Type {
NO_ACCESS,
RW,
READ
} |
| |
| #define DESCRIPTOR_FAULT (0x00000000) |
| #define OFFSET_1M (0x00100000) |
| #define OFFSET_4K (0x00001000) |
| #define OFFSET_64K (0x00010000) |
| #define page4k_device_rw |
( |
|
descriptor_l1, |
|
|
|
descriptor_l2, |
|
|
|
region |
|
) |
| |
| #define page64k_device_rw |
( |
|
descriptor_l1, |
|
|
|
descriptor_l2, |
|
|
|
region |
|
) |
| |
| #define PAGE_4K_B_SHIFT (2) |
| #define PAGE_4K_C_SHIFT (3) |
| #define PAGE_4K_TEX0_SHIFT (6) |
| #define PAGE_4K_TEX1_SHIFT (7) |
| #define PAGE_4K_TEX2_SHIFT (8) |
| #define PAGE_64K_B_SHIFT (2) |
| #define PAGE_64K_C_SHIFT (3) |
| #define PAGE_64K_TEX0_SHIFT (12) |
| #define PAGE_64K_TEX1_SHIFT (13) |
| #define PAGE_64K_TEX2_SHIFT (14) |
| #define PAGE_AP2_SHIFT (9) |
| #define PAGE_AP_SHIFT (4) |
| #define PAGE_DOMAIN_SHIFT (5) |
| #define PAGE_L1_DESCRIPTOR (0x1) |
| #define PAGE_L2_4K_DESC (0x2) |
| #define PAGE_L2_64K_DESC (0x1) |
| #define PAGE_NG_SHIFT (11) |
| #define PAGE_NS_SHIFT (3) |
| #define PAGE_S_SHIFT (10) |
| #define PAGE_TEX_SHIFT (12) |
| #define PAGE_XN_4K_SHIFT (0) |
| #define PAGE_XN_64K_SHIFT (15) |
| #define SECTION_AP2_SHIFT (15) |
| #define SECTION_AP_SHIFT (10) |
| #define SECTION_B_SHIFT (2) |
| #define SECTION_C_SHIFT (3) |
| #define SECTION_DESCRIPTOR (0x2) |
| #define section_device_ro |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define section_device_rw |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define SECTION_DOMAIN_SHIFT (5) |
| #define SECTION_NG_SHIFT (17) |
| #define section_normal |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define section_normal_cod |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define section_normal_ro |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define section_normal_rw |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define SECTION_NS_SHIFT (19) |
| #define SECTION_P_SHIFT (9) |
| #define SECTION_S_SHIFT (16) |
| #define section_so |
( |
|
descriptor_l1, |
|
|
|
region |
|
) |
| |
| #define SECTION_TEX0_SHIFT (12) |
| #define SECTION_TEX1_SHIFT (13) |
| #define SECTION_TEX2_SHIFT (14) |
| #define SECTION_XN_SHIFT (4) |
| Enumerator |
|---|
| NO_ACCESS |
|
| RW |
|
| READ |
|
| Enumerator |
|---|
| NON_CACHEABLE |
|
| WB_WA |
|
| WT |
|
| WB_NO_WA |
|
| Enumerator |
|---|
| ECC_DISABLED |
|
| ECC_ENABLED |
|
| Enumerator |
|---|
| EXECUTE |
|
| NON_EXECUTE |
|
| Enumerator |
|---|
| GLOBAL |
|
| NON_GLOBAL |
|
| Enumerator |
|---|
| NORMAL |
|
| DEVICE |
|
| SHARED_DEVICE |
|
| NON_SHARED_DEVICE |
|
| STRONGLY_ORDERED |
|
| Enumerator |
|---|
| SECTION |
|
| PAGE_4k |
|
| PAGE_64k |
|
| Enumerator |
|---|
| SECURE |
|
| NON_SECURE |
|
| Enumerator |
|---|
| NON_SHARED |
|
| SHARED |
|