audk/ArmPkg/Library/ArmMmuLib
Ard Biesheuvel 35718840ef ArmPkg/ArmMmuLib: support page tables in cacheable memory only
Translation table walks are always cache coherent on ARMv8-A, so cache
maintenance on page tables is never needed. Since there is a risk of
loss of coherency when using mismatched attributes, and given that memory
is mapped cacheable except for extraordinary cases (such as non-coherent
DMA), restrict the page table walker to performing cacheable accesses to
the translation tables.

For DEBUG builds, retain some of the logic so that we can double check
that the memory holding the root translation table is indeed located in
memory that is mapped cacheable.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-11-30 16:12:20 +00:00
..
AArch64 ArmPkg/ArmMmuLib: support page tables in cacheable memory only 2016-11-30 16:12:20 +00:00
Arm ArmPkg: introduce base ArmMmuLib implementation 2016-07-07 14:33:47 +02:00
ArmMmuBaseLib.inf ArmPkg/ArmMmuLib: base page table VA size on GCD memory map size 2016-09-13 13:43:34 +01:00
ArmMmuPeiLib.inf ArmPkg/ArmMmuLib: base page table VA size on GCD memory map size 2016-09-13 13:43:34 +01:00