\r
}\r
\r
-/**\r
- Create the dynamic page to allow user to set\r
- the "BootNext" value.\r
-\r
- @param CallbackData The BMM context data.\r
-\r
-**/\r
-VOID\r
-UpdateBootNextPage (\r
- IN BMM_CALLBACK_DATA *CallbackData\r
- )\r
-{\r
- BM_MENU_ENTRY *NewMenuEntry;\r
- BM_LOAD_CONTEXT *NewLoadContext;\r
- UINTN NumberOfOptions;\r
- UINT16 Index;\r
- VOID *OptionsOpCodeHandle;\r
-\r
- NumberOfOptions = BootOptionMenu.MenuNumber;\r
- CallbackData->BmmAskSaveOrNot = TRUE;\r
-\r
- UpdatePageStart (CallbackData);\r
-\r
- if (NumberOfOptions > 0) {\r
- OptionsOpCodeHandle = HiiAllocateOpCodeHandle ();\r
- ASSERT (OptionsOpCodeHandle != NULL);\r
-\r
- CallbackData->BmmFakeNvData.BootNext = NONE_BOOTNEXT_VALUE;\r
-\r
- for (Index = 0; Index < BootOptionMenu.MenuNumber; Index++) {\r
- NewMenuEntry = BOpt_GetMenuEntry (&BootOptionMenu, Index);\r
- NewLoadContext = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
-\r
- if (NewLoadContext->IsBootNext) {\r
- HiiCreateOneOfOptionOpCode (\r
- OptionsOpCodeHandle,\r
- NewMenuEntry->DisplayStringToken,\r
- EFI_IFR_OPTION_DEFAULT,\r
- EFI_IFR_TYPE_NUM_SIZE_32,\r
- Index\r
- );\r
- CallbackData->BmmFakeNvData.BootNext = Index;\r
- } else {\r
- HiiCreateOneOfOptionOpCode (\r
- OptionsOpCodeHandle,\r
- NewMenuEntry->DisplayStringToken,\r
- 0,\r
- EFI_IFR_TYPE_NUM_SIZE_32,\r
- Index\r
- );\r
- }\r
- }\r
-\r
- if (CallbackData->BmmFakeNvData.BootNext == NONE_BOOTNEXT_VALUE) {\r
- HiiCreateOneOfOptionOpCode (\r
- OptionsOpCodeHandle,\r
- STRING_TOKEN (STR_NONE),\r
- EFI_IFR_OPTION_DEFAULT,\r
- EFI_IFR_TYPE_NUM_SIZE_32,\r
- NONE_BOOTNEXT_VALUE\r
- );\r
- } else {\r
- HiiCreateOneOfOptionOpCode (\r
- OptionsOpCodeHandle,\r
- STRING_TOKEN (STR_NONE),\r
- 0,\r
- EFI_IFR_TYPE_NUM_SIZE_32,\r
- NONE_BOOTNEXT_VALUE\r
- );\r
- } \r
-\r
- HiiCreateOneOfOpCode (\r
- mStartOpCodeHandle,\r
- (EFI_QUESTION_ID) BOOT_NEXT_QUESTION_ID,\r
- VARSTORE_ID_BOOT_MAINT,\r
- BOOT_NEXT_VAR_OFFSET,\r
- STRING_TOKEN (STR_BOOT_NEXT),\r
- STRING_TOKEN (STR_BOOT_NEXT_HELP),\r
- 0,\r
- EFI_IFR_NUMERIC_SIZE_4,\r
- OptionsOpCodeHandle,\r
- NULL\r
- );\r
-\r
- HiiFreeOpCodeHandle (OptionsOpCodeHandle);\r
- }\r
-\r
- UpdatePageEnd (CallbackData);\r
-}\r
-\r
-/**\r
- Create the dynamic page to allow user to set the "TimeOut" value.\r
-\r
- @param CallbackData The BMM context data.\r
-\r
-**/\r
-VOID\r
-UpdateTimeOutPage (\r
- IN BMM_CALLBACK_DATA *CallbackData\r
- )\r
-{\r
- VOID *DefaultOpCodeHandle;\r
-\r
- CallbackData->BmmAskSaveOrNot = TRUE;\r
-\r
- UpdatePageStart (CallbackData);\r
-\r
- DefaultOpCodeHandle = HiiAllocateOpCodeHandle ();\r
- ASSERT (DefaultOpCodeHandle != NULL);\r
- HiiCreateDefaultOpCode (DefaultOpCodeHandle, EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_NUM_SIZE_16, CallbackData->BmmFakeNvData.BootTimeOut);\r
-\r
- HiiCreateNumericOpCode (\r
- mStartOpCodeHandle,\r
- (EFI_QUESTION_ID) BOOT_TIME_OUT_QUESTION_ID,\r
- VARSTORE_ID_BOOT_MAINT,\r
- BOOT_TIME_OUT_VAR_OFFSET,\r
- STRING_TOKEN (STR_NUM_AUTO_BOOT),\r
- STRING_TOKEN (STR_HLP_AUTO_BOOT),\r
- 0,\r
- EFI_IFR_NUMERIC_SIZE_2 | EFI_IFR_DISPLAY_UINT_DEC,\r
- 0,\r
- 65535,\r
- 0,\r
- DefaultOpCodeHandle\r
- );\r
- \r
- HiiFreeOpCodeHandle (DefaultOpCodeHandle);\r
-\r
- UpdatePageEnd (CallbackData);\r
-}\r
-\r
-\r
/**\r
Refresh the text mode page.\r
\r