return EFI_OUT_OF_RESOURCES;\r
}\r
\r
+ if (!ArmMmuEnabled ()) {\r
+ //\r
+ // Make sure we are not inadvertently hitting in the caches\r
+ // when populating the page tables.\r
+ //\r
+ InvalidateDataCacheRange (TranslationTable, EFI_PAGE_SIZE);\r
+ }\r
+\r
if ((*Entry & TT_TYPE_MASK) == TT_TYPE_BLOCK_ENTRY) {\r
//\r
// We are splitting an existing block entry, so we have to populate\r
*TranslationTableSize = RootTableEntryCount * sizeof(UINT64);\r
}\r
\r
+ //\r
+ // Make sure we are not inadvertently hitting in the caches\r
+ // when populating the page tables.\r
+ //\r
+ InvalidateDataCacheRange (TranslationTable,\r
+ RootTableEntryCount * sizeof(UINT64));\r
ZeroMem (TranslationTable, RootTableEntryCount * sizeof(UINT64));\r
\r
TranslationTableAttribute = TT_ATTR_INDX_INVALID;\r