Update BDS boot option description string to use UNI file string in GenericBdsLib...
authorgikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 27 Jan 2010 07:18:36 +0000 (07:18 +0000)
committergikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 27 Jan 2010 07:18:36 +0000 (07:18 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9836 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni [new file with mode: 0644]
IntelFrameworkModulePkg/Library/GenericBdsLib/String.c [new file with mode: 0644]
IntelFrameworkModulePkg/Library/GenericBdsLib/String.h [new file with mode: 0644]
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c
IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c
IntelFrameworkModulePkg/Universal/BdsDxe/Strings.uni

index e9e3435abda50f8b3c64ffddb23fe3f7609bfd33..40984adb3a57fb8579f6fa263fb7526b27a7ae6e 100644 (file)
@@ -13,8 +13,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 \r
 #include "InternalBdsLib.h"\r
+#include "String.h"\r
 \r
 BOOLEAN mEnumBootDevice = FALSE;\r
+EFI_HII_HANDLE gBdsLibStringPackHandle = NULL;\r
 \r
 ///\r
 /// This GUID is used for an EFI Variable that stores the front device pathes\r
@@ -22,6 +24,49 @@ BOOLEAN mEnumBootDevice = FALSE;
 ///\r
 EFI_GUID  mHdBootVariablePrivateGuid = { 0xfab7e9e1, 0x39dd, 0x4f2b, { 0x84, 0x8, 0xe2, 0xe, 0x90, 0x6c, 0xb6, 0xde } };\r
 \r
+///\r
+/// This GUID is used for register UNI string.\r
+///\r
+EFI_GUID mBdsLibStringPackGuid = {  0x3b4d9b23, 0x95ac, 0x44f6, { 0x9f, 0xcd, 0xe, 0x95, 0x94, 0x58, 0x6c, 0x72 } };\r
+\r
+///\r
+/// This GUID is used for Set/Get platform language into/from variable at last time enumeration to ensure the enumeration will\r
+/// only execute once.\r
+///\r
+EFI_GUID mBdsLibLastLangGuid = { 0xe8c545b, 0xa2ee, 0x470d, { 0x8e, 0x26, 0xbd, 0xa1, 0xa1, 0x3c, 0xa, 0xa3 } };\r
+\r
+/**\r
+  The constructor function register UNI strings into imageHandle.\r
+  \r
+  It will ASSERT() if that operation fails and it will always return EFI_SUCCESS. \r
+\r
+  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
+  @param  SystemTable   A pointer to the EFI System Table.\r
+  \r
+  @retval EFI_SUCCESS   The constructor successfully added string package.\r
+  @retval Other value   The constructor can't add string package.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+GenericBdsLibConstructor (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+{\r
+\r
+  gBdsLibStringPackHandle = HiiAddPackages (\r
+                              &mBdsLibStringPackGuid,\r
+                              &ImageHandle,\r
+                              GenericBdsLibStrings,\r
+                              NULL\r
+                              );\r
+\r
+  ASSERT (gBdsLibStringPackHandle != NULL);\r
+\r
+  return EFI_SUCCESS;\r
+}\r
+\r
 \r
 \r
 /**\r
@@ -241,67 +286,13 @@ BdsLibBootViaBootOption (
   }\r
 \r
   DEBUG_CODE_BEGIN();\r
-    UINTN                     DevicePathTypeValue;\r
-    CHAR16                    *HiiString;\r
-    CHAR16                    *BootStringNumber;\r
-    UINTN                     BufferSize;\r
-  \r
-    DevicePathTypeValue = BdsGetBootTypeFromDevicePath (Option->DevicePath);\r
-  \r
-    //\r
-    // store number string of boot option temporary.\r
-    //\r
-    HiiString = NULL;\r
-    switch (DevicePathTypeValue) {\r
-    case BDS_EFI_ACPI_FLOPPY_BOOT:\r
-      HiiString = L"EFI Floppy";\r
-      break;\r
-    case BDS_EFI_MEDIA_CDROM_BOOT:\r
-    case BDS_EFI_MESSAGE_SATA_BOOT:\r
-    case BDS_EFI_MESSAGE_ATAPI_BOOT:\r
-      HiiString = L"EFI DVD/CDROM";\r
-      break;\r
-    case BDS_EFI_MESSAGE_USB_DEVICE_BOOT:\r
-      HiiString = L"EFI USB Device";\r
-      break;\r
-    case BDS_EFI_MESSAGE_SCSI_BOOT:\r
-      HiiString = L"EFI SCSI Device";\r
-      break;\r
-    case BDS_EFI_MESSAGE_MISC_BOOT:\r
-      HiiString = L"EFI Misc Device";\r
-      break;\r
-    case BDS_EFI_MESSAGE_MAC_BOOT:\r
-      HiiString = L"EFI Network";\r
-      break;\r
-    case BBS_DEVICE_PATH:\r
-      //\r
-      // Do nothing for legacy boot option.\r
-      //\r
-      break;\r
-    default:\r
-      DEBUG((EFI_D_INFO, "Can not find HiiString for given device path type 0x%x\n", DevicePathTypeValue));\r
-    }\r
 \r
-    //\r
-    // If found Hii description string then cat Hii string with original description.\r
-    //\r
-    if (HiiString != NULL) {\r
-      BootStringNumber = Option->Description;\r
-      BufferSize = StrSize(BootStringNumber);\r
-      BufferSize += StrSize(HiiString);\r
-      Option->Description = AllocateZeroPool(BufferSize);\r
-      ASSERT (Option->Description != NULL);\r
-      StrCpy (Option->Description, HiiString);\r
-      if (StrnCmp (BootStringNumber, L"0", 1) != 0) {\r
-        StrCat (Option->Description, L" ");\r
-        StrCat (Option->Description, BootStringNumber);\r
-      } \r
-      \r
-      FreePool (BootStringNumber);\r
+    if (Option->Description == NULL) {\r
+      DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Booting from unknown device path\n"));\r
+    } else {\r
+      DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Booting %S\n", Option->Description));\r
     }\r
-  \r
-    DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Booting %S\n", Option->Description));\r
-    \r
+        \r
   DEBUG_CODE_END();\r
   \r
   Status = gBS->LoadImage (\r
@@ -1007,6 +998,8 @@ BdsLibEnumerateAllBootOption (
   UINTN                         NumberFileSystemHandles;\r
   BOOLEAN                       NeedDelete;\r
   EFI_IMAGE_DOS_HEADER          DosHeader;\r
+  CHAR8                         *PlatLang;\r
+  CHAR8                         *LastLang;\r
   EFI_IMAGE_OPTIONAL_HEADER_UNION       HdrData;\r
   EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION   Hdr;\r
 \r
@@ -1015,6 +1008,8 @@ BdsLibEnumerateAllBootOption (
   UsbNumber     = 0;\r
   MiscNumber    = 0;\r
   ScsiNumber    = 0;\r
+  PlatLang      = NULL;\r
+  LastLang      = NULL;\r
   ZeroMem (Buffer, sizeof (Buffer));\r
 \r
   //\r
@@ -1022,8 +1017,21 @@ BdsLibEnumerateAllBootOption (
   // device from the boot order variable\r
   //\r
   if (mEnumBootDevice) {\r
-    Status = BdsLibBuildOptionFromVar (BdsBootOptionList, L"BootOrder");\r
-    return Status;\r
+    LastLang = GetVariable (L"LastEnumLang", &mBdsLibLastLangGuid);\r
+    PlatLang = GetEfiGlobalVariable (L"PlatformLang");\r
+    if (LastLang == PlatLang) {\r
+      Status = BdsLibBuildOptionFromVar (BdsBootOptionList, L"BootOrder");\r
+      return Status;\r
+    } else {\r
+      Status = gRT->SetVariable (\r
+        L"LastEnumLang",\r
+        &mBdsLibLastLangGuid,\r
+        EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
+        sizeof (PlatLang),\r
+        PlatLang\r
+        );\r
+      ASSERT_EFI_ERROR (Status);\r
+    }\r
   }\r
 \r
   //\r
@@ -1068,7 +1076,11 @@ BdsLibEnumerateAllBootOption (
 \r
     switch (DevicePathType) {\r
     case BDS_EFI_ACPI_FLOPPY_BOOT:\r
-      UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", FloppyNumber);\r
+      if (FloppyNumber != 0) {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_FLOPPY)), FloppyNumber);\r
+      } else {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_FLOPPY)));\r
+      }\r
       BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);\r
       FloppyNumber++;\r
       break;\r
@@ -1078,25 +1090,42 @@ BdsLibEnumerateAllBootOption (
     //\r
     case BDS_EFI_MESSAGE_ATAPI_BOOT:\r
     case BDS_EFI_MESSAGE_SATA_BOOT:\r
-      UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", CdromNumber);\r
+      if (CdromNumber != 0) {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_CD_DVD)), CdromNumber);\r
+      } else {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_CD_DVD)));\r
+      }\r
+      DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Buffer: %S\n", Buffer));\r
       BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);\r
       CdromNumber++;\r
       break;\r
 \r
     case BDS_EFI_MESSAGE_USB_DEVICE_BOOT:\r
-      UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", UsbNumber);\r
+      if (UsbNumber != 0) {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_USB)), UsbNumber);\r
+      } else {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_USB)));\r
+      }\r
       BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);\r
       UsbNumber++;\r
       break;\r
 \r
     case BDS_EFI_MESSAGE_SCSI_BOOT:\r
-      UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", ScsiNumber);\r
+      if (ScsiNumber != 0) {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_SCSI)), ScsiNumber);\r
+      } else {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_SCSI)));\r
+      }\r
       BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);\r
       ScsiNumber++;\r
       break;\r
 \r
     case BDS_EFI_MESSAGE_MISC_BOOT:\r
-      UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", MiscNumber);\r
+      if (MiscNumber != 0) {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC)), MiscNumber);\r
+      } else {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC)));\r
+      }\r
       BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);\r
       MiscNumber++;\r
       break;\r
@@ -1158,7 +1187,11 @@ BdsLibEnumerateAllBootOption (
       //\r
       BdsLibDeleteOptionFromHandle (FileSystemHandles[Index]);\r
     } else {\r
-      UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI Non-Block Boot Device %d", NonBlockNumber);\r
+      if (NonBlockNumber != 0) {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_NON_BLOCK)), NonBlockNumber);\r
+      } else {\r
+        UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_NON_BLOCK)));\r
+      }\r
       BdsLibBuildOptionFromHandle (FileSystemHandles[Index], BdsBootOptionList, Buffer);\r
       NonBlockNumber++;\r
     }\r
@@ -1184,7 +1217,11 @@ BdsLibEnumerateAllBootOption (
         );\r
 \r
   for (Index = 0; Index < NumOfLoadFileHandles; Index++) {\r
-    UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", Index);\r
+    if (Index != 0) {\r
+      UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_NETWORK)), Index);\r
+    } else {\r
+      UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_NETWORK)));\r
+    }\r
     BdsLibBuildOptionFromHandle (LoadFileHandles[Index], BdsBootOptionList, Buffer);\r
   }\r
 \r
index c5ba83c4a08b9e408797756c53b5d239a682c39e..3b81f80b7663b1b621f68083dcb0a4a1a90076f3 100644 (file)
@@ -23,6 +23,7 @@
   MODULE_TYPE                    = DXE_DRIVER\r
   VERSION_STRING                 = 1.0\r
   LIBRARY_CLASS                  = GenericBdsLib|DXE_DRIVER UEFI_APPLICATION \r
+  CONSTRUCTOR                    = GenericBdsLibConstructor\r
 \r
 #\r
 # The following information is for reference only and not required by the build tools.\r
@@ -39,6 +40,9 @@
   BdsBoot.c\r
   InternalBdsLib.h\r
   Bmp.h\r
+  String.h\r
+  String.c\r
+  GenericBdsStrings.uni\r
   \r
 [Sources.IPF]\r
   Ipf/ShadowRom.c\r
@@ -67,6 +71,7 @@
   TimerLib\r
   PcdLib\r
   DxeServicesLib\r
+  HiiLib\r
 \r
 [Guids]\r
   gEfiVT100PlusGuid                             ## CONSUMES ## GUID (The type of terminal)\r
diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni b/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni
new file mode 100644 (file)
index 0000000..aab1a78
Binary files /dev/null and b/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni differ
diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/String.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/String.c
new file mode 100644 (file)
index 0000000..bbbbf3a
--- /dev/null
@@ -0,0 +1,32 @@
+/** @file\r
+  String support\r
+\r
+Copyright (c) 2010, Intel Corporation. <BR>\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
+#include "String.h"\r
+\r
+/**\r
+  Get string by string id from HII Interface\r
+\r
+\r
+  @param Id              String ID.\r
+\r
+  @retval  CHAR16 *  String from ID.\r
+  @retval  NULL      If error occurs.\r
+\r
+**/\r
+CHAR16 *\r
+BdsLibGetStringById (\r
+  IN  EFI_STRING_ID   Id\r
+  )\r
+{\r
+  return HiiGetString (gBdsLibStringPackHandle, Id, NULL);\r
+}\r
diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/String.h b/IntelFrameworkModulePkg/Library/GenericBdsLib/String.h
new file mode 100644 (file)
index 0000000..1b09206
--- /dev/null
@@ -0,0 +1,48 @@
+/** @file\r
+  String support\r
+\r
+Copyright (c) 2010, Intel Corporation. <BR>\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
+#ifndef _STRING_H_\r
+#define _STRING_H_\r
+\r
+#include <Library/HiiLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/DevicePathLib.h>\r
+#include <Library/UefiLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+\r
+extern EFI_HII_HANDLE gBdsLibStringPackHandle;\r
+\r
+//\r
+// This is the VFR compiler generated header file which defines the\r
+// string identifiers.\r
+//\r
+\r
+extern UINT8  GenericBdsLibStrings[];\r
+\r
+/**\r
+  Get string by string id from HII Interface\r
+\r
+\r
+  @param Id              String ID.\r
+\r
+  @retval  CHAR16 *  String from ID.\r
+  @retval  NULL      If error occurs.\r
+\r
+**/\r
+CHAR16 *\r
+BdsLibGetStringById (\r
+  IN  EFI_STRING_ID   Id\r
+  );\r
+\r
+#endif // _STRING_H_\r
index 3d902e1eb356673e1db7be92f17f934531c741a1..d564f5c7d25658e7f742bf17312b50ed8777389f 100644 (file)
@@ -876,8 +876,6 @@ BOpt_GetBootOptions (
   EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
   UINTN                     MenuCount;\r
   UINT8                     *Ptr;\r
-  UINTN                     DevicePathType;\r
-  CHAR16                    *HiiString;\r
   \r
   MenuCount         = 0;\r
   BootOrderListSize = 0;\r
@@ -1015,56 +1013,10 @@ BOpt_GetBootOptions (
     LoadOptionPtr += sizeof (UINT16);\r
     \r
     StringSize = StrSize((UINT16*)LoadOptionPtr);\r
-    //\r
-    // Get Hii description string according to device path type\r
-    //\r
-    HiiString        = NULL;\r
-    DevicePathType   = BdsGetBootTypeFromDevicePath (DevicePath);\r
-    switch (DevicePathType) {\r
-    case BDS_EFI_ACPI_FLOPPY_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_FLOPPY));\r
-      break;\r
-    case BDS_EFI_MESSAGE_SATA_BOOT:\r
-    case BDS_EFI_MESSAGE_ATAPI_BOOT:\r
-    case BDS_EFI_MEDIA_CDROM_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_DVD));\r
-      break;\r
-    case BDS_EFI_MESSAGE_USB_DEVICE_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_USB));\r
-      break;\r
-    case BDS_EFI_MESSAGE_SCSI_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_SCSI));\r
-      break;\r
-    case BDS_EFI_MESSAGE_MISC_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC));\r
-      break;\r
-    case BDS_EFI_MESSAGE_MAC_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_NETWORK));\r
-      break;\r
-    case BBS_DEVICE_PATH:\r
-      //\r
-      // Do nothing for legacy boot option.\r
-      //\r
-      break;      \r
-    default:\r
-      DEBUG((EFI_D_INFO, "Can not find HiiString for given device path type 0x%x\n", DevicePathType));\r
-    }\r
-    \r
-    if (HiiString != NULL) {\r
-      NewLoadContext->Description = AllocateZeroPool(StringSize + StrSize(HiiString));\r
-      ASSERT (NewLoadContext->Description != NULL);\r
-      StrCpy (NewLoadContext->Description, HiiString);\r
-      if (StrnCmp ((UINT16*)LoadOptionPtr, L"0", 1) != 0) {\r
-        StrCat (NewLoadContext->Description, L" ");\r
-        StrCat (NewLoadContext->Description, (UINT16*)LoadOptionPtr);\r
-      } \r
-      \r
-      FreePool (HiiString);\r
-    } else {\r
-      NewLoadContext->Description = AllocateZeroPool (StrSize((UINT16*)LoadOptionPtr));\r
-      ASSERT (NewLoadContext->Description != NULL);\r
-      StrCpy (NewLoadContext->Description, (UINT16*)LoadOptionPtr);\r
-    }\r
+\r
+    NewLoadContext->Description = AllocateZeroPool (StrSize((UINT16*)LoadOptionPtr));\r
+    ASSERT (NewLoadContext->Description != NULL);\r
+    StrCpy (NewLoadContext->Description, (UINT16*)LoadOptionPtr);\r
     \r
     ASSERT (NewLoadContext->Description != NULL);\r
     NewMenuEntry->DisplayString = NewLoadContext->Description;\r
