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

Reply via email to