TianoCore EDK2 master
Loading...
Searching...
No Matches
AArch64Mmu.h File Reference

Go to the source code of this file.

Macros

#define MAIR_ATTR_DEVICE_MEMORY   0x0ULL
 
#define MAIR_ATTR_NORMAL_MEMORY_NON_CACHEABLE   0x44ULL
 
#define MAIR_ATTR_NORMAL_MEMORY_WRITE_THROUGH   0xBBULL
 
#define MAIR_ATTR_NORMAL_MEMORY_WRITE_BACK   0xFFULL
 
#define MAIR_ATTR(n, value)   ((value) << (((n) >> 2)*8))
 
#define TT_ADDRESS_OFFSET_AT_LEVEL(TableLevel)   (12 + ((3 - (TableLevel)) * 9))
 
#define TT_BLOCK_ENTRY_SIZE_AT_LEVEL(Level)   (1ULL << TT_ADDRESS_OFFSET_AT_LEVEL(Level))
 
#define TT_GET_ENTRY_FOR_ADDRESS(TranslationTable, Level, Address)    ((UINTN)(TranslationTable) + ((((UINTN)(Address) >> TT_ADDRESS_OFFSET_AT_LEVEL(Level)) & (BIT9-1)) * sizeof(UINT64)))
 
#define TT_ADDRESS_AT_LEVEL(TableLevel)   (1ULL << TT_ADDRESS_OFFSET_AT_LEVEL(TableLevel))
 
#define TT_LAST_BLOCK_ADDRESS(TranslationTable, EntryCount)    ((UINT64*)((EFI_PHYSICAL_ADDRESS)(TranslationTable) + (((EntryCount) - 1) * sizeof(UINT64))))
 
#define TT_ENTRY_COUNT   512
 
#define TT_ALIGNMENT_BLOCK_ENTRY   BIT12
 
#define TT_ALIGNMENT_DESCRIPTION_TABLE   BIT12
 
#define TT_ADDRESS_MASK_BLOCK_ENTRY   (0xFFFFFFFFFULL << 12)
 
#define TT_ADDRESS_MASK_DESCRIPTION_TABLE   (0xFFFFFFFFFULL << 12)
 
#define TT_TYPE_MASK   0x3
 
#define TT_TYPE_TABLE_ENTRY   0x3
 
#define TT_TYPE_BLOCK_ENTRY   0x1
 
#define TT_TYPE_BLOCK_ENTRY_LEVEL3   0x3
 
#define TT_ATTR_INDX_MASK   (0x7 << 2)
 
#define TT_ATTR_INDX_DEVICE_MEMORY   (0x0 << 2)
 
#define TT_ATTR_INDX_MEMORY_NON_CACHEABLE   (0x1 << 2)
 
#define TT_ATTR_INDX_MEMORY_WRITE_THROUGH   (0x2 << 2)
 
#define TT_ATTR_INDX_MEMORY_WRITE_BACK   (0x3 << 2)
 
#define TT_AP_MASK   (0x3UL << 6)
 
#define TT_AP_NO_RW   (0x0UL << 6)
 
#define TT_AP_RW_RW   (0x1UL << 6)
 
#define TT_AP_NO_RO   (0x2UL << 6)
 
#define TT_AP_RO_RO   (0x3UL << 6)
 
#define TT_NS   BIT5
 
#define TT_AF   BIT10
 
#define TT_SH_NON_SHAREABLE   (0x0 << 8)
 
#define TT_SH_OUTER_SHAREABLE   (0x2 << 8)
 
#define TT_SH_INNER_SHAREABLE   (0x3 << 8)
 
#define TT_SH_MASK   (0x3 << 8)
 
#define TT_PXN_MASK   BIT53
 
#define TT_UXN_MASK   BIT54
 
#define TT_XN_MASK   BIT54
 
#define TT_ATTRIBUTES_MASK   ((0xFFFULL << 52) | (0x3FFULL << 2))
 
#define TT_TABLE_PXN   BIT59
 
#define TT_TABLE_UXN   BIT60
 
#define TT_TABLE_XN   BIT60
 
#define TT_TABLE_NS   BIT63
 
#define TT_TABLE_AP_MASK   (BIT62 | BIT61)
 
#define TT_TABLE_AP_NO_PERMISSION   (0x0ULL << 61)
 
#define TT_TABLE_AP_EL0_NO_ACCESS   (0x1ULL << 61)
 
#define TT_TABLE_AP_NO_WRITE_ACCESS   (0x2ULL << 61)
 
#define TCR_T0SZ_MASK   0x3FUL
 
