EdkCompatibilityPkg: Use ImageContext.ImageSize to allocate memory for PE image
to handle the case PE file alignment is not same as PE section alignment. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17064 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
32a81741db
commit
c4b90c071d
@ -2,7 +2,7 @@
|
|||||||
Implementation for S3 Boot Script Save thunk driver.
|
Implementation for S3 Boot Script Save thunk driver.
|
||||||
This thunk driver consumes PI S3SaveState protocol to produce framework S3BootScriptSave Protocol
|
This thunk driver consumes PI S3SaveState protocol to produce framework S3BootScriptSave Protocol
|
||||||
|
|
||||||
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -899,7 +899,11 @@ InitializeScriptSaveOnS3SaveState (
|
|||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
MemoryAddress = SIZE_4GB - 1;
|
MemoryAddress = SIZE_4GB - 1;
|
||||||
PageNumber = EFI_SIZE_TO_PAGES (BufferSize + ImageContext.SectionAlignment);
|
if (ImageContext.SectionAlignment > EFI_PAGE_SIZE) {
|
||||||
|
PageNumber = EFI_SIZE_TO_PAGES (ImageContext.ImageSize + ImageContext.SectionAlignment);
|
||||||
|
} else {
|
||||||
|
PageNumber = EFI_SIZE_TO_PAGES (ImageContext.ImageSize);
|
||||||
|
}
|
||||||
Status = gBS->AllocatePages (
|
Status = gBS->AllocatePages (
|
||||||
AllocateMaxAddress,
|
AllocateMaxAddress,
|
||||||
EfiReservedMemoryType,
|
EfiReservedMemoryType,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user