From c15323ae2e79ee9b0779b030605d5d4c204d624a Mon Sep 17 00:00:00 2001 From: Jeff Westfahl Date: Fri, 5 May 2017 05:53:02 +0800 Subject: [PATCH] ShellPkg/HandleParsingLib: Show LoadedImageProtocol file path as text This patch adds support for displaying a text representation of the file path associated with a LoadedImageProtocol. This is a behavior that was present in the old shell but has been lost in the new shell. For example, using 'dh -v' in the old shell: FilePath......: FvFile(F3331DE6-4A55-44E4-B767-7453F7A1A021) FilePath......: \EFI\BOOT\BOOTX64.EFI vs. the new shell: FilePath......: 3A539018 FilePath......: 3A728718 This seems like useful information for the shell to display. Cc: Ruiyu Ni Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Westfahl Reviewed-by: Ruiyu Ni Reviewed-by: Jaben Carsey --- .../Library/UefiHandleParsingLib/UefiHandleParsingLib.c | 6 +++++- .../Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c index da1d92fd17..2db8a3a2cf 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c @@ -169,6 +169,7 @@ LoadedImageProtocolDumpInformation( EFI_STATUS Status; CHAR16 *RetVal; CHAR16 *Temp; + CHAR16 *FilePath; CHAR16 *CodeType; CHAR16 *DataType; @@ -197,6 +198,8 @@ LoadedImageProtocolDumpInformation( return NULL; } + FilePath = ConvertDevicePathToText(LoadedImage->FilePath, TRUE, TRUE); + DataType = ConvertMemoryType(LoadedImage->ImageDataType); CodeType = ConvertMemoryType(LoadedImage->ImageCodeType); @@ -207,7 +210,7 @@ LoadedImageProtocolDumpInformation( LoadedImage->ParentHandle, LoadedImage->SystemTable, LoadedImage->DeviceHandle, - LoadedImage->FilePath, + FilePath, LoadedImage->LoadOptionsSize, LoadedImage->LoadOptions, LoadedImage->ImageBase, @@ -219,6 +222,7 @@ LoadedImageProtocolDumpInformation( SHELL_FREE_NON_NULL(Temp); + SHELL_FREE_NON_NULL(FilePath); SHELL_FREE_NON_NULL(CodeType); SHELL_FREE_NON_NULL(DataType); diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni index 273a4201bc..7b3711d741 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni @@ -352,7 +352,7 @@ " ParentHandle..: %%H%x%%N\r\n" " SystemTable...: %%H%x%%N\r\n" " DeviceHandle..: %%H%x%%N\r\n" - " FilePath......: %%H%x%%N\r\n" + " FilePath......: %%H%s%%N\r\n" " OptionsSize...: %%H%x%%N\r\n" " LoadOptions...: %%H%x%%N\r\n" " ImageBase.....: %%H%x%%N\r\n" -- 2.39.2