#define TCR_PS_4GB   (0UL << 16)
 
#define TCR_PS_64GB   (1UL << 16)
 
#define TCR_PS_1TB   (2UL << 16)
 
#define TCR_PS_4TB   (3UL << 16)
 
#define TCR_PS_16TB   (4UL << 16)
 
#define TCR_PS_256TB   (5UL << 16)
 
#define TCR_TG0_4KB   (0UL << 14)
 
#define TCR_TG1_4KB   (2UL << 30)
 
#define TCR_IPS_4GB   (0ULL << 32)
 
#define TCR_IPS_64GB   (1ULL << 32)
 
#define TCR_IPS_1TB   (2ULL << 32)
 
#define TCR_IPS_4TB   (3ULL << 32)
 
#define TCR_IPS_16TB   (4ULL << 32)
 
#define TCR_IPS_256TB   (5ULL << 32)
 
#define TCR_EPD1   (1UL << 23)
 
#define TTBR_ASID_FIELD   (48)
 
#define TTBR_ASID_MASK   (0xFF << TTBR_ASID_FIELD)
 
#define TTBR_BADDR_MASK   (0xFFFFFFFFFFFF )
 
#define TCR_EL1_T0SZ_FIELD   (0)
 
#define TCR_EL1_EPD0_FIELD   (7)
 
#define TCR_EL1_IRGN0_FIELD   (8)
 
#define TCR_EL1_ORGN0_FIELD   (10)
 
#define TCR_EL1_SH0_FIELD   (12)
 
#define TCR_EL1_TG0_FIELD   (14)
 
#define TCR_EL1_T1SZ_FIELD   (16)
 
#define TCR_EL1_A1_FIELD   (22)
 
#define TCR_EL1_EPD1_FIELD   (23)
 
#define TCR_EL1_IRGN1_FIELD   (24)
 
#define TCR_EL1_ORGN1_FIELD   (26)
 
#define TCR_EL1_SH1_FIELD   (28)
 
#define TCR_EL1_TG1_FIELD   (30)
 
#define TCR_EL1_IPS_FIELD   (32)
 
#define TCR_EL1_AS_FIELD   (36)
 
#define TCR_EL1_TBI0_FIELD   (37)
 
#define TCR_EL1_TBI1_FIELD   (38)
 
#define TCR_EL1_T0SZ_MASK   (0x1FUL << TCR_EL1_T0SZ_FIELD)
 
#define TCR_EL1_EPD0_MASK   (0x01UL << TCR_EL1_EPD0_FIELD)
 
#define TCR_EL1_IRGN0_MASK   (0x03UL << TCR_EL1_IRGN0_FIELD)
 
#define TCR_EL1_ORGN0_MASK   (0x03UL << TCR_EL1_ORGN0_FIELD)
 
#define TCR_EL1_SH0_MASK   (0x03UL << TCR_EL1_SH0_FIELD)
 
#define TCR_EL1_TG0_MASK   (0x01UL << TCR_EL1_TG0_FIELD)
 
#define TCR_EL1_T1SZ_MASK   (0x1FUL << TCR_EL1_T1SZ_FIELD)
 
#define TCR_EL1_A1_MASK   (0x01UL << TCR_EL1_A1_FIELD)
 
#define TCR_EL1_EPD1_MASK   (0x01UL << TCR_EL1_EPD1_FIELD)
 
#define TCR_EL1_IRGN1_MASK   (0x03UL << TCR_EL1_IRGN1_FIELD)
 
#define TCR_EL1_ORGN1_MASK   (0x03UL << TCR_EL1_ORGN1_FIELD)
 
#define TCR_EL1_SH1_MASK   (0x03UL << TCR_EL1_SH1_FIELD)
 
#define TCR_EL1_TG1_MASK   (0x01UL << TCR_EL1_TG1_FIELD)
 
#define TCR_EL1_IPS_MASK   (0x07UL << TCR_EL1_IPS_FIELD)
 
#define TCR_EL1_AS_MASK   (0x01UL << TCR_EL1_AS_FIELD)
 
#define TCR_EL1_TBI0_MASK   (0x01UL << TCR_EL1_TBI0_FIELD)
 
#define TCR_EL1_TBI1_MASK   (0x01UL << TCR_EL1_TBI1_FIELD)
 
#define TCR_EL23_T0SZ_FIELD   (0)
 
#define TCR_EL23_IRGN0_FIELD   (8)
 
#define TCR_EL23_ORGN0_FIELD   (10)
 
#define TCR_EL23_SH0_FIELD   (12)
 
