)\r
{\r
VOID* TranslationTable;\r
- UINT32 TranslationTableAttribute;\r
UINT64 MaxAddress;\r
UINTN T0SZ;\r
UINTN RootTableEntryCount;\r
RootTableEntryCount * sizeof(UINT64));\r
ZeroMem (TranslationTable, RootTableEntryCount * sizeof(UINT64));\r
\r
- TranslationTableAttribute = TT_ATTR_INDX_INVALID;\r
while (MemoryTable->Length != 0) {\r
-\r
- DEBUG_CODE_BEGIN ();\r
- // Find the memory attribute for the Translation Table\r
- if ((UINTN)TranslationTable >= MemoryTable->PhysicalBase &&\r
- (UINTN)TranslationTable + EFI_PAGE_SIZE <= MemoryTable->PhysicalBase +\r
- MemoryTable->Length) {\r
- TranslationTableAttribute = MemoryTable->Attributes;\r
- }\r
- DEBUG_CODE_END ();\r
-\r
Status = FillTranslationTable (TranslationTable, MemoryTable);\r
if (EFI_ERROR (Status)) {\r
goto FREE_TRANSLATION_TABLE;\r
MemoryTable++;\r
}\r
\r
- ASSERT (TranslationTableAttribute == ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK ||\r
- TranslationTableAttribute == ARM_MEMORY_REGION_ATTRIBUTE_NONSECURE_WRITE_BACK);\r
-\r
ArmSetMAIR (MAIR_ATTR(TT_ATTR_INDX_DEVICE_MEMORY, MAIR_ATTR_DEVICE_MEMORY) | // mapped to EFI_MEMORY_UC\r
MAIR_ATTR(TT_ATTR_INDX_MEMORY_NON_CACHEABLE, MAIR_ATTR_NORMAL_MEMORY_NON_CACHEABLE) | // mapped to EFI_MEMORY_WC\r
MAIR_ATTR(TT_ATTR_INDX_MEMORY_WRITE_THROUGH, MAIR_ATTR_NORMAL_MEMORY_WRITE_THROUGH) | // mapped to EFI_MEMORY_WT\r