Hi Liming,

Because of new added "+  DEBUG ((DEBUG_INFO, "Loading PEIM %g\n", 
FileHandle));", the debug message will have two "Loading PEIM XXX" for one 
PEIM, that is very confusing.
Loading PEIM 9B3ADA4F-AE56-4C24-8DEA-F03B7558AE50
Loading PEIM at 0x00002353000 EntryPoint=0x000003C10C5 PcdPeim.efi

How about like below change?
1. Also print FFS GUID when section alignment error.
2. Print FFS GUID when PDB not found.


fb0030045fe4ae561177d9cff01f32088ae9975e
 MdeModulePkg/Core/Pei/Image/Image.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Core/Pei/Image/Image.c 
b/MdeModulePkg/Core/Pei/Image/Image.c
index 198541128512..179c77ef2194 100644
--- a/MdeModulePkg/Core/Pei/Image/Image.c
+++ b/MdeModulePkg/Core/Pei/Image/Image.c
@@ -1,7 +1,7 @@
 /** @file
   Pei Core Load Image Support
 
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
 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
@@ -506,6 +506,9 @@ LoadAndRelocatePeCoffImage (
   //
   Status = PeCoffLoaderLoadImage (&ImageContext);
   if (EFI_ERROR (Status)) {
+    if (ImageContext.ImageError == IMAGE_ERROR_INVALID_SECTION_ALIGNMENT) {
+      DEBUG ((DEBUG_ERROR, "PEIM(%g) Image Address 0x%11p doesn't meet with 
section alignment 0x%x.\n", FileHandle, 
(VOID*)(UINTN)ImageContext.ImageAddress, ImageContext.SectionAlignment));
+    }
     return Status;
   }
   //
@@ -707,6 +710,11 @@ PeiLoadImageLoadImage (
       }
 
       DEBUG ((EFI_D_INFO | EFI_D_LOAD, "%a", EfiFileName));
+    } else {
+      //
+      // Print FFS GUID when PDB not found.
+      //
+      DEBUG ((EFI_D_INFO | EFI_D_LOAD, "%g", FileHandle));
     }
 
   DEBUG_CODE_END ();


Thanks,
Star
-----Original Message-----
From: Gao, Liming 
Sent: Thursday, February 8, 2018 4:19 PM
To: [email protected]
Cc: Zeng, Star <[email protected]>
Subject: [Patch] MdeModulePkg PeiCore: Add error message to describe PEIM load 
failure

If PEIM image address doesn't meet with its section alignment, it will load 
fail. PeiCore adds more debug message to report it.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <[email protected]>
Cc: Star Zeng <[email protected]>
---
 MdeModulePkg/Core/Pei/Image/Image.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Core/Pei/Image/Image.c 
b/MdeModulePkg/Core/Pei/Image/Image.c
index 1985411..f41d3ac 100644
--- a/MdeModulePkg/Core/Pei/Image/Image.c
+++ b/MdeModulePkg/Core/Pei/Image/Image.c
@@ -1,7 +1,7 @@
 /** @file
   Pei Core Load Image Support
 
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials  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 @@ -506,6 +506,9 @@ 
LoadAndRelocatePeCoffImage (
   //
   Status = PeCoffLoaderLoadImage (&ImageContext);
   if (EFI_ERROR (Status)) {
+    if (ImageContext.ImageError == IMAGE_ERROR_INVALID_SECTION_ALIGNMENT) {
+      DEBUG ((DEBUG_ERROR, "PEIM Image Address 0x%11p doesn't meet with 
section alignment 0x%x.\n", (VOID*)(UINTN)ImageContext.ImageAddress, 
ImageContext.SectionAlignment));
+    }
     return Status;
   }
   //
@@ -612,6 +615,8 @@ PeiLoadImageLoadImage (
     }
   }
 
+  DEBUG ((DEBUG_INFO, "Loading PEIM %g\n", FileHandle));
+
   //
   // If memory is installed, perform the shadow operations
   //
--
2.8.0.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to