audk/ArmPlatformPkg/ArmVirtualizationPkg
Ard Biesheuvel c9e5618f84 ArmVirtualizationPkg: Xen: shuffle init order to deal with incoherency
In order to prevent memory corruption issues caused by the fact that,
under virtualization, the guest is incoherent with the hypervisor's view
of memory until it enables its caches and MMU, this patch reshuffles the
init sequence so that the Xen shared memory regions are not touched
before the caches and MMU are enabled.

In addition, the loaded image itself is invalidated by virtual address,
to ensure that any runtime changes (such as the applied relocations) will
not suddenly become invisible once we turn the caches on.

Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Olivier Martin <Olivier.Martin@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17178 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-14 11:56:56 +00:00
..
Include ArmPlatformPkg/ArmVirtualizationPkg: introduce gEarlyPL011BaseAddressGuid 2014-09-18 18:06:22 +00:00
Library ArmVirtualizationPkg: invalidate PEI memory region by VA 2015-04-14 11:55:42 +00:00
PciHostBridgeDxe ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe: Removed unreachable statement 2015-04-01 11:20:05 +00:00
PrePi ArmVirtualizationPkg: Xen: shuffle init order to deal with incoherency 2015-04-14 11:56:56 +00:00
VirtFdtDxe ArmVirtualizationPkg/VirtFdtDxe: wire up XenBusDxe to "xen,xen" DT node 2015-02-28 20:34:26 +00:00
ArmVirtualization.dsc.inc ArmVirtualizationPkg: make ArmVirtualizationMemoryInitPeiLib the default 2015-04-14 11:51:38 +00:00
ArmVirtualizationPkg.dec ArmVirtualizationPkg: add padding to FDT allocation 2015-02-28 20:26:10 +00:00
ArmVirtualizationQemu.dsc ArmPlatformPkg: Use LzmaDecompress support from MdeModulePkg 2015-04-08 19:58:50 +00:00
ArmVirtualizationQemu.fdf ArmVirtualizationPkg/ArmVirtualizationQemu: include XHCI driver 2015-03-16 19:57:06 +00:00
ArmVirtualizationXen.dsc ArmVirtualizationPkg: make ArmVirtualizationMemoryInitPeiLib the default 2015-04-14 11:51:38 +00:00
ArmVirtualizationXen.fdf ArmVirtualizationPkg: build UEFI shell from source 2015-03-16 19:56:54 +00:00