-// small page 2nd level descriptor entries\r
-#define ARM_SMALL_PAGE_BASE_MASK 0xFFFFF000\r
-#define ARM_SMALL_PAGE_INDEX_MASK 0x000FF000\r
-#define ARM_SMALL_PAGE_BASE_SHIFT 12\r
-#define ARM_SMALL_PAGE_TEX_MASK 0x000001C0\r
-#define ARM_SMALL_PAGE_TEX_SHIFT 6\r
-#define ARM_SMALL_PAGE_XN 0x00000001\r
-\r
-// large page 2nd level descriptor entries\r
-#define ARM_LARGE_PAGE_BASE_MASK 0xFFFF0000\r
-#define ARM_LARGE_PAGE_BASE_SHIFT 16\r
-#define ARM_LARGE_PAGE_TEX_MASK 0x00007000\r
-#define ARM_LARGE_PAGE_TEX_SHIFT 12\r
-#define ARM_LARGE_PAGE_XN 0x00008000\r
-\r
-// common 2nd level desriptor fields\r
-#define ARM_PAGE_nG 0x00000800\r
-#define ARM_PAGE_S 0x00000400\r
-#define ARM_PAGE_AP2 0x00000200\r
-#define ARM_PAGE_AP10_MASK 0x00000030\r
-#define ARM_PAGE_AP10_SHIFT 4\r
-#define ARM_PAGE_C 0x00000008\r
-#define ARM_PAGE_B 0x00000004\r
-#define ARM_PAGE_DESC_TYPE_MASK 0x00000003\r
-\r
-// descriptor type values\r
-#define ARM_PAGE_TYPE_FAULT 0x0\r
-#define ARM_PAGE_TYPE_LARGE 0x1\r
-#define ARM_PAGE_TYPE_SMALL 0x2\r
-#define ARM_PAGE_TYPE_SMALL_XN 0x3\r
-\r
-#define SMALL_PAGE_TABLE_ENTRY_COUNT (ARM_PAGE_DESC_ENTRY_MVA_SIZE / EFI_PAGE_SIZE)\r
-\r
-\r
-// Translation Table Base 0 fields\r
-#define ARM_TTBR0_BASE_MASK 0xFFFFC000\r
-#define ARM_TTBR0_BASE_SHIFT 14\r
-#define ARM_TTRB0_NOS 0x00000020\r
-\r
-// define the combination of interesting attributes: cacheability and access permissions\r
-#define ARM_SECTION_CACHEABILITY_MASK ( ARM_SECTION_TEX_MASK | ARM_SECTION_C | ARM_SECTION_B )\r
-#define ARM_SECTION_RW_PERMISSIONS_MASK ( ARM_SECTION_AP2 | ARM_SECTION_AP10_MASK )\r
-#define ARM_DESCRIPTOR_ATTRIBUTES ( ARM_SECTION_CACHEABILITY_MASK | ARM_SECTION_RW_PERMISSIONS_MASK | ARM_SECTION_XN )\r
-\r
-// cacheability values for section entries\r
-#define ARM_SECTION_STRONGLY_ORDERED 0\r
-#define ARM_SECTION_SHAREABLE_DEVICE ARM_SECTION_B\r
-#define ARM_SECTION_WRITE_THROUGH ARM_SECTION_C\r
-#define ARM_SECTION_WRITE_BACK_NWA ( ARM_SECTION_C| ARM_SECTION_B )\r
-#define ARM_SECTION_NORMAL_UNCACHEABLE ( 0x1 << ARM_SECTION_TEX_SHIFT )\r
-#define ARM_SECTION_WRITE_BACK ( ( 0x1 << ARM_SECTION_TEX_SHIFT ) | ARM_SECTION_C | ARM_SECTION_B )\r
-#define ARM_SECTION_NONSHAREABLE_DEVICE ( 0x2 << ARM_SECTION_TEX_SHIFT )\r
-\r
-// permissions values for section entries\r
-#define ARM_SECTION_NO_ACCESS 0\r
-#define ARM_SECTION_PRIV_ACCESS_ONLY ( 0x1 << ARM_SECTION_AP10_SHIFT)\r
-#define ARM_SECTION_USER_READ_ONLY ( 0x2 << ARM_SECTION_AP10_SHIFT)\r
-#define ARM_SECTION_FULL_ACCESS ( 0x3 << ARM_SECTION_AP10_SHIFT)\r
-#define ARM_SECTION_PRIV_READ_ONLY ( ARM_SECTION_AP2 | (0x1 << ARM_SECTION_AP10_SHIFT) )\r
-#define ARM_SECTION_READ_ONLY_DEP ( ARM_SECTION_AP2 | (0x2 << ARM_SECTION_AP10_SHIFT) )\r
-#define ARM_SECTION_READ_ONLY ( ARM_SECTION_AP2 | (0x3 << ARM_SECTION_AP10_SHIFT) )\r
-\r
-\r
-\r