audk/ArmVirtPkg/Library
Ard Biesheuvel f2509d6d3e ArmVirtPkg: restrict mapping attributes of normal memory to EFI_MEMORY_WB
In general, on an ARM system, mapping normal memory as device memory may
have unintended side effects, given that unaligned accesses or loads and
stores with special semantics (e.g., load/store exclusive) may fault or
may not work as expected.

Under KVM, the situation is even worse, since the host may not expect the
guest to perform uncached accesses, and so writes to such an uncached
region may get lost completely.

Since the only safe mapping type under KVM is EFI_MEMORY_WB, remove all
other memory type attributes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2016-09-08 10:35:22 +01:00
..
ArmQemuRelocatablePlatformLib ArmVirtPkg: clean up assembly source files 2016-08-11 12:29:31 +02:00
ArmVirtDxeHobLib
ArmVirtGicArchLib ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up 2016-09-08 09:16:01 +01:00
ArmVirtMemoryInitPeiLib ArmVirtPkg: restrict mapping attributes of normal memory to EFI_MEMORY_WB 2016-09-08 10:35:22 +01:00
ArmVirtPL031FdtClientLib ArmVirtPkg: implement ArmVirtPL031FdtClientLib 2016-04-13 16:55:24 +02:00
ArmVirtPlatformLib ArmVirtPkg: clean up assembly source files 2016-08-11 12:29:31 +02:00
ArmVirtPsciResetSystemLib ArmVirtPkg/ArmVirtPsciResetSystemLib: move to FDT client protocol 2016-04-11 18:12:21 +02:00
ArmVirtTimerFdtClientLib ArmVirtPkg: implement ArmVirtTimerFdtClientLib 2016-04-11 18:12:22 +02:00
ArmXenRelocatablePlatformLib ArmVirtPkg: clean up assembly source files 2016-08-11 12:29:31 +02:00
BaseCachingPciExpressLib ArmVirtPkg/BaseCachingPciExpressLib: depend on PciPcdProducerLib 2016-04-12 16:57:20 +02:00
FdtPL011SerialPortLib ArmVirtPkg/FdtPL011SerialPortLib: Set the PL011 UART clock rate 2016-06-15 16:16:43 +02:00
FdtPciHostBridgeLib ArmVirtPkg/FdtPciHostBridgeLib: enable 64-bit PCI DMA 2016-09-06 15:46:53 +01:00
FdtPciPcdProducerLib ArmVirtPkg/FdtPciPcdProducerLib: zero init local var to please GCC 4.8 2016-09-05 12:42:46 +01:00
NorFlashQemuLib
PlatformBootManagerLib ArmVirtPkg/PlatformBootManagerLib: remove stale FvFile boot options 2016-07-13 22:44:34 +02:00
PlatformPeiLib
QemuFwCfgLib ArmVirtPkg/QemuFwCfgLib: move to FDT client protocol 2016-04-12 11:07:35 +02:00
XenRealTimeClockLib