- //\r
- // Add oneof for video BIOS selection\r
- //\r
- VideoOption = BdsLibGetVariableAndSize (\r
- L"VBIOS",\r
- &gEfiGenericPlatformVariableGuid,\r
- &VideoOptionSize\r
- );\r
- if (VideoOption == NULL) {\r
- gDeviceManagerPrivate.VideoBios = 0;\r
- } else {\r
- gDeviceManagerPrivate.VideoBios = VideoOption[0];\r
- FreePool (VideoOption);\r
- }\r
-\r
- ASSERT (gDeviceManagerPrivate.VideoBios <= 1);\r
-\r
- IfrOptionList = AllocatePool (2 * sizeof (IFR_OPTION));\r
- ASSERT (IfrOptionList != NULL);\r
- IfrOptionList[0].Flags = 0;\r
- IfrOptionList[0].StringToken = STRING_TOKEN (STR_ONE_OF_PCI);\r
- IfrOptionList[0].Value.u8 = 0;\r
- IfrOptionList[1].Flags = 0;\r
- IfrOptionList[1].StringToken = STRING_TOKEN (STR_ONE_OF_AGP);\r
- IfrOptionList[1].Value.u8 = 1;\r
- IfrOptionList[gDeviceManagerPrivate.VideoBios].Flags |= EFI_IFR_OPTION_DEFAULT;\r
-\r
- UpdateData[0].Offset = 0;\r
- CreateOneOfOpCode (\r
- DEVICE_MANAGER_KEY_VBIOS,\r
- 0,\r
- 0,\r
- STRING_TOKEN (STR_ONE_OF_VBIOS),\r
- STRING_TOKEN (STR_ONE_OF_VBIOS_HELP),\r
- EFI_IFR_FLAG_CALLBACK,\r
- EFI_IFR_NUMERIC_SIZE_1,\r
- IfrOptionList,\r
- 2,\r
- &UpdateData[0]\r
- );\r
-\r