]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix alignment requirement when Load IPF TeImage into memory.
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 22 Oct 2007 10:41:03 +0000 (10:41 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 22 Oct 2007 10:41:03 +0000 (10:41 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4197 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
MdeModulePkg/Core/Pei/Image/Image.c

index 84b8eb2abd03948360d9b7ca1c48b540b9538f42..e62142f24c4845c42bf422ee2fa29e8f33f3ed05 100644 (file)
@@ -482,6 +482,15 @@ PeiLoadFile (
   ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN) AllocatePages (EFI_SIZE_TO_PAGES ((UINT32) ImageContext.ImageSize));\r
   ASSERT (ImageContext.ImageAddress != 0);\r
 \r
+  //\r
+  // Skip the reserved space for the stripped PeHeader when load TeImage into memory.\r
+  //\r
+  if (ImageContext.IsTeImage) {\r
+    ImageContext.ImageAddress = ImageContext.ImageAddress + \r
+                                ((EFI_TE_IMAGE_HEADER *) Pe32Data)->StrippedSize -\r
+                                sizeof (EFI_TE_IMAGE_HEADER);\r
+  }\r
+\r
   //\r
   // Load the image to our new buffer\r
   //\r
index c13a869d2c62648abe80d5ea6586d95e7034d781..c9805f53113f25b198dc5afd7b5d3646b91e5a34 100644 (file)
@@ -242,6 +242,15 @@ Returns:
   //\r
   ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN) AllocatePages (EFI_SIZE_TO_PAGES ((UINT32) ImageContext.ImageSize));\r
   ASSERT (ImageContext.ImageAddress != 0);\r
+  \r
+  //\r
+  // Skip the reserved space for the stripped PeHeader when load TeImage into memory.\r
+  //\r
+  if (ImageContext.IsTeImage) {\r
+    ImageContext.ImageAddress = ImageContext.ImageAddress + \r
+                                ((EFI_TE_IMAGE_HEADER *) Pe32Data)->StrippedSize -\r
+                                sizeof (EFI_TE_IMAGE_HEADER);\r
+  }\r
 \r
   //\r
   // Load the image to our new buffer\r