audk/ArmPlatformPkg
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
..
ArmJunoPkg ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file 2015-04-14 11:52:55 +00:00
ArmRealViewEbPkg ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file 2015-04-14 11:52:55 +00:00
ArmVExpressPkg ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file 2015-04-14 11:52:55 +00:00
ArmVirtualizationPkg ArmVirtualizationPkg: Xen: shuffle init order to deal with incoherency 2015-04-14 11:56:56 +00:00
Bds ArmPlatformPkg: fix two instances of FreePool () on NULL value 2015-03-27 17:27:24 +00:00
Documentation ArmPlatformPkg/Bds: Remove any use of the "Fdt" UEFI variable 2015-02-26 11:02:39 +00:00
Drivers ArmPlatformPkg: detect correct pl011 fifo depth 2015-01-23 16:10:00 +00:00
FileSystem/BootMonFs ArmPlatformPkg: Fixed builds after some ShellPkg libraries have moved 2015-01-13 18:58:00 +00:00
Include ArmPlatformPkg/ArmJunoPkg : Use FdtPlatformDxe driver to install the FDT 2015-02-26 10:56:20 +00:00
Library ArmPlatformPkg: fix two instances of FreePool () on NULL value 2015-03-27 17:27:24 +00:00
MemoryInitPei ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file 2015-04-14 11:52:55 +00:00
PlatformPei ArmPlatformPkg: PEIM startup is not an error 2015-03-02 16:19:32 +00:00
PrePeiCore ArmPlatformPkg: Increase more ARM address Pcd entries to 64-bit. 2014-11-11 00:43:03 +00:00
PrePi ArmPkg,ArmPlatformPkg: Allow dynamic PCDs for memory base and size 2014-09-09 16:11:30 +00:00
Scripts ArmPlatformPkg/Scripts: Update the profiling script to work on AArch64 with the latest DS-5 2014-08-19 13:36:00 +00:00
Sec ArmPlatformPkg: Increase more ARM address Pcd entries to 64-bit. 2014-11-11 00:43:03 +00:00
ArmPlatformPkg-2ndstage.dsc ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file 2015-04-14 11:52:55 +00:00
ArmPlatformPkg-2ndstage.fdf ARM Packages: Removed malicious trailing spaces 2014-08-20 11:38:45 +00:00
ArmPlatformPkg.dec ArmPlatformPkg/Bds: Remove any use of the "Fdt" UEFI variable 2015-02-26 11:02:39 +00:00
ArmPlatformPkg.dsc ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file 2015-04-14 11:52:55 +00:00
ArmPlatformPkg.fdf ARM Packages: Removed malicious trailing spaces 2014-08-20 11:38:45 +00:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt EDK II Packages: Added License.txt files 2012-04-12 16:40:32 +00:00