#define TCR_EL23_TG0_FIELD   (14)
 
#define TCR_EL23_PS_FIELD   (16)
 
#define TCR_EL23_T0SZ_MASK   (0x1FUL << TCR_EL23_T0SZ_FIELD)
 
#define TCR_EL23_IRGN0_MASK   (0x03UL << TCR_EL23_IRGN0_FIELD)
 
#define TCR_EL23_ORGN0_MASK   (0x03UL << TCR_EL23_ORGN0_FIELD)
 
#define TCR_EL23_SH0_MASK   (0x03UL << TCR_EL23_SH0_FIELD)
 
#define TCR_EL23_TG0_MASK   (0x01UL << TCR_EL23_TG0_FIELD)
 
#define TCR_EL23_PS_MASK   (0x07UL << TCR_EL23_PS_FIELD)
 
#define TCR_RGN_OUTER_NON_CACHEABLE   (0x0UL << 10)
 
#define TCR_RGN_OUTER_WRITE_BACK_ALLOC   (0x1UL << 10)
 
#define TCR_RGN_OUTER_WRITE_THROUGH   (0x2UL << 10)
 
#define TCR_RGN_OUTER_WRITE_BACK_NO_ALLOC   (0x3UL << 10)
 
#define TCR_RGN_INNER_NON_CACHEABLE   (0x0UL << 8)
 
#define TCR_RGN_INNER_WRITE_BACK_ALLOC   (0x1UL << 8)
 
#define TCR_RGN_INNER_WRITE_THROUGH   (0x2UL << 8)
 
#define TCR_RGN_INNER_WRITE_BACK_NO_ALLOC   (0x3UL << 8)
 
#define TCR_SH_NON_SHAREABLE   (0x0UL << 12)
 
#define TCR_SH_OUTER_SHAREABLE   (0x2UL << 12)
 
#define TCR_SH_INNER_SHAREABLE   (0x3UL << 12)
 
#define TCR_PASZ_32BITS_4GB   (0x0UL)
 
#define TCR_PASZ_36BITS_64GB   (0x1UL)
 
#define TCR_PASZ_40BITS_1TB   (0x2UL)
 
#define TCR_PASZ_42BITS_4TB   (0x3UL)
 
#define TCR_PASZ_44BITS_16TB   (0x4UL)
 
#define TCR_PASZ_48BITS_256TB   (0x5UL)
 
#define INPUT_ADDRESS_SIZE_TO_TXSZ(a)   (64 - a)
 

Detailed Description

Copyright (c) 2011-2021, Arm Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AArch64Mmu.h.

Macro Definition Documentation

◆ INPUT_ADDRESS_SIZE_TO_TXSZ

#define INPUT_ADDRESS_SIZE_TO_TXSZ (   a)    (64 - a)

Definition at line 191 of file AArch64Mmu.h.

◆ MAIR_ATTR

#define MAIR_ATTR (   n,
  value 
)    ((value) << (((n) >> 2)*8))

Definition at line 20 of file AArch64Mmu.h.

◆ MAIR_ATTR_DEVICE_MEMORY

#define MAIR_ATTR_DEVICE_MEMORY   0x0ULL

Definition at line 15 of file AArch64Mmu.h.

◆ MAIR_ATTR_NORMAL_MEMORY_NON_CACHEABLE

#define MAIR_ATTR_NORMAL_MEMORY_NON_CACHEABLE   0x44ULL

Definition at line 16 of file AArch64Mmu.h.

◆ MAIR_ATTR_NORMAL_MEMORY_WRITE_BACK

#define MAIR_ATTR_NORMAL_MEMORY_WRITE_BACK   0xFFULL

Definition at line 18 of file AArch64Mmu.h.

◆ MAIR_ATTR_NORMAL_MEMORY_WRITE_THROUGH

#define MAIR_ATTR_NORMAL_MEMORY_WRITE_THROUGH   0xBBULL

Definition at line 17 of file AArch64Mmu.h.

◆ TCR_EL1_A1_FIELD

#define TCR_EL1_A1_FIELD   (22)

Definition at line 127 of file AArch64Mmu.h.

◆ TCR_EL1_A1_MASK

#define TCR_EL1_A1_MASK   (0x01UL << TCR_EL1_A1_FIELD)

Definition at line 144 of file AArch64Mmu.h.

◆ TCR_EL1_AS_FIELD

#define TCR_EL1_AS_FIELD   (36)

Definition at line 134 of file AArch64Mmu.h.

◆ TCR_EL1_AS_MASK

#define TCR_EL1_AS_MASK   (0x01UL << TCR_EL1_AS_FIELD)

