-/*++ \r
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
Module Name:\r
\r
BootMaint.c\r
- \r
+\r
Abstract:\r
\r
Boot Maintainence Main File\r
Arguments:\r
\r
HiiHandle - Hii Handle of the package to be updated.\r
- \r
+\r
MenuOption - The Menu whose string tokens need to be created\r
\r
Returns:\r
\r
EFI_SUCCESS - string tokens created successfully\r
- \r
+\r
others - contain some errors\r
- \r
+\r
--*/\r
{\r
BM_MENU_ENTRY *NewMenuEntry;\r
\r
Arguments:\r
\r
- This - File explorer callback protocol pointer. \r
+ This - File explorer callback protocol pointer.\r
KeyValue - Key value to identify the type of data to expect.\r
Data - A pointer to the data being sent to the original exporting driver.\r
Packet - A pointer to a packet of information which a driver passes back to the browser.\r
\r
EFI_SUCCESS - Callback ended successfully.\r
Others - Contain some errors.\r
- \r
+\r
--*/\r
{\r
BMM_CALLBACK_DATA *Private;\r
Index2 = (UINT16) (KeyValue - HANDLE_OPTION_OFFSET);\r
\r
NewMenuEntry = BOpt_GetMenuEntry (&DriverMenu, Index2);\r
+ ASSERT (NewMenuEntry != NULL);\r
Private->HandleContext = (BM_HANDLE_CONTEXT *) NewMenuEntry->VariableContext;\r
\r
CleanUpPage (FORM_DRV_ADD_HANDLE_DESC_ID, Private);\r
case FORM_CON_COM_ID:\r
NewMenuEntry = BOpt_GetMenuEntry (&TerminalMenu, Private->CurrentTerminal);\r
\r
+ ASSERT (NewMenuEntry != NULL);\r
+\r
NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
\r
NewTerminalContext->BaudRateIndex = CurrentFakeNVMap->COMBaudRate;\r
Arguments:\r
\r
ImageHandle - caller provided handle\r
- \r
+\r
SystemTable - caller provided system tables\r
\r
Returns:\r
\r
EFI_SUCCESS - utility ended successfully\r
- \r
+\r
others - contain some errors\r
- \r
+\r
--*/\r
{\r
EFI_LEGACY_BIOS_PROTOCOL *LegacyBios;\r
//\r
PackageList = PreparePackages (1, &gBdsStringPackGuid, bmBin);\r
Status = Hii->NewPack (Hii, PackageList, &HiiHandle);\r
- gBS->FreePool (PackageList);\r
+ FreePool (PackageList);\r
\r
BmmCallbackInfo->BmmHiiHandle = HiiHandle;\r
\r
PackageList = PreparePackages (1, &gBdsStringPackGuid, FEBin);\r
Status = Hii->NewPack (Hii, PackageList, &HiiHandle);\r
- gBS->FreePool (PackageList);\r
+ FreePool (PackageList);\r
\r
BmmCallbackInfo->FeHiiHandle = HiiHandle;\r
\r
None.\r
\r
Returns:\r
- None. \r
+ None.\r
--*/\r
{\r
STRING_DEPOSITORY *StringDepository;\r
UINTN Index;\r
BM_MENU_ENTRY *NewMenuEntry;\r
BM_FILE_CONTEXT *NewFileContext;\r
+ BOOLEAN BootMaintMenuResetRequired;\r
\r
Location = NULL;\r
Index = 0;\r
while (1) {\r
UpdatePageId (CallbackData, FORM_MAIN_ID);\r
\r
+ BootMaintMenuResetRequired = FALSE;\r
Status = FormConfig->SendForm (\r
FormConfig,\r
TRUE,\r
NULL,\r
(UINT8 *) CallbackData->BmmFakeNvData,\r
NULL,\r
- NULL\r
+ &BootMaintMenuResetRequired\r
);\r
\r
+ if (BootMaintMenuResetRequired) {\r
+ EnableResetRequired ();\r
+ }\r
+\r
ReclaimStringDepository ();\r
\r
//\r
if (INACTIVE_STATE != CallbackData->FeCurrentState) {\r
UpdateFileExplorer (CallbackData, 0);\r
\r
+ BootMaintMenuResetRequired = FALSE;\r
Status = FormConfig->SendForm (\r
FormConfig,\r
TRUE,\r
NULL,\r
NULL,\r
NULL,\r
- NULL\r
+ &BootMaintMenuResetRequired\r
);\r
\r
+ if (BootMaintMenuResetRequired) {\r
+ EnableResetRequired ();\r
+ }\r
+\r
CallbackData->FeCurrentState = INACTIVE_STATE;\r
CallbackData->FeDisplayContext = UNKNOWN_CONTEXT;\r
ReclaimStringDepository ();\r