]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c
Bug fix for "Tiano BIOS needs to implement an automatic reboot when BIOS settings...
[mirror_edk2.git] / EdkNt32Pkg / Dxe / PlatformBds / Generic / BootMaint / BootMaint.c
index c4b3211dfd63c588fb307014aea0809b00f264d9..6eefa0bd30b3ecee315da40e8aa9098c9a2b6a71 100644 (file)
@@ -1230,6 +1230,7 @@ Returns:
   UINTN                     Index;\r
   BM_MENU_ENTRY             *NewMenuEntry;\r
   BM_FILE_CONTEXT           *NewFileContext;\r
+  BOOLEAN                       BootMaintMenuResetRequired;\r
 \r
   Location        = NULL;\r
   Index           = 0;\r
@@ -1247,6 +1248,7 @@ Returns:
   while (1) {\r
     UpdatePageId (CallbackData, FORM_MAIN_ID);\r
 \r
+    BootMaintMenuResetRequired = FALSE;\r
     Status = FormConfig->SendForm (\r
                           FormConfig,\r
                           TRUE,\r
@@ -1256,9 +1258,13 @@ Returns:
                           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
@@ -1267,6 +1273,7 @@ Returns:
     if (INACTIVE_STATE != CallbackData->FeCurrentState) {\r
       UpdateFileExplorer (CallbackData, 0);\r
 \r
+      BootMaintMenuResetRequired = FALSE;\r
       Status = FormConfig->SendForm (\r
                             FormConfig,\r
                             TRUE,\r
@@ -1276,9 +1283,13 @@ Returns:
                             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