- BootStringNumber = AllocateZeroPool (StrSize (Option->Description));\r
- ASSERT (BootStringNumber != NULL);\r
- \r
- if (StrStr (Option->Description, DESCRIPTION_FLOPPY) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_FLOPPY) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_FLOPPY));\r
- } else if (StrStr (Option->Description, DESCRIPTION_DVD) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_DVD) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_DVD));\r
- \r
- } else if (StrStr (Option->Description, DESCRIPTION_USB) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_USB) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_USB));\r
- \r
- } else if (StrStr (Option->Description, DESCRIPTION_SCSI) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_SCSI) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_SCSI));\r
- \r
- } else if (StrStr (Option->Description, DESCRIPTION_MISC) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_MISC) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_MISC));\r
- \r
- } else if (StrStr (Option->Description, DESCRIPTION_NETWORK) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_NETWORK) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_NETWORK));\r
- \r
- } else if (StrStr (Option->Description, DESCRIPTION_NON_BLOCK) != NULL) {\r
- BootStringNumber = Option->Description + StrLen (DESCRIPTION_NON_BLOCK) + 1;\r
- Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_NON_BLOCK));\r
+ IsLegacyOption = (BOOLEAN) (\r
+ (DevicePathType (Option->DevicePath) == BBS_DEVICE_PATH) &&\r
+ (DevicePathSubType (Option->DevicePath) == BBS_BBS_DP)\r
+ );\r
+\r
+ if (!IsLegacyOption && NeedEndOp) {\r
+ NeedEndOp = FALSE;\r
+ HiiCreateEndOpCode (StartOpCodeHandle);\r