]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg/PlatformPei: emulated NV storage must be EfiRuntimeServicesData
authorLaszlo Ersek <lersek@redhat.com>
Tue, 29 Oct 2013 06:02:46 +0000 (06:02 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Oct 2013 06:02:46 +0000 (06:02 +0000)
commit9edb2933ab86016c724d63461e0ba866511d991a
treecad234294e22e9c4df21a91e76458a904ae0691a
parent2f34e065a3e649550fcb0dc89786cb26197510dd
OvmfPkg/PlatformPei: emulated NV storage must be EfiRuntimeServicesData

SVN r14770 ("OvmfPkg/PlatformPei: correctly align emulated NV storage")
made sure the emulated NV storage was allocated with correct alignment.

However, the AllocateRuntimePool() -> AllocateAlignedPages() change
flipped the memory type from EfiRuntimeServicesData to
EfiBootServicesData. This causes variable services to access freed storage
at runtime. It crashes Windows 2008 R2 early at boot, for example.

Keep the alignment, but restore the memory type to EfiRuntimeServicesData,
by calling AllocateAlignedRuntimePages().

These helper functions are implemeted and documented in
"MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c".

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14806 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/PlatformPei/Platform.c