Definition at line 151 of file AArch64Mmu.h.

◆ TCR_EL1_EPD0_FIELD

#define TCR_EL1_EPD0_FIELD   (7)

Definition at line 121 of file AArch64Mmu.h.

◆ TCR_EL1_EPD0_MASK

#define TCR_EL1_EPD0_MASK   (0x01UL << TCR_EL1_EPD0_FIELD)

Definition at line 138 of file AArch64Mmu.h.

◆ TCR_EL1_EPD1_FIELD

#define TCR_EL1_EPD1_FIELD   (23)

Definition at line 128 of file AArch64Mmu.h.

◆ TCR_EL1_EPD1_MASK

#define TCR_EL1_EPD1_MASK   (0x01UL << TCR_EL1_EPD1_FIELD)

Definition at line 145 of file AArch64Mmu.h.

◆ TCR_EL1_IPS_FIELD

#define TCR_EL1_IPS_FIELD   (32)

Definition at line 133 of file AArch64Mmu.h.

◆ TCR_EL1_IPS_MASK

#define TCR_EL1_IPS_MASK   (0x07UL << TCR_EL1_IPS_FIELD)

Definition at line 150 of file AArch64Mmu.h.

◆ TCR_EL1_IRGN0_FIELD

#define TCR_EL1_IRGN0_FIELD   (8)

Definition at line 122 of file AArch64Mmu.h.

◆ TCR_EL1_IRGN0_MASK

#define TCR_EL1_IRGN0_MASK   (0x03UL << TCR_EL1_IRGN0_FIELD)

Definition at line 139 of file AArch64Mmu.h.

◆ TCR_EL1_IRGN1_FIELD

#define TCR_EL1_IRGN1_FIELD   (24)

Definition at line 129 of file AArch64Mmu.h.

◆ TCR_EL1_IRGN1_MASK

#define TCR_EL1_IRGN1_MASK   (0x03UL << TCR_EL1_IRGN1_FIELD)

Definition at line 146 of file AArch64Mmu.h.

◆ TCR_EL1_ORGN0_FIELD

#define TCR_EL1_ORGN0_FIELD   (10)

Definition at line 123 of file AArch64Mmu.h.

◆ TCR_EL1_ORGN0_MASK

#define TCR_EL1_ORGN0_MASK   (0x03UL << TCR_EL1_ORGN0_FIELD)

Definition at line 140 of file AArch64Mmu.h.

◆ TCR_EL1_ORGN1_FIELD

#define TCR_EL1_ORGN1_FIELD   (26)

Definition at line 130 of file AArch64Mmu.h.

◆ TCR_EL1_ORGN1_MASK

#define TCR_EL1_ORGN1_MASK   (0x03UL << TCR_EL1_ORGN1_FIELD)

Definition at line 147 of file AArch64Mmu.h.

◆ TCR_EL1_SH0_FIELD

#define TCR_EL1_SH0_FIELD   (12)

Definition at line 124 of file AArch64Mmu.h.

◆ TCR_EL1_SH0_MASK

#define TCR_EL1_SH0_MASK   (0x03UL << TCR_EL1_SH0_FIELD)

Definition at line 141 of file AArch64Mmu.h.

◆ TCR_EL1_SH1_FIELD

#define TCR_EL1_SH1_FIELD   (28)

Definition at line 131 of file AArch64Mmu.h.

◆ TCR_EL1_SH1_MASK

#define TCR_EL1_SH1_MASK   (0x03UL << TCR_EL1_SH1_FIELD)

Definition at line 148 of file AArch64Mmu.h.

◆ TCR_EL1_T0SZ_FIELD

#define TCR_EL1_T0SZ_FIELD   (0)

Definition at line 120 of file AArch64Mmu.h.

◆ TCR_EL1_T0SZ_MASK

#define TCR_EL1_T0SZ_MASK   (0x1FUL << TCR_EL1_T0SZ_FIELD)

Definition at line 137 of file AArch64Mmu.h.

◆ TCR_EL1_T1SZ_FIELD

#define TCR_EL1_T1SZ_FIELD   (16)

Definition at line 126 of file AArch64Mmu.h.

◆ TCR_EL1_T1SZ_MASK

#define TCR_EL1_T1SZ_MASK   (0x1FUL << TCR_EL1_T1SZ_FIELD)

Definition at line 143 of file AArch64Mmu.h.

◆ TCR_EL1_TBI0_FIELD

#define TCR_EL1_TBI0_FIELD   (37)

Definition at line 135 of file AArch64Mmu.h.

