audk/OvmfPkg/PlatformPei
Laszlo Ersek 0c79471d6a OvmfPkg/PlatformPei: handle non-power-of-two spare size for emu variables
In commit b24fca0575 ("OvmfPkg: introduce 4MB flash image (mainly) for
Windows HCK", 2017-04-29), I changed PcdFlashNvStorageFtwSpareSize to
264KB, in the then-new default 4MB build.

While PcdFlashNvStorageFtwSpareSize remains exactly half of the entire
non-volatile store (which is 528KB), 264KB isn't itself a power of two.
This triggers an assertion failure in AllocateAlignedRuntimePages() when
PlatformPei calls it from the ReserveEmuVariableNvStore() function,
passing PcdFlashNvStorageFtwSpareSize as the Alignment parameter:

> ASSERT MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c(196):
> (Alignment & (Alignment - 1)) == 0

Round up the alignment to the next power of two if necessary.

Fixes: b24fca0575
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2017-05-05 18:02:12 +02:00
..
Cmos.c Update the copyright notice format 2010-04-28 12:43:04 +00:00
Cmos.h Update the copyright notice format 2010-04-28 12:43:04 +00:00
FeatureControl.c OvmfPkg/PlatformPei: program MSR_IA32_FEATURE_CONTROL from fw_cfg 2016-07-15 07:38:56 +02:00
Fv.c OvmfPkg: decompress FVs on S3 resume if SMM_REQUIRE is set 2015-11-30 18:41:24 +00:00
MemDetect.c OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
Platform.c OvmfPkg/PlatformPei: handle non-power-of-two spare size for emu variables 2017-05-05 18:02:12 +02:00
Platform.h OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
PlatformPei.inf ArmVirtPkg, OvmfPkg: retire QemuFwCfgS3Enabled() from QemuFwCfgLib 2017-03-14 21:49:16 +01:00
Xen.c OvmfPkg/PlatformPei: eliminate unchecked PcdSetXX() calls 2016-10-25 10:46:22 +02:00
Xen.h OvmfPkg: define EFI_XEN_OVMF_INFO 2013-12-08 01:35:52 +00:00