]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/AArch64Mmu: remove cache maintenance for page tables
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 6 Oct 2015 12:51:07 +0000 (12:51 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Tue, 6 Oct 2015 12:51:07 +0000 (12:51 +0000)
All our page tables are allocated from memory whose cacheability
attributes are inherited by the cacheability bits in the MMU control
register, so there is no need for explicit cache maintenance after
updating the page tables. And even if there were, Set/Way operations
are not appropriate anyway for ensuring that these changes make it to
main memory. So just remove the explicit cache maintenance completely.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18570 6f19259b-4bc3-4df7-8a09-765794883524

ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c

index b2ab5aa7bbc2996a2db90006e483159bc57c332a..3765d61ccd487dc84fbb15ed7fccce58e36c8666 100644 (file)
@@ -493,12 +493,6 @@ SetMemoryAttributes (
     return Status;\r
   }\r
 \r
-  // Flush d-cache so descriptors make it back to uncached memory for subsequent table walks\r
-  // flush and invalidate pages\r
-  ArmCleanInvalidateDataCache ();\r
-\r
-  ArmInvalidateInstructionCache ();\r
-\r
   // Invalidate all TLB entries so changes are synced\r
   ArmInvalidateTlb ();\r
 \r