From cce992aca25a7010da9bf5e2b189ab38002560fd Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Mon, 14 Oct 2013 16:24:37 +0000 Subject: [PATCH] OvmfPkg/PlatformPei: correctly align emulated NV storage Per 2c4b18e ("MdeModulePkg: Add the alignment check for FTW spare area address and length, and add the check for PcdFlashNvStorageVariableSize <= PcdFlashNvStorageFtwSpareSize."), FTWDxe refuses to initialize if spare space base address or size is not aligned to block size. Depending on configuration, memory for FTWDxe might be dynamically allocated in PlatformPei. This patch makes sure that the allocated memory region is aligned. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wei Liu Reviewed-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14770 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/PlatformPei/Platform.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c index e7486b7b73..1d9e93ff46 100644 --- a/OvmfPkg/PlatformPei/Platform.c +++ b/OvmfPkg/PlatformPei/Platform.c @@ -287,8 +287,9 @@ ReserveEmuVariableNvStore ( // VariableStore = (EFI_PHYSICAL_ADDRESS)(UINTN) - AllocateRuntimePool ( - 2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize) + AllocateAlignedPages ( + EFI_SIZE_TO_PAGES (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize)), + PcdGet32 (PcdFlashNvStorageFtwSpareSize) ); DEBUG ((EFI_D_INFO, "Reserved variable store memory: 0x%lX; size: %dkb\n", -- 2.39.2