index 74649f49cea7ced18b4502f669f704f617e0cac9..a154b451f7a6b792b385e498a2fb7e8a28f52441 100644 (file)
@@ -201,10 +201,6 @@ CallBootManager (
   VOID                        *EndOpCodeHandle;\r
   EFI_IFR_GUID_LABEL          *StartLabel;\r
   EFI_IFR_GUID_LABEL          *EndLabel;\r
-  CHAR16                      *HiiString;\r
-  CHAR16                      *BootStringNumber;\r
-  UINTN                       DevicePathType;\r
-  UINTN                       BufferSize;\r
 \r
   gOption = NULL;\r
   InitializeListHead (&BdsBootOptionList);\r
@@ -266,67 +262,7 @@ CallBootManager (
     if ((Option->Attribute & LOAD_OPTION_HIDDEN) != 0) {\r
       continue;\r
     }\r
-    \r
-    //\r
-    // Replace description string with UNI file string.\r
-    //\r
-    BootStringNumber = NULL;\r
-    \r
-    DevicePathType = BdsGetBootTypeFromDevicePath (Option->DevicePath);\r
-\r
-    //\r
-    // store number string of boot option temporary.\r
-    //\r
-    HiiString = NULL;\r
-    switch (DevicePathType) {\r
-    case BDS_EFI_ACPI_FLOPPY_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_FLOPPY));\r
-      break;\r
-    case BDS_EFI_MEDIA_CDROM_BOOT:\r
-    case BDS_EFI_MESSAGE_SATA_BOOT:\r
-    case BDS_EFI_MESSAGE_ATAPI_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_DVD));\r
-      break;\r
-    case BDS_EFI_MESSAGE_USB_DEVICE_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_USB));\r
-      break;\r
-    case BDS_EFI_MESSAGE_SCSI_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_SCSI));\r
-      break;\r
-    case BDS_EFI_MESSAGE_MISC_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC));\r
-      break;\r
-    case BDS_EFI_MESSAGE_MAC_BOOT:\r
-      HiiString = GetStringById (STRING_TOKEN (STR_DESCRIPTION_NETWORK));\r
-      break;\r
-    case BBS_DEVICE_PATH:\r
-      //\r
-      // Do nothing for legacy boot option.\r
-      //\r
-      break;\r
-    default:\r
-      DEBUG((EFI_D_INFO, "Can not find HiiString for given device path type 0x%x\n", DevicePathType));\r
-    }\r
-\r
-    //\r
-    // If found Hii description string then cat Hii string with original description.\r
-    //\r
-    if (HiiString != NULL) {\r
-      BootStringNumber = Option->Description;\r
-      BufferSize = StrSize(BootStringNumber);\r
-      BufferSize += StrSize(HiiString);\r
-      Option->Description = AllocateZeroPool(BufferSize);\r
-      ASSERT (Option->Description != NULL);\r
-      StrCpy (Option->Description, HiiString);\r
-      if (StrnCmp (BootStringNumber, L"0", 1) != 0) {\r
-        StrCat (Option->Description, L" ");\r
-        StrCat (Option->Description, BootStringNumber);\r
-      } \r
       \r
-      FreePool (HiiString);\r
-      FreePool (BootStringNumber);\r
-    }\r
-    \r
     ASSERT (Option->Description != NULL);\r
     \r
     Token = HiiSetString (HiiHandle, 0, Option->Description, NULL);\r
index fac0a0a639a2db8fdec5bf1602128eb988495ac9..4dc12693199b0d6d70c848d7a1ca58098c476ee0 100644 (file)
Binary files a/IntelFrameworkModulePkg/Universal/BdsDxe/Strings.uni and b/IntelFrameworkModulePkg/Universal/BdsDxe/Strings.uni differ