public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ruiyu Ni <ruiyu.ni@intel.com>
To: edk2-devel@lists.01.org
Cc: Huajing Li <huajing.li@intel.com>, Jaben Carsey <jaben.carsey@intel.com>
Subject: [PATCH 06/14] ShellPkg/dh: Modify the dump of LoadedImage protocol
Date: Fri, 22 Sep 2017 13:50:06 +0800	[thread overview]
Message-ID: <20170922055014.27288-7-ruiyu.ni@intel.com> (raw)
In-Reply-To: <20170922055014.27288-1-ruiyu.ni@intel.com>

From: Huajing Li <huajing.li@intel.com>

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>
---
 .../UefiHandleParsingLib/UefiHandleParsingLib.c    | 24 ++++++++++++++--------
 .../UefiHandleParsingLib/UefiHandleParsingLib.h    |  3 ++-
 .../UefiHandleParsingLib/UefiHandleParsingLib.inf  |  3 ++-
 .../UefiHandleParsingLib/UefiHandleParsingLib.uni  |  3 ++-
 4 files changed, 21 insertions(+), 12 deletions(-)

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



  parent reply	other threads:[~2017-09-22  5:47 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-22  5:50 [PATCH 00/14] Refine output of "dh" Ruiyu Ni
2017-09-22  5:50 ` [PATCH 01/14] ShellPkg/dh: display all the protocol names in a single line Ruiyu Ni
2017-09-22  5:50 ` [PATCH 02/14] ShellPkg/dh: change the key information color from blue to hilight Ruiyu Ni
2017-09-22  5:50 ` [PATCH 03/14] ShellPkg/dh: fix the error display "Child Controllers" to "Managing" Ruiyu Ni
2017-09-22  5:50 ` [PATCH 04/14] ShellPkg/dh: Display the protocol instance pointer value for "-v" Ruiyu Ni
2017-09-22  5:50 ` [PATCH 05/14] ShellPkg/dh: Modify the dump of "ImageDevicePath" and "DevicePath" Ruiyu Ni
2017-09-22  5:50 ` Ruiyu Ni [this message]
2017-09-22  5:50 ` [PATCH 07/14] ShellPkg/dh: Modify the dump of BusSpecificDriverOverride protocol Ruiyu Ni
2017-09-22  5:50 ` [PATCH 08/14] ShellPkg/dh: Modify the dump of BlockIo protocol Ruiyu Ni
2017-09-22  5:50 ` [PATCH 09/14] ShellPkg/dh: Modify the dump of DebugSupport protocol Ruiyu Ni
2017-09-22  5:50 ` [PATCH 10/14] ShellPkg/dh: Modify the dump of GraphicsOutput protocol Ruiyu Ni
2017-09-22  5:50 ` [PATCH 11/14] ShellPkg/dh: Modify the dump of PciIo protocol Ruiyu Ni
2017-09-22  5:50 ` [PATCH 12/14] ShellPkg/dh: Modify the dump of UsbIo protocol Ruiyu Ni
2017-09-22  5:50 ` [PATCH 13/14] " Ruiyu Ni
2017-09-22  5:50 ` [PATCH 14/14] ShellPkg/dh: Refine the dump output Ruiyu Ni
2017-09-22 11:57 ` [PATCH 00/14] Refine output of "dh" Laszlo Ersek
2017-09-22 14:04 ` Carsey, Jaben

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170922055014.27288-7-ruiyu.ni@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox