]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg/dh: Modify the dump of LoadedImage protocol
authorHuajing Li <huajing.li@intel.com>
Thu, 21 Sep 2017 07:04:37 +0000 (15:04 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Mon, 25 Sep 2017 00:32:17 +0000 (08:32 +0800)
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Huajing Li <huajing.li@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.h
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni

index 1f2ca92bddbe6bd6420c9af1df80208d77343e2a..b9eb564dd0d39f85b3c530ead3293f300f3c2169 100644 (file)
@@ -232,14 +232,11 @@ LoadedImageProtocolDumpInformation(
   CHAR16                            *RetVal;\r
   CHAR16                            *Temp;\r
   CHAR16                            *FileName;\r
+  CHAR8                             *PdbFileName;\r
   CHAR16                            *FilePath;\r
   CHAR16                            *CodeType;\r
   CHAR16                            *DataType;\r
 \r
-  if (!Verbose) {\r
-    return (CatSPrint(NULL, L"LoadedImage"));\r
-  }\r
-\r
   Status = gBS->OpenProtocol (\r
                 TheHandle,\r
                 &gEfiLoadedImageProtocolGuid,\r
@@ -253,10 +250,20 @@ LoadedImageProtocolDumpInformation(
     return NULL;\r
   }\r
 \r
-  HandleParsingHiiInit();\r
-\r
   FileName = FindLoadedImageFileName(LoadedImage);\r
+  FilePath = ConvertDevicePathToText(LoadedImage->FilePath, TRUE, TRUE);\r
+  if (!Verbose) {\r
+    if (FileName == NULL) {\r
+      FileName = FilePath;\r
+    } else {\r
+      SHELL_FREE_NON_NULL(FilePath);\r
+    }\r
+    RetVal = CatSPrint(NULL, FileName);\r
+    SHELL_FREE_NON_NULL(FileName);\r
+    return RetVal;\r
+  }\r
 \r
+  HandleParsingHiiInit();\r
   RetVal = NULL;\r
   if (FileName != NULL) {\r
     Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_LI_DUMP_NAME), NULL);\r
@@ -273,9 +280,7 @@ LoadedImageProtocolDumpInformation(
   if (Temp == NULL) {\r
     return NULL;\r
   }\r
-\r
-  FilePath = ConvertDevicePathToText(LoadedImage->FilePath, TRUE, TRUE);\r
-\r
+  PdbFileName = PeCoffLoaderGetPdbPointer (LoadedImage->ImageBase);\r
   DataType = ConvertMemoryType(LoadedImage->ImageDataType);\r
   CodeType = ConvertMemoryType(LoadedImage->ImageCodeType);\r
 \r
@@ -287,6 +292,7 @@ LoadedImageProtocolDumpInformation(
              LoadedImage->SystemTable,\r
              LoadedImage->DeviceHandle,\r
              FilePath,\r
+             PdbFileName,\r
              LoadedImage->LoadOptionsSize,\r
              LoadedImage->LoadOptions,\r
              LoadedImage->ImageBase,\r
index ada2b4aa38da4916cc2a8a9d60fe979e13760a2e..cf849658aa1870c956759b942d98d5041269636d 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Provides interface to advanced shell functionality for parsing both handle and protocol database.\r
 \r
-  Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>\r
   (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
   (C) Copyright 2013-2016 Hewlett-Packard Development Company, L.P.<BR>\r
   This program and the accompanying materials\r
 #include <Library/ShellLib.h>\r
 #include <Library/SortLib.h>\r
 #include <Library/ShellCommandLib.h>\r
+#include <Library/PeCoffGetEntryPointLib.h>\r
 \r
 #define   EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V1   1\r
 #define   EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V2   2\r
index 3bd4dbe4231fa9f36bb4119cbd5b98bdf162736e..4c1c3d38469297d3c73fc762a129185a15e86509 100644 (file)
@@ -1,6 +1,6 @@
 ##  @file\r
 #  Provides interface to advanced shell functionality for parsing both handle and protocol database.\r
-#  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved. <BR>\r
+#  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. <BR>\r
 #  (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>\r
 #  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
 #\r
@@ -50,6 +50,7 @@
   UefiLib\r
   HiiLib\r
   SortLib\r
+  PeCoffGetEntryPointLib\r
 \r
 [Protocols]\r
   gEfiSimpleFileSystemProtocolGuid                        ## SOMETIMES_CONSUMES\r
index e07c9a16703b3d5c2a773632b054dbb07e8b7d50..8541399b687c728bae2f3beb133ba92967e671b2 100644 (file)
                                                   "     SystemTable...: %%H%x%%N\r\n"\r
                                                   "     DeviceHandle..: %%H%x%%N\r\n"\r
                                                   "     FilePath......: %%H%s%%N\r\n"\r
+                                                  "     PdbFileName...: %%H%a%%N\r\n"\r
                                                   "     OptionsSize...: %%H%x%%N\r\n"\r
                                                   "     LoadOptions...: %%H%x%%N\r\n"\r
                                                   "     ImageBase.....: %%H%x%%N\r\n"\r
                                                   "     ImageSize.....: %%H%Lx%%N\r\n"\r
                                                   "     CodeType......: %%H%s%%N\r\n"\r
                                                   "     DataType......: %%H%s%%N\r\n"\r
-                                                  "     Unload........: %%H%x%%N\r\n"\r
+                                                  "     Unload........: %%H%x%%N"\r
 \r
 #string STR_GOP_DUMP_MAIN         #language en-US "     Max Mode............: %%H0x%08x%%N\r\n"\r
                                                   "     Current Mode........: %%H0x%08x%%N\r\n"\r