summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLu, ShifeiX A <shifeix.a.lu@intel.com>2017-09-20 11:23:24 +0800
committerzwei4 <david.wei@intel.com>2017-09-20 14:57:02 +0800
commit8086a8f8f63a24618309429ce545cb6a39972b15 (patch)
tree480dab844c452b31e9ba5eaac265b893a41e59f2
parent6cd1979741110bc949153e1f019bbff33e040fed (diff)
downloadedk2-platforms-8086a8f8f63a24618309429ce545cb6a39972b15.tar.xz
Correct Names.
Correct Boot Option Names. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex <shifeix.a.lu@intel.com>
-rw-r--r--Core/IntelFrameworkModulePkg/Include/Library/GenericBdsLib.h5
-rw-r--r--Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c51
-rw-r--r--Core/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni8
3 files changed, 61 insertions, 3 deletions
diff --git a/Core/IntelFrameworkModulePkg/Include/Library/GenericBdsLib.h b/Core/IntelFrameworkModulePkg/Include/Library/GenericBdsLib.h
index c338c4d022..fa59235044 100644
--- a/Core/IntelFrameworkModulePkg/Include/Library/GenericBdsLib.h
+++ b/Core/IntelFrameworkModulePkg/Include/Library/GenericBdsLib.h
@@ -4,7 +4,7 @@
2) BDS boot device connect interface.
3) BDS Misc interfaces for mainting boot variable, ouput string.
-Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
@@ -821,6 +821,9 @@ SetupResetReminder (
#define BDS_EFI_MESSAGE_USB_DEVICE_BOOT 0x0305 // Type 03; Sub-Type 05
#define BDS_EFI_MESSAGE_SATA_BOOT 0x0312 // Type 03; Sub-Type 18
#define BDS_EFI_MESSAGE_MAC_BOOT 0x030b // Type 03; Sub-Type 11
+#define BDS_EFI_MESSAGE_NVME_BOOT 0x0317 // Type 03; Sub-Type 17
+#define BDS_EFI_MESSAGE_SD_BOOT 0x031a // Type 03; Sub-Type 1a
+#define BDS_EFI_MESSAGE_EMMC_BOOT 0x031d // Type 03; Sub-Type 1d
#define BDS_EFI_MESSAGE_MISC_BOOT 0x03FF
///
diff --git a/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
index ce1dd4a0bd..41611cf68d 100644
--- a/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
+++ b/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
@@ -3123,6 +3123,9 @@ BdsLibEnumerateAllBootOption (
UINT16 UsbNumber;
UINT16 MiscNumber;
UINT16 ScsiNumber;
+ UINT16 NvmeNumber;
+ UINT16 SdNumber;
+ UINT16 EmmcNumber;
UINT16 NonBlockNumber;
UINTN NumberBlockIoHandles;
EFI_HANDLE *BlockIoHandles;
@@ -3157,6 +3160,9 @@ BdsLibEnumerateAllBootOption (
UsbNumber = 0;
MiscNumber = 0;
ScsiNumber = 0;
+ NvmeNumber = 0;
+ SdNumber = 0;
+ EmmcNumber = 0;
PlatLang = NULL;
LastLang = NULL;
ZeroMem (Buffer, sizeof (Buffer));
@@ -3299,6 +3305,36 @@ BdsLibEnumerateAllBootOption (
ScsiNumber++;
break;
+ case BDS_EFI_MESSAGE_NVME_BOOT:
+ if (NvmeNumber != 0) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_NVME)), NvmeNumber);
+ } else {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_NVME)));
+ }
+ BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
+ NvmeNumber++;
+ break;
+
+ case BDS_EFI_MESSAGE_SD_BOOT:
+ if (SdNumber != 0) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_SD)), SdNumber);
+ } else {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_SD)));
+ }
+ BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
+ SdNumber++;
+ break;
+
+ case BDS_EFI_MESSAGE_EMMC_BOOT:
+ if (EmmcNumber != 0) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_EMMC)), EmmcNumber);
+ } else {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_EMMC)));
+ }
+ BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
+ EmmcNumber++;
+ break;
+
case BDS_EFI_MESSAGE_MISC_BOOT:
default:
if (MiscNumber != 0) {
@@ -3927,7 +3963,8 @@ BdsGetBootTypeFromDevicePath (
// Get the last device path node
//
LastDeviceNode = NextDevicePathNode (TempDevicePath);
- if (DevicePathSubType(LastDeviceNode) == MSG_DEVICE_LOGICAL_UNIT_DP) {
+ if ((DevicePathSubType(LastDeviceNode) == MSG_DEVICE_LOGICAL_UNIT_DP) ||
+ (DevicePathSubType(LastDeviceNode) == HW_CONTROLLER_DP)) {
//
// if the next node type is Device Logical Unit, which specify the Logical Unit Number (LUN),
// skip it
@@ -3965,6 +4002,18 @@ BdsGetBootTypeFromDevicePath (
BootType = BDS_EFI_MESSAGE_MAC_BOOT;
break;
+ case MSG_NVME_NAMESPACE_DP:
+ BootType = BDS_EFI_MESSAGE_NVME_BOOT;
+ break;
+
+ case MSG_SD_DP:
+ BootType = BDS_EFI_MESSAGE_SD_BOOT;
+ break;
+
+ case MSG_EMMC_DP:
+ BootType = BDS_EFI_MESSAGE_EMMC_BOOT;
+ break;
+
default:
BootType = BDS_EFI_MESSAGE_MISC_BOOT;
break;
diff --git a/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni b/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni
index 53266853fa..acc0d776d6 100644
--- a/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni
+++ b/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsStrings.uni
@@ -2,7 +2,7 @@
//
// String definitions for Boot Option description.
//
-// Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+// Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
// This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
@@ -30,6 +30,12 @@
#language fr-FR "fr-FR: EFI SCSI Device"
#string STR_DESCRIPTION_MISC #language en-US "EFI Misc Device"
#language fr-FR "fr-FR: EFI Misc Device"
+#string STR_DESCRIPTION_NVME #language en-US "EFI NVM Express"
+ #language fr-FR "fr-FR: EFI NVM Express"
+#string STR_DESCRIPTION_SD #language en-US "EFI SD Card"
+ #language fr-FR "fr-FR: EFI SD Card"
+#string STR_DESCRIPTION_EMMC #language en-US "EFI EMMC Device"
+ #language fr-FR "fr-FR: EFI EMMC Device"
#string STR_DESCRIPTION_NETWORK #language en-US "EFI Network"
#language fr-FR "fr-FR: EFI Network"
#string STR_DESCRIPTION_NON_BLOCK #language en-US "EFI Non-Block Boot Device"