for the series. Reviewed-by: Jaben Carsey <[email protected]>
> -----Original Message----- > From: Zeng, Star > Sent: Sunday, January 17, 2016 10:02 PM > To: [email protected] > Cc: Gao, Liming <[email protected]>; Carsey, Jaben > <[email protected]>; Qiu, Shumin <[email protected]> > Subject: [PATCH 2/2] ShellPkg UefiDpLib: Use Image->FilePath to get name for > SMM drivers > Importance: High > > This enhancement is to use the FilePath field in the loaded image > protocol to find the name of an image as a fallback for when the > loaded image device path protocol is not installed on the image handle. > This is necessary because the SMM core does not install the loaded > image device path protocol, so DP was displaying "Unknown Driver Name" > for every SMM driver. > > Cc: Liming Gao <[email protected]> > Cc: Jaben Carsey <[email protected]> > Cc: Shumin Qiu <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Star Zeng <[email protected]> > --- > ShellPkg/Library/UefiDpLib/DpUtilities.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/ShellPkg/Library/UefiDpLib/DpUtilities.c > b/ShellPkg/Library/UefiDpLib/DpUtilities.c > index e9d8fb3..032e7b4 100644 > --- a/ShellPkg/Library/UefiDpLib/DpUtilities.c > +++ b/ShellPkg/Library/UefiDpLib/DpUtilities.c > @@ -1,7 +1,7 @@ > /** @file > Utility functions used by the Dp application. > > - Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved. > + Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved. > (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> > This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD > License > @@ -206,6 +206,10 @@ DpGetNameFromHandle ( > CHAR8 *PlatformLanguage; > EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2; > > + Image = NULL; > + LoadedImageDevicePath = NULL; > + DevicePath = NULL; > + > // > // Method 1: Get the name string from image PDB > // > @@ -275,9 +279,13 @@ DpGetNameFromHandle ( > ); > if (!EFI_ERROR (Status) && (LoadedImageDevicePath != NULL)) { > DevicePath = LoadedImageDevicePath; > + } else if (Image != NULL) { > + DevicePath = Image->FilePath; > + } > > + if (DevicePath != NULL) { > // > - // Try to get image GUID from LoadedImageDevicePath protocol > + // Try to get image GUID from image DevicePath > // > NameGuid = NULL; > while (!IsDevicePathEndType (DevicePath)) { > @@ -320,7 +328,7 @@ DpGetNameFromHandle ( > // > // Method 5: Get the name string from image DevicePath > // > - NameString = ConvertDevicePathToText (LoadedImageDevicePath, TRUE, > FALSE); > + NameString = ConvertDevicePathToText (DevicePath, TRUE, FALSE); > if (NameString != NULL) { > StrnCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString, > DP_GAUGE_STRING_LENGTH); > mGaugeString[DP_GAUGE_STRING_LENGTH] = 0; > -- > 2.7.0.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

