BdsBoot: add boot menu text for eMMC/SD, NVMe devices
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
@ -821,6 +821,9 @@ SetupResetReminder (
|
|||||||
#define BDS_EFI_MESSAGE_USB_DEVICE_BOOT 0x0305 // Type 03; Sub-Type 05
|
#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_SATA_BOOT 0x0312 // Type 03; Sub-Type 18
|
||||||
#define BDS_EFI_MESSAGE_MAC_BOOT 0x030b // Type 03; Sub-Type 11
|
#define BDS_EFI_MESSAGE_MAC_BOOT 0x030b // Type 03; Sub-Type 11
|
||||||
|
#define BDS_EFI_MESSAGE_SD_BOOT 0x030c // Type 03; Sub-Type 12
|
||||||
|
#define BDS_EFI_MESSAGE_EMMC_BOOT 0x030d // Type 03; Sub-Type 13
|
||||||
|
#define BDS_EFI_MESSAGE_NVME_BOOT 0x030e // Type 03; Sub-Type 14
|
||||||
#define BDS_EFI_MESSAGE_MISC_BOOT 0x03FF
|
#define BDS_EFI_MESSAGE_MISC_BOOT 0x03FF
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -3128,8 +3128,10 @@ BdsLibEnumerateAllBootOption (
|
|||||||
UINT16 HarddriveNumber;
|
UINT16 HarddriveNumber;
|
||||||
UINT16 CdromNumber;
|
UINT16 CdromNumber;
|
||||||
UINT16 UsbNumber;
|
UINT16 UsbNumber;
|
||||||
|
UINT16 SdNumber;
|
||||||
UINT16 MiscNumber;
|
UINT16 MiscNumber;
|
||||||
UINT16 ScsiNumber;
|
UINT16 ScsiNumber;
|
||||||
|
UINT16 NvmeNumber;
|
||||||
UINT16 NonBlockNumber;
|
UINT16 NonBlockNumber;
|
||||||
UINTN NumberBlockIoHandles;
|
UINTN NumberBlockIoHandles;
|
||||||
EFI_HANDLE *BlockIoHandles;
|
EFI_HANDLE *BlockIoHandles;
|
||||||
@ -3162,8 +3164,10 @@ BdsLibEnumerateAllBootOption (
|
|||||||
HarddriveNumber = 0;
|
HarddriveNumber = 0;
|
||||||
CdromNumber = 0;
|
CdromNumber = 0;
|
||||||
UsbNumber = 0;
|
UsbNumber = 0;
|
||||||
|
SdNumber = 0;
|
||||||
MiscNumber = 0;
|
MiscNumber = 0;
|
||||||
ScsiNumber = 0;
|
ScsiNumber = 0;
|
||||||
|
NvmeNumber = 0;
|
||||||
PlatLang = NULL;
|
PlatLang = NULL;
|
||||||
LastLang = NULL;
|
LastLang = NULL;
|
||||||
ZeroMem (Buffer, sizeof (Buffer));
|
ZeroMem (Buffer, sizeof (Buffer));
|
||||||
@ -3306,16 +3310,44 @@ BdsLibEnumerateAllBootOption (
|
|||||||
ScsiNumber++;
|
ScsiNumber++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BDS_EFI_MESSAGE_MISC_BOOT:
|
case BDS_EFI_MESSAGE_EMMC_BOOT:
|
||||||
default:
|
|
||||||
if (MiscNumber != 0) {
|
if (MiscNumber != 0) {
|
||||||
UnicodeSPrint (Buffer, sizeof (Buffer), L"%s %d", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC)), MiscNumber);
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI eMMC Device %d", MiscNumber);
|
||||||
} else {
|
} else {
|
||||||
UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", BdsLibGetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC)));
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI eMMC Device");
|
||||||
}
|
}
|
||||||
BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
|
BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
|
||||||
MiscNumber++;
|
MiscNumber++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case BDS_EFI_MESSAGE_SD_BOOT:
|
||||||
|
if (SdNumber != 0) {
|
||||||
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI SD Device %d", SdNumber);
|
||||||
|
} else {
|
||||||
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI SD Device");
|
||||||
|
}
|
||||||
|
BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
|
||||||
|
SdNumber++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BDS_EFI_MESSAGE_NVME_BOOT:
|
||||||
|
if (NvmeNumber != 0) {
|
||||||
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI NVMe Device %d", NvmeNumber);
|
||||||
|
} else {
|
||||||
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI NVMe Device");
|
||||||
|
}
|
||||||
|
BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
|
||||||
|
NvmeNumber++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BDS_EFI_MESSAGE_MISC_BOOT:
|
||||||
|
default:
|
||||||
|
if (MiscNumber == 0) {
|
||||||
|
UnicodeSPrint (Buffer, sizeof (Buffer), L"EFI eMMC Device");
|
||||||
|
BdsLibBuildOptionFromHandle (BlockIoHandles[Index], BdsBootOptionList, Buffer);
|
||||||
|
}
|
||||||
|
MiscNumber++;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3960,8 +3992,20 @@ BdsGetBootTypeFromDevicePath (
|
|||||||
BootType = BDS_EFI_MESSAGE_MAC_BOOT;
|
BootType = BDS_EFI_MESSAGE_MAC_BOOT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSG_EMMC_DP:
|
||||||
|
BootType = BDS_EFI_MESSAGE_EMMC_BOOT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MSG_SD_DP:
|
||||||
|
BootType = BDS_EFI_MESSAGE_SD_BOOT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MSG_NVME_NAMESPACE_DP:
|
||||||
|
BootType = BDS_EFI_MESSAGE_NVME_BOOT;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BootType = BDS_EFI_MESSAGE_MISC_BOOT;
|
BootType = DevicePathSubType (TempDevicePath);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return BootType;
|
return BootType;
|
||||||
|
Reference in New Issue
Block a user