]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Retire GenBin directory since we have created EdkShellPkg and its own DSC file to...
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 18 Aug 2008 11:11:50 +0000 (11:11 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 18 Aug 2008 11:11:50 +0000 (11:11 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5686 6f19259b-4bc3-4df7-8a09-765794883524

EdkShellBinPkg/GenBin/EdkShellPkg.dsc [deleted file]
EdkShellBinPkg/GenBin/Shell_HotFix.diff [deleted file]

diff --git a/EdkShellBinPkg/GenBin/EdkShellPkg.dsc b/EdkShellBinPkg/GenBin/EdkShellPkg.dsc
deleted file mode 100644 (file)
index 9f7d3d7..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-#/** @file\r
-# This package build validate file is used to generate the shell binaries in this package.\r
-# It depends on EdkCompatibilityPkg, Edk Shell source packge & BaseTools package. \r
-#\r
-# Copyright (c) 2008. Intel Corporation\r
-#\r
-#  All rights reserved. This program and the accompanying materials\r
-#    are licensed and made available under the terms and conditions of the BSD License\r
-#    which accompanies this distribution. The full text of the license may be found at\r
-#    http://opensource.org/licenses/bsd-license.php\r
-#\r
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  PLATFORM_NAME                  = EdkShellPkg\r
-  PLATFORM_GUID                  = 761BEE8B-58E3-4014-B8F5-0214A8DFA7EE\r
-  PLATFORM_VERSION               = 1.04\r
-  DSC_SPECIFICATION              = 0x00010005\r
-  OUTPUT_DIRECTORY               = Build/EdkShellPkg\r
-  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64\r
-  BUILD_TARGETS                  = DEBUG|RELEASE\r
-  SKUID_IDENTIFIER               = DEFAULT\r
-\r
-[Libraries]\r
-  #\r
-  # Libraries common to PEI and DXE\r
-  #\r
-  EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf\r
-  EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf\r
-  EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf\r
-  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf\r
-  EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIA64Lib/CpuIA64Lib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf\r
-  #\r
-  # PEI libraries\r
-  #\r
-  EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf\r
-  EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf\r
-  #\r
-  # DXE libraries\r
-  #\r
-  EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf\r
-  EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf\r
-  EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf\r
-  EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf   \r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf\r
-  #\r
-  # Print/Graphics Library consume SetupBrowser Print Protocol\r
-  #\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf\r
-  #\r
-  # Shell Library\r
-  #\r
-  EdkCompatibilityPkg/Shell/Library/EfiShellLib.inf\r
-\r
-\r
-[Components]\r
-  #\r
-  # Shell.inf & ShellFull.inf can not be included at once to avoid over\r
-  #\r
-  EdkCompatibilityPkg/Shell/Shell.inf\r
-  EdkCompatibilityPkg/Shell/ShellFull.inf\r
-  EdkCompatibilityPkg/Shell/attrib/attrib.inf\r
-  EdkCompatibilityPkg/Shell/cls/cls.inf\r
-  EdkCompatibilityPkg/Shell/comp/comp.inf\r
-  EdkCompatibilityPkg/Shell/cp/cp.inf\r
-  EdkCompatibilityPkg/Shell/date/date.inf\r
-  EdkCompatibilityPkg/Shell/dblk/dblk.inf\r
-  EdkCompatibilityPkg/Shell/devices/devices.inf\r
-  EdkCompatibilityPkg/Shell/DeviceTree/devicetree.inf\r
-  EdkCompatibilityPkg/Shell/dmem/dmem.inf\r
-  EdkCompatibilityPkg/Shell/dmpstore/dmpstore.inf\r
-  EdkCompatibilityPkg/Shell/drivers/drivers.inf\r
-  EdkCompatibilityPkg/Shell/drvcfg/drvcfg.inf\r
-  EdkCompatibilityPkg/Shell/drvdiag/drvdiag.inf\r
-  EdkCompatibilityPkg/Shell/edit/edit.inf\r
-  EdkCompatibilityPkg/Shell/EfiCompress/compress.inf\r
-  EdkCompatibilityPkg/Shell/EfiDecompress/Decompress.inf\r
-  EdkCompatibilityPkg/Shell/err/err.inf\r
-  EdkCompatibilityPkg/Shell/guid/guid.inf\r
-  EdkCompatibilityPkg/Shell/hexedit/hexedit.inf\r
-  EdkCompatibilityPkg/Shell/IfConfig/IfConfig.inf\r
-  EdkCompatibilityPkg/Shell/IpConfig/IpConfig.inf\r
-  EdkCompatibilityPkg/Shell/load/load.inf\r
-  EdkCompatibilityPkg/Shell/LoadPciRom/LoadPciRom.inf\r
-  EdkCompatibilityPkg/Shell/ls/ls.inf\r
-  EdkCompatibilityPkg/Shell/mem/mem.inf\r
-  EdkCompatibilityPkg/Shell/memmap/memmap.inf\r
-  EdkCompatibilityPkg/Shell/mkdir/mkdir.inf\r
-  EdkCompatibilityPkg/Shell/mm/mm.inf\r
-  EdkCompatibilityPkg/Shell/mode/mode.inf\r
-  EdkCompatibilityPkg/Shell/mount/mount.inf\r
-  EdkCompatibilityPkg/Shell/mv/mv.inf\r
-  EdkCompatibilityPkg/Shell/newshell/nshell.inf\r
-  EdkCompatibilityPkg/Shell/openinfo/openinfo.inf\r
-  EdkCompatibilityPkg/Shell/pci/pci.inf\r
-  EdkCompatibilityPkg/Shell/Ping/Ping.inf\r
-  EdkCompatibilityPkg/Shell/reset/reset.inf\r
-  EdkCompatibilityPkg/Shell/rm/rm.inf\r
-  EdkCompatibilityPkg/Shell/sermode/sermode.inf\r
-  EdkCompatibilityPkg/Shell/SmbiosView/Smbiosview.inf\r
-  EdkCompatibilityPkg/Shell/stall/stall.inf\r
-  EdkCompatibilityPkg/Shell/TelnetMgmt/TelnetMgmt.inf\r
-  EdkCompatibilityPkg/Shell/time/time.inf\r
-  EdkCompatibilityPkg/Shell/touch/touch.inf\r
-  EdkCompatibilityPkg/Shell/type/type.inf\r
-  EdkCompatibilityPkg/Shell/tzone/timezone.inf\r
-  EdkCompatibilityPkg/Shell/unload/unload.inf\r
-  EdkCompatibilityPkg/Shell/ver/Ver.inf\r
-  EdkCompatibilityPkg/Shell/vol/Vol.inf\r
-\r
-[BuildOptions]\r
-  *_*_IA32_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
-  *_*_IA32_ASM_FLAGS   = /DEFI32\r
-  *_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
-  *_*_IA32_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
-  *_*_IA32_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
-\r
-  *_*_X64_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
-  *_*_X64_ASM_FLAGS   = /DEFIX64\r
-  *_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
-  *_*_X64_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
-  *_*_X64_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
-\r
-  *_*_IPF_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
-  *_*_IPF_ASM_FLAGS   = \r
-  *_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
-  *_*_IPF_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
-  *_*_IPF_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
-\r
diff --git a/EdkShellBinPkg/GenBin/Shell_HotFix.diff b/EdkShellBinPkg/GenBin/Shell_HotFix.diff
deleted file mode 100644 (file)
index 2bff57c..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/Library/EfiShellLib.h Newv1.5/Application/Shell/Library/EfiShellLib.h
---- Oldv1.5/Application/Shell/Library/EfiShellLib.h    2008-06-10 13:46:56.000000000 +0800
-+++ Newv1.5/Application/Shell/Library/EfiShellLib.h    2008-07-09 11:45:28.026417300 +0800
-@@ -174,22 +174,23 @@
- //\r
- //  Environment variable name constants\r
- //\r
--#define VarLanguageCodes    L"LangCodes"\r
--#define VarLanguage         L"Lang"\r
--#define VarTimeout          L"Timeout"\r
--#define VarConsoleIn        L"ConIn"\r
--#define VarConsoleOut       L"ConOut"\r
--#define VarErrorOut         L"ErrOut"\r
--#define VarBootOption       L"Boot%04x"\r
--#define VarBootOrder        L"BootOrder"\r
--#define VarBootNext         L"BootNext"\r
--#define VarBootCurrent      L"BootCurrent"\r
--#define VarDriverOption     L"Driver%04x"\r
--#define VarDriverOrder      L"DriverOrder"\r
--#define VarConsoleInpDev    L"ConInDev"\r
--#define VarConsoleOutDev    L"ConOutDev"\r
--#define VarErrorOutDev      L"ErrOutDev"\r
--#define LanguageCodeEnglish "eng"\r
-+#define VarLanguageCodes            L"LangCodes"\r
-+#define VarLanguage                 L"Lang"\r
-+#define VarTimeout                  L"Timeout"\r
-+#define VarConsoleIn                L"ConIn"\r
-+#define VarConsoleOut               L"ConOut"\r
-+#define VarErrorOut                 L"ErrOut"\r
-+#define VarBootOption               L"Boot%04x"\r
-+#define VarBootOrder                L"BootOrder"\r
-+#define VarBootNext                 L"BootNext"\r
-+#define VarBootCurrent              L"BootCurrent"\r
-+#define VarDriverOption             L"Driver%04x"\r
-+#define VarDriverOrder              L"DriverOrder"\r
-+#define VarConsoleInpDev            L"ConInDev"\r
-+#define VarConsoleOutDev            L"ConOutDev"\r
-+#define VarErrorOutDev              L"ErrOutDev"\r
-+#define LanguageCodeEnglish         "eng"\r
-+#define PlatformLanguageCodeEnglish "en-US"\r
\r
- #define ISO_639_2_ENTRY_SIZE  3\r
- #define RFC_3066_ENTRY_SIZE   12\r
-@@ -333,4 +334,10 @@
-   IN CHAR8                           *LangCode\r
-   );\r
\r
-+CHAR8 *\r
-+ExtractSupportedLanguage (\r
-+  IN CONST CHAR8   *SupportedLanguages,\r
-+  IN CONST CHAR8   *Language\r
-+  );\r
-+\r
- #endif\r
-diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/Library/Misc.c Newv1.5/Application/Shell/Library/Misc.c
---- Oldv1.5/Application/Shell/Library/Misc.c   2008-06-10 13:46:56.000000000 +0800
-+++ Newv1.5/Application/Shell/Library/Misc.c   2008-07-09 11:45:28.088917700 +0800
-@@ -2271,3 +2271,76 @@
-   }\r
-   return Lang;\r
- }\r
-+\r
-+CHAR8 *\r
-+ExtractSupportedLanguage (\r
-+  IN CONST CHAR8   *SupportedLanguages,\r
-+  IN CONST CHAR8   *Language\r
-+  )\r
-+/*++\r
-+\r
-+  Routine Description:\r
-+\r
-+    This function matches the major language code (first two characters) in the\r
-+    SupportedLanguages. The first language code in the SupportedLanguages that\r
-+    matches first two characters of the input Language is returned. If there is no\r
-+    such match, then NULL is returned.\r
-+\r
-+  Arguments:\r
-+\r
-+    SupportedLanguages    -   A Null-terminated ASCII string that contains one\r
-+                              or more supported language codes. \r
-+\r
-+    LangCode              -   A pointer to a Null-terminated ASCII string\r
-+                              array indicating the RFC 3066 language.\r
-+\r
-+  Returns:\r
-+\r
-+    The RFC3066 language code that matches the major language. \r
-+\r
-+--*/\r
-+{\r
-+  CONST CHAR8      *CurrentLanguage;\r
-+  CHAR8            *SupportedLanguage;\r
-+  UINTN            LanguageLen;\r
-+\r
-+  CurrentLanguage = SupportedLanguages;\r
-+\r
-+  while (CurrentLanguage != '\0') {\r
-+    //\r
-+    // Search till the end of current language.\r
-+    // \r
-+    LanguageLen = 0;\r
-+    while (CurrentLanguage[LanguageLen] != ';' && CurrentLanguage[LanguageLen] != '\0') {\r
-+      LanguageLen++;\r
-+    }\r
-+\r
-+    //\r
-+    // should use AsciiStrnCmp(CurrentLanguage, Language, 2) == 0\r
-+    // \r
-+    if ((CurrentLanguage[0] == Language[0]) && (CurrentLanguage[1] == Language[1])) {\r
-+      //\r
-+      // Match the major language code, then return a new copy of\r
-+      // NULL-terminated SupportedLanguage.\r
-+      //\r
-+      SupportedLanguage = AllocatePool (LanguageLen + 1);\r
-+      CopyMem (SupportedLanguage, (VOID *) CurrentLanguage, LanguageLen);\r
-+\r
-+      SupportedLanguage[LanguageLen] = '\0';\r
-+\r
-+      return SupportedLanguage;\r
-+    }\r
-+    //\r
-+    // Make CurrentLangue point to the next candiate language code.\r
-+    // \r
-+    CurrentLanguage += LanguageLen;\r
-+    if (*CurrentLanguage == ';') {\r
-+      CurrentLanguage++;\r
-+    }\r
-+  }\r
-+\r
-+  return NULL;\r
-+}\r
-+\r
-+\r
-+\r
-diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/SmbiosView/PrintInfo.c Newv1.5/Application/Shell/SmbiosView/PrintInfo.c
---- Oldv1.5/Application/Shell/SmbiosView/PrintInfo.c   2007-11-26 14:01:00.000000000 +0800
-+++ Newv1.5/Application/Shell/SmbiosView/PrintInfo.c   2008-07-09 12:36:07.646190700 +0800
-@@ -1779,7 +1779,7 @@
-   //\r
-   // MaxSize is determined by follow formula\r
-   //\r
--  MaxSize = 1 << Size;\r
-+  MaxSize = (UINTN) 1 << Size;\r
-   PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB), HiiHandle, MaxSize);\r
\r
-   if (Option >= SHOW_DETAIL) {\r
-diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/SmbiosView/Smbios.h Newv1.5/Application/Shell/SmbiosView/Smbios.h
---- Oldv1.5/Application/Shell/SmbiosView/Smbios.h      2006-03-07 16:20:46.000000000 +0800
-+++ Newv1.5/Application/Shell/SmbiosView/Smbios.h      2008-07-09 10:29:41.548254500 +0800
-@@ -34,11 +34,6 @@
\r
- extern EFI_HII_HANDLE HiiHandle;\r
\r
--#define EFI_SMBIOS_TABLE_GUID \\r
--  { \\r
--    0xeb9d2d31, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d \\r
--  }\r
\r
--extern EFI_GUID       gEfiSmbiosTableGuid;\r
\r
- #endif\r
-diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/drivers/drivers.c Newv1.5/Application/Shell/drivers/drivers.c
---- Oldv1.5/Application/Shell/drivers/drivers.c        2008-05-26 13:22:52.000000000 +0800
-+++ Newv1.5/Application/Shell/drivers/drivers.c        2008-07-09 12:36:16.552668700 +0800
-@@ -130,6 +130,7 @@
-   UINTN                        StringIndex;\r
-   UINTN                        Index;\r
-   CHAR8                        *Language;\r
-+  CHAR8                        *PlatformLanguage;\r
-   UINTN                        DriverImageHandleCount;\r
-   EFI_HANDLE                   *DriverImageHandleBuffer;\r
-   UINTN                        HandleIndex;\r
-@@ -152,6 +153,7 @@
-   SHELL_VAR_CHECK_PACKAGE      ChkPck;\r
\r
-   Language                = NULL;\r
-+  PlatformLanguage        = NULL;\r
-   DriverImageHandleCount  = 0;\r
-   DriverImageHandleBuffer = NULL;\r
-   IsHelp                  = FALSE;\r
-@@ -241,7 +243,7 @@
-       goto Done;\r
-     }\r
\r
--    Language = LibGetVariableLang ();\r
-+    Language = LibGetVariable (L"Lang", &gEfiGlobalVariableGuid);\r
-     if (Language == NULL) {\r
-       Language = (CHAR8 *)AllocateZeroPool(strlena(LanguageCodeEnglish) + 1);\r
-       if (Language == NULL) {\r
-@@ -250,6 +252,15 @@
-       strcpya(Language, LanguageCodeEnglish);\r
-     }\r
\r
-+    PlatformLanguage = LibGetVariable (L"PlatformLang", &gEfiGlobalVariableGuid);\r
-+    if (PlatformLanguage == NULL) {\r
-+      PlatformLanguage = (CHAR8 *)AllocateZeroPool(strlena(PlatformLanguageCodeEnglish) + 1);\r
-+      if (PlatformLanguage == NULL) {\r
-+        return EFI_OUT_OF_RESOURCES;\r
-+      }\r
-+      strcpya(PlatformLanguage, PlatformLanguageCodeEnglish);\r
-+    }\r
-+\r
-     Item = LibCheckVarGetFlag (&ChkPck, L"-l");\r
-     if (Item) {\r
-       if (Language != NULL) {\r
-@@ -314,14 +325,6 @@
-                   EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-                   );\r
\r
--    ComponentName  = NULL;\r
--    ComponentName2 = NULL;\r
--    Status = LibGetComponentNameProtocol (\r
--               DriverImageHandleBuffer[Index],\r
--               &ComponentName,\r
--               &ComponentName2\r
--               );\r
--\r
-     DiagnosticsStatus = BS->OpenProtocol (\r
-                               DriverImageHandleBuffer[Index],\r
-                               &gEfiDriverDiagnostics2ProtocolGuid,\r
-@@ -418,37 +421,73 @@
-     } else {\r
-       PrintToken (STRING_TOKEN (STR_SHELLENV_PROTID_ONE_VAR_D), HiiHandle, NumberOfChildren);\r
-     }\r
--\r
--    Status     = EFI_SUCCESS;\r
-+    \r
-     DriverName = L"<UNKNOWN>";\r
--    SupportedLanguage = NULL;\r
--    if (ComponentName != NULL) {\r
--      if (ComponentName->GetDriverName != NULL) {\r
--        SupportedLanguage = LibConvertSupportedLanguage (ComponentName->SupportedLanguages, Language);\r
-+    Status = BS->OpenProtocol (\r
-+                   DriverImageHandleBuffer[Index],\r
-+                   &gEfiComponentName2ProtocolGuid,\r
-+                   (VOID **) &ComponentName2,\r
-+                   NULL,\r
-+                   NULL,\r
-+                   EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-+                   );\r
-+    if (!EFI_ERROR (Status)) {\r
-+      //\r
-+      // Driver has Component Name 2 Protocol is available, we get the\r
-+      // driver name var RFC 3066 language code\r
-+      // \r
-+      Status = ComponentName2->GetDriverName (\r
-+                                 ComponentName2,\r
-+                                 PlatformLanguage,\r
-+                                 &DriverName\r
-+                                 );\r
-+      if (EFI_ERROR (Status)) {\r
-+        //\r
-+        // Current RFC3066 language code fails, we then extract the supported\r
-+        // language from Component Name 2 protocol interface.\r
-+        // \r
-+        SupportedLanguage =  ExtractSupportedLanguage(ComponentName2->SupportedLanguages, Language);\r
-+        if (SupportedLanguage != NULL) {\r
-+          Status = ComponentName2->GetDriverName (\r
-+                                     ComponentName2,\r
-+                                     SupportedLanguage,\r
-+                                     &DriverName\r
-+                                     );\r
-+          FreePool(SupportedLanguage);\r
-+        }\r
-+      }\r
-+    }\r
-+    if (EFI_ERROR (Status)) {\r
-+      //\r
-+      // In case Component Name 2 protocol is not available or some error occurs\r
-+      // when getting driver name from Component Name 2 protocol, we get driver\r
-+      // name from Component Name protocol.\r
-+      // \r
-+      Status = BS->OpenProtocol (\r
-+                     DriverImageHandleBuffer[Index],\r
-+                     &gEfiComponentNameProtocolGuid,\r
-+                     (VOID **) &ComponentName,\r
-+                     NULL,\r
-+                     NULL,\r
-+                     EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-+                     );\r
-+      if (!EFI_ERROR (Status)) {\r
-         Status = ComponentName->GetDriverName (\r
-                                   ComponentName,\r
--                                  SupportedLanguage,\r
-+                                  Language,\r
-                                   &DriverName\r
-                                   );\r
-       }\r
--    } else if (ComponentName2 != NULL) {\r
--      if (ComponentName2->GetDriverName != NULL) {\r
--        SupportedLanguage = LibConvertSupportedLanguage (ComponentName2->SupportedLanguages, Language);\r
--        Status = ComponentName2->GetDriverName (\r
--                                   ComponentName2,\r
--                                   SupportedLanguage,\r
--                                   &DriverName\r
--                                   );\r
--      }\r
-     }\r
--    if (SupportedLanguage != NULL) {\r
--      FreePool (SupportedLanguage);\r
--    }\r
--\r
-     if (EFI_ERROR (Status)) {\r
-+      //\r
-+      // Fails to get driver name from either Component Name 2 & Component Name\r
-+      // Protocol, we show "<UNKNOWN>" string as driver name.\r
-+      // \r
-       DriverName = L"<UNKNOWN>";\r
-     }\r
\r
-+ \r
-     for (StringIndex = 0; StringIndex < StrLen (DriverName) && StringIndex < 35; StringIndex++) {\r
-       FormattedDriverName[StringIndex] = DriverName[StringIndex];\r
-     }\r
-@@ -491,6 +530,10 @@
-     FreePool (Language);\r
-   }\r
\r
-+  if (PlatformLanguage != NULL) {\r
-+    FreePool (PlatformLanguage);\r
-+  }\r
-+\r
-   ShellCloseHandleEnumerator ();\r
-   LibCheckVarFreeVarList (&ChkPck);\r
-   LibUnInitializeStrings ();\r