CMSIS-Core (Cortex-A)  Version 1.2.1
CMSIS-Core support for Cortex-A processor-based devices
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MMU Defines and Structs

Defines and structures that relate to the Memory Management Unit. More...

Data Structures

struct  mmu_region_attributes_Type
 

Macros

#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)
 

Enumerations

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
}
 

Description

Macro Definition Documentation

#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_B_SHIFT   (2)
#define PAGE_C_SHIFT   (3)
#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_P_SHIFT   (9)
#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)

Enumeration Type Documentation

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