◆ TCR_EL1_TBI0_MASK

#define TCR_EL1_TBI0_MASK   (0x01UL << TCR_EL1_TBI0_FIELD)

Definition at line 152 of file AArch64Mmu.h.

◆ TCR_EL1_TBI1_FIELD

#define TCR_EL1_TBI1_FIELD   (38)

Definition at line 136 of file AArch64Mmu.h.

◆ TCR_EL1_TBI1_MASK

#define TCR_EL1_TBI1_MASK   (0x01UL << TCR_EL1_TBI1_FIELD)

Definition at line 153 of file AArch64Mmu.h.

◆ TCR_EL1_TG0_FIELD

#define TCR_EL1_TG0_FIELD   (14)

Definition at line 125 of file AArch64Mmu.h.

◆ TCR_EL1_TG0_MASK

#define TCR_EL1_TG0_MASK   (0x01UL << TCR_EL1_TG0_FIELD)

Definition at line 142 of file AArch64Mmu.h.

◆ TCR_EL1_TG1_FIELD

#define TCR_EL1_TG1_FIELD   (30)

Definition at line 132 of file AArch64Mmu.h.

◆ TCR_EL1_TG1_MASK

#define TCR_EL1_TG1_MASK   (0x01UL << TCR_EL1_TG1_FIELD)

Definition at line 149 of file AArch64Mmu.h.

◆ TCR_EL23_IRGN0_FIELD

#define TCR_EL23_IRGN0_FIELD   (8)

Definition at line 156 of file AArch64Mmu.h.

◆ TCR_EL23_IRGN0_MASK

#define TCR_EL23_IRGN0_MASK   (0x03UL << TCR_EL23_IRGN0_FIELD)

Definition at line 162 of file AArch64Mmu.h.

◆ TCR_EL23_ORGN0_FIELD

#define TCR_EL23_ORGN0_FIELD   (10)

Definition at line 157 of file AArch64Mmu.h.

◆ TCR_EL23_ORGN0_MASK

#define TCR_EL23_ORGN0_MASK   (0x03UL << TCR_EL23_ORGN0_FIELD)

Definition at line 163 of file AArch64Mmu.h.

◆ TCR_EL23_PS_FIELD

#define TCR_EL23_PS_FIELD   (16)

Definition at line 160 of file AArch64Mmu.h.

◆ TCR_EL23_PS_MASK

#define TCR_EL23_PS_MASK   (0x07UL << TCR_EL23_PS_FIELD)

Definition at line 166 of file AArch64Mmu.h.

◆ TCR_EL23_SH0_FIELD

#define TCR_EL23_SH0_FIELD   (12)

Definition at line 158 of file AArch64Mmu.h.

◆ TCR_EL23_SH0_MASK

#define TCR_EL23_SH0_MASK   (0x03UL << TCR_EL23_SH0_FIELD)

Definition at line 164 of file AArch64Mmu.h.

◆ TCR_EL23_T0SZ_FIELD

#define TCR_EL23_T0SZ_FIELD   (0)

Definition at line 155 of file AArch64Mmu.h.

◆ TCR_EL23_T0SZ_MASK

#define TCR_EL23_T0SZ_MASK   (0x1FUL << TCR_EL23_T0SZ_FIELD)

Definition at line 161 of file AArch64Mmu.h.

◆ TCR_EL23_TG0_FIELD

#define TCR_EL23_TG0_FIELD   (14)

Definition at line 159 of file AArch64Mmu.h.

◆ TCR_EL23_TG0_MASK

#define TCR_EL23_TG0_MASK   (0x01UL << TCR_EL23_TG0_FIELD)

Definition at line 165 of file AArch64Mmu.h.

◆ TCR_EPD1

#define TCR_EPD1   (1UL << 23)

Definition at line 114 of file AArch64Mmu.h.

◆ TCR_IPS_16TB

#define TCR_IPS_16TB   (4ULL << 32)

Definition at line 111 of file AArch64Mmu.h.

◆ TCR_IPS_1TB

#define TCR_IPS_1TB   (2ULL << 32)

Definition at line 109 of file AArch64Mmu.h.

◆ TCR_IPS_256TB

#define TCR_IPS_256TB   (5ULL << 32)

Definition at line 112 of file AArch64Mmu.h.

◆ TCR_IPS_4GB

#define TCR_IPS_4GB   (0ULL << 32)

Definition at line 107 of file AArch64Mmu.h.

◆ TCR_IPS_4TB

#define TCR_IPS_4TB   (3ULL << 32)

Definition at line 110 of file AArch64Mmu.h.

