audk/ArmPkg/Library
Ard Biesheuvel 713aea3486 ArmPkg/ArmMmuLib ARM: remove cache maintenance of block mapping contents
Peculiarly enough, the current page table manipulation code takes it
upon itself to write back and invalidate the memory contents covered
by page and section mappings when their memory attributes change. It
is not generally the case that data must be written back when such a
change occurs, even when switching from cacheable to non-cacheable
attributes, and in some cases, it is actually causing problems. (The
cache maintenance is also performed on the PCIe MMIO regions as they
get mapped by the PCI bus driver, and under virtualization, each
cache maintenance operation on an emulated MMIO region triggers a
round trip to the host and back)

So let's just drop this code.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-06-21 16:09:22 +02:00
..
ArmArchTimerLib ArmPkg/ArmArchTimerLib: correct typos 2016-04-01 17:19:24 +02:00
ArmCacheMaintenanceLib ArmPkg/ArmLib: don't invalidate entire I-cache on range operation 2016-05-12 13:53:08 +02:00
ArmDisassemblerLib ArmPkg/ArmDisassemblerLib: fix check for MSR instruction 2018-06-07 09:09:07 +02:00
ArmExceptionLib ArmPkg/ArmExceptionLib: Add implementation of new API 2017-12-08 14:38:49 +08:00
ArmGenericTimerPhyCounterLib ArmPkg: add reenable hook to ArmGenericTimerCounterLib 2018-04-26 08:31:12 +02:00
ArmGenericTimerVirtCounterLib ArmPkg: add reenable hook to ArmGenericTimerCounterLib 2018-04-26 08:31:12 +02:00
ArmGicArchLib ArmPkg: cache detected revision in ArmGicArchLib 2015-07-28 20:45:10 +00:00
ArmGicArchSecLib ArmPkg: copy ArmGicArchLib to ArmGicArchSecLib 2015-07-28 20:44:58 +00:00
ArmHvcLib ArmPkg: move RVCT PLATFORM_FLAGS override into ArmHvcLib/ArmSmcLib 2017-11-16 16:02:23 +00:00
ArmLib ArmPkg/Library/ArmLib: add ArmWriteSctlr 2018-01-15 12:02:25 +00:00
ArmMmuLib ArmPkg/ArmMmuLib ARM: remove cache maintenance of block mapping contents 2018-06-21 16:09:22 +02:00
ArmMtlNullLib ArmPkg: MTL Library interface and Null library implementation 2018-04-23 12:12:23 +01:00
ArmPsciResetSystemLib Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg 2015-05-29 13:50:43 +00:00
ArmSmcLib ArmPkg: move RVCT PLATFORM_FLAGS override into ArmHvcLib/ArmSmcLib 2017-11-16 16:02:23 +00:00
ArmSmcLibNull ArmPkg/ArmSmcLibNull: move to generic C implementation 2016-08-11 12:29:31 +02:00
ArmSmcPsciResetSystemLib ArmPkg/ArmSmcPsciResetSystemLib: implement fallback for warm reboot 2018-06-15 18:18:37 +02:00
ArmSoftFloatLib ArmPkg/ArmSoftFloatLib: disable LTO build for GCC 2016-08-05 16:32:35 +02:00
ArmSvcLib ArmPkg/ArmSvcLib: Add ArmSvcLib implementation. 2017-10-06 22:35:41 +01:00
CompilerIntrinsicsLib ArmPkg/CompilerIntrinsicsLib: fix GCC8 warning for __aeabi_memcpy aliases 2018-06-11 11:41:36 +02:00
DebugAgentSymbolsBaseLib ArmPkg: Fix typos in comments 2016-10-19 16:31:22 +01:00
DebugPeCoffExtraActionLib ArmPkg: Rectify file modes 2016-01-30 12:25:59 +00:00
DefaultExceptionHandlerLib ArmPkg/DefaultExceptionHandlerLib: walk call stack unconditionally 2017-03-22 15:48:01 +00:00
GccLto ArmPkg: add prebuilt glue binaries for GCC5 LTO support 2016-08-02 10:53:57 +02:00
PeiServicesTablePointerLib ArmPkg/PeiServicesTablePointerLib: add missing MigratePeiServicesTablePointer() 2015-11-25 20:06:41 +00:00
PlatformBootManagerLib ArmPkg/PlatformBootManagerLib: call ProcessCapsules() only once 2018-06-15 18:18:35 +02:00
RvdPeCoffExtraActionLib ArmPkg/Semihostlib: Rename semi-hosting open option 2014-10-27 10:37:20 +00:00
SemiHostingDebugLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
SemiHostingSerialPortLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
SemihostLib ArmPkg/SemihostLib: switch to ASM_FUNC() asm macro 2016-08-11 12:40:52 +02:00