◆ TCR_IPS_64GB

#define TCR_IPS_64GB   (1ULL << 32)

Definition at line 108 of file AArch64Mmu.h.

◆ TCR_PASZ_32BITS_4GB

#define TCR_PASZ_32BITS_4GB   (0x0UL)

Definition at line 182 of file AArch64Mmu.h.

◆ TCR_PASZ_36BITS_64GB

#define TCR_PASZ_36BITS_64GB   (0x1UL)

Definition at line 183 of file AArch64Mmu.h.

◆ TCR_PASZ_40BITS_1TB

#define TCR_PASZ_40BITS_1TB   (0x2UL)

Definition at line 184 of file AArch64Mmu.h.

◆ TCR_PASZ_42BITS_4TB

#define TCR_PASZ_42BITS_4TB   (0x3UL)

Definition at line 185 of file AArch64Mmu.h.

◆ TCR_PASZ_44BITS_16TB

#define TCR_PASZ_44BITS_16TB   (0x4UL)

Definition at line 186 of file AArch64Mmu.h.

◆ TCR_PASZ_48BITS_256TB

#define TCR_PASZ_48BITS_256TB   (0x5UL)

Definition at line 187 of file AArch64Mmu.h.

◆ TCR_PS_16TB

#define TCR_PS_16TB   (4UL << 16)

Definition at line 101 of file AArch64Mmu.h.

◆ TCR_PS_1TB

#define TCR_PS_1TB   (2UL << 16)

Definition at line 99 of file AArch64Mmu.h.

◆ TCR_PS_256TB

#define TCR_PS_256TB   (5UL << 16)

Definition at line 102 of file AArch64Mmu.h.

◆ TCR_PS_4GB

#define TCR_PS_4GB   (0UL << 16)

Definition at line 97 of file AArch64Mmu.h.

◆ TCR_PS_4TB

#define TCR_PS_4TB   (3UL << 16)

Definition at line 100 of file AArch64Mmu.h.

◆ TCR_PS_64GB

#define TCR_PS_64GB   (1UL << 16)

Definition at line 98 of file AArch64Mmu.h.

◆ TCR_RGN_INNER_NON_CACHEABLE

#define TCR_RGN_INNER_NON_CACHEABLE   (0x0UL << 8)

Definition at line 173 of file AArch64Mmu.h.

◆ TCR_RGN_INNER_WRITE_BACK_ALLOC

#define TCR_RGN_INNER_WRITE_BACK_ALLOC   (0x1UL << 8)

Definition at line 174 of file AArch64Mmu.h.

◆ TCR_RGN_INNER_WRITE_BACK_NO_ALLOC

#define TCR_RGN_INNER_WRITE_BACK_NO_ALLOC   (0x3UL << 8)

Definition at line 176 of file AArch64Mmu.h.

◆ TCR_RGN_INNER_WRITE_THROUGH

#define TCR_RGN_INNER_WRITE_THROUGH   (0x2UL << 8)

Definition at line 175 of file AArch64Mmu.h.

◆ TCR_RGN_OUTER_NON_CACHEABLE

#define TCR_RGN_OUTER_NON_CACHEABLE   (0x0UL << 10)

Definition at line 168 of file AArch64Mmu.h.

◆ TCR_RGN_OUTER_WRITE_BACK_ALLOC

#define TCR_RGN_OUTER_WRITE_BACK_ALLOC   (0x1UL << 10)

Definition at line 169 of file AArch64Mmu.h.

◆ TCR_RGN_OUTER_WRITE_BACK_NO_ALLOC

#define TCR_RGN_OUTER_WRITE_BACK_NO_ALLOC   (0x3UL << 10)

Definition at line 171 of file AArch64Mmu.h.

◆ TCR_RGN_OUTER_WRITE_THROUGH

#define TCR_RGN_OUTER_WRITE_THROUGH   (0x2UL << 10)

Definition at line 170 of file AArch64Mmu.h.

◆ TCR_SH_INNER_SHAREABLE

#define TCR_SH_INNER_SHAREABLE   (0x3UL << 12)

Definition at line 180 of file AArch64Mmu.h.

◆ TCR_SH_NON_SHAREABLE

#define TCR_SH_NON_SHAREABLE   (0x0UL << 12)

Definition at line 178 of file AArch64Mmu.h.

◆ TCR_SH_OUTER_SHAREABLE

#define TCR_SH_OUTER_SHAREABLE   (0x2UL << 12)

Definition at line 179 of file AArch64Mmu.h.

◆ TCR_T0SZ_MASK

#define TCR_T0SZ_MASK   0x3FUL

Definition at line 95 of file AArch64Mmu.h.

◆ TCR_TG0_4KB

#define TCR_TG0_4KB   (0UL << 14)

Definition at line 104 of file AArch64Mmu.h.

◆ TCR_TG1_4KB

#define TCR_TG1_4KB   (2UL << 30)

Definition at line 105 of file AArch64Mmu.h.

◆ TT_ADDRESS_AT_LEVEL

#define TT_ADDRESS_AT_LEVEL (   TableLevel)    (1ULL << TT_ADDRESS_OFFSET_AT_LEVEL(TableLevel))

Definition at line 38 of file AArch64Mmu.h.

◆ TT_ADDRESS_MASK_BLOCK_ENTRY

#define TT_ADDRESS_MASK_BLOCK_ENTRY   (0xFFFFFFFFFULL << 12)

Definition at line 48 of file AArch64Mmu.h.

◆ TT_ADDRESS_MASK_DESCRIPTION_TABLE

#define TT_ADDRESS_MASK_DESCRIPTION_TABLE   (0xFFFFFFFFFULL << 12)

Definition at line 49 of file AArch64Mmu.h.

◆ TT_ADDRESS_OFFSET_AT_LEVEL

#define TT_ADDRESS_OFFSET_AT_LEVEL (   TableLevel)    (12 + ((3 - (TableLevel)) * 9))

Definition at line 28 of file AArch64Mmu.h.

◆ TT_AF

#define TT_AF   BIT10

Definition at line 69 of file AArch64Mmu.h.

◆ TT_ALIGNMENT_BLOCK_ENTRY

#define TT_ALIGNMENT_BLOCK_ENTRY   BIT12

Definition at line 45 of file AArch64Mmu.h.

◆ TT_ALIGNMENT_DESCRIPTION_TABLE

#define TT_ALIGNMENT_DESCRIPTION_TABLE   BIT12

Definition at line 46 of file AArch64Mmu.h.

◆ TT_AP_MASK

#define TT_AP_MASK   (0x3UL << 6)

Definition at line 62 of file AArch64Mmu.h.

◆ TT_AP_NO_RO

#define TT_AP_NO_RO   (0x2UL << 6)

Definition at line 65 of file AArch64Mmu.h.

◆ TT_AP_NO_RW

#define TT_AP_NO_RW   (0x0UL << 6)

Definition at line 63 of file AArch64Mmu.h.

◆ TT_AP_RO_RO

#define TT_AP_RO_RO   (0x3UL << 6)

Definition at line 66 of file AArch64Mmu.h.

◆ TT_AP_RW_RW

#define TT_AP_RW_RW   (0x1UL << 6)

Definition at line 64 of file AArch64Mmu.h.

◆ TT_ATTR_INDX_DEVICE_MEMORY

#define TT_ATTR_INDX_DEVICE_MEMORY   (0x0 << 2)

Definition at line 57 of file AArch64Mmu.h.

◆ TT_ATTR_INDX_MASK

#define TT_ATTR_INDX_MASK   (0x7 << 2)

Definition at line 56 of file AArch64Mmu.h.

◆ TT_ATTR_INDX_MEMORY_NON_CACHEABLE

#define TT_ATTR_INDX_MEMORY_NON_CACHEABLE   (0x1 << 2)

Definition at line 58 of file AArch64Mmu.h.

◆ TT_ATTR_INDX_MEMORY_WRITE_BACK

#define TT_ATTR_INDX_MEMORY_WRITE_BACK   (0x3 << 2)

Definition at line 60 of file AArch64Mmu.h.

◆ TT_ATTR_INDX_MEMORY_WRITE_THROUGH

#define TT_ATTR_INDX_MEMORY_WRITE_THROUGH   (0x2 << 2)

Definition at line 59 of file AArch64Mmu.h.

◆ TT_ATTRIBUTES_MASK

#define TT_ATTRIBUTES_MASK   ((0xFFFULL << 52) | (0x3FFULL << 2))

Definition at line 80 of file AArch64Mmu.h.

◆ TT_BLOCK_ENTRY_SIZE_AT_LEVEL

#define TT_BLOCK_ENTRY_SIZE_AT_LEVEL (   Level)    (1ULL << TT_ADDRESS_OFFSET_AT_LEVEL(Level))

Definition at line 30 of file AArch64Mmu.h.

◆ TT_ENTRY_COUNT

#define TT_ENTRY_COUNT   512

Definition at line 44 of file AArch64Mmu.h.

◆ TT_GET_ENTRY_FOR_ADDRESS

#define TT_GET_ENTRY_FOR_ADDRESS (   TranslationTable,
  Level,
  Address 
)     ((UINTN)(TranslationTable) + ((((UINTN)(Address) >> TT_ADDRESS_OFFSET_AT_LEVEL(Level)) & (BIT9-1)) * sizeof(UINT64)))

Definition at line 33 of file AArch64Mmu.h.

◆ TT_LAST_BLOCK_ADDRESS

#define TT_LAST_BLOCK_ADDRESS (   TranslationTable,
  EntryCount 
)     ((UINT64*)((EFI_PHYSICAL_ADDRESS)(TranslationTable) + (((EntryCount) - 1) * sizeof(UINT64))))

Definition at line 40 of file AArch64Mmu.h.

◆ TT_NS

#define TT_NS   BIT5

Definition at line 68 of file AArch64Mmu.h.

◆ TT_PXN_MASK

#define TT_PXN_MASK   BIT53

Definition at line 76 of file AArch64Mmu.h.

◆ TT_SH_INNER_SHAREABLE

#define TT_SH_INNER_SHAREABLE   (0x3 << 8)

Definition at line 73 of file AArch64Mmu.h.

◆ TT_SH_MASK

#define TT_SH_MASK   (0x3 << 8)

Definition at line 74 of file AArch64Mmu.h.

◆ TT_SH_NON_SHAREABLE

#define TT_SH_NON_SHAREABLE   (0x0 << 8)

Definition at line 71 of file AArch64Mmu.h.

◆ TT_SH_OUTER_SHAREABLE

#define TT_SH_OUTER_SHAREABLE   (0x2 << 8)

Definition at line 72 of file AArch64Mmu.h.

◆ TT_TABLE_AP_EL0_NO_ACCESS

#define TT_TABLE_AP_EL0_NO_ACCESS   (0x1ULL << 61)

Definition at line 89 of file AArch64Mmu.h.

◆ TT_TABLE_AP_MASK

#define TT_TABLE_AP_MASK   (BIT62 | BIT61)

Definition at line 87 of file AArch64Mmu.h.

◆ TT_TABLE_AP_NO_PERMISSION

#define TT_TABLE_AP_NO_PERMISSION   (0x0ULL << 61)

Definition at line 88 of file AArch64Mmu.h.

◆ TT_TABLE_AP_NO_WRITE_ACCESS

#define TT_TABLE_AP_NO_WRITE_ACCESS   (0x2ULL << 61)

Definition at line 90 of file AArch64Mmu.h.

◆ TT_TABLE_NS

#define TT_TABLE_NS   BIT63

Definition at line 85 of file AArch64Mmu.h.

◆ TT_TABLE_PXN

#define TT_TABLE_PXN   BIT59

Definition at line 82 of file AArch64Mmu.h.

◆ TT_TABLE_UXN

#define TT_TABLE_UXN   BIT60

Definition at line 83 of file AArch64Mmu.h.

◆ TT_TABLE_XN

#define TT_TABLE_XN   BIT60

Definition at line 84 of file AArch64Mmu.h.

◆ TT_TYPE_BLOCK_ENTRY

#define TT_TYPE_BLOCK_ENTRY   0x1

Definition at line 53 of file AArch64Mmu.h.

◆ TT_TYPE_BLOCK_ENTRY_LEVEL3

#define TT_TYPE_BLOCK_ENTRY_LEVEL3   0x3

Definition at line 54 of file AArch64Mmu.h.

◆ TT_TYPE_MASK

#define TT_TYPE_MASK   0x3

Definition at line 51 of file AArch64Mmu.h.

◆ TT_TYPE_TABLE_ENTRY

#define TT_TYPE_TABLE_ENTRY   0x3

Definition at line 52 of file AArch64Mmu.h.

◆ TT_UXN_MASK

#define TT_UXN_MASK   BIT54

Definition at line 77 of file AArch64Mmu.h.

◆ TT_XN_MASK

#define TT_XN_MASK   BIT54

Definition at line 78 of file AArch64Mmu.h.

◆ TTBR_ASID_FIELD

#define TTBR_ASID_FIELD   (48)

Definition at line 116 of file AArch64Mmu.h.

◆ TTBR_ASID_MASK

#define TTBR_ASID_MASK   (0xFF << TTBR_ASID_FIELD)

Definition at line 117 of file AArch64Mmu.h.

◆ TTBR_BADDR_MASK

#define TTBR_BADDR_MASK   (0xFFFFFFFFFFFF )

Definition at line 118 of file AArch64Mmu.h.