Reviewed-by: Steele, Kelly <kelly.ste...@intel.com>

-----Original Message-----
From: Kinney, Michael D 
Sent: November 08, 2017 14:48
To: edk2-devel@lists.01.org
Cc: Steele, Kelly <kelly.ste...@intel.com>; Yao, Jiewen <jiewen....@intel.com>
Subject: [Patch] QuarkPlatformPkg/PlatformBootManagerLib: Update boot mode 
handling

https://bugzilla.tianocore.org/show_bug.cgi?id=768

Update and simplify boot mode handling logic.  This includes performing minimum 
connects for the following boot modes:

  BOOT_ASSUMING_NO_CONFIGURATION_CHANGES
  BOOT_WITH_MINIMAL_CONFIGURATION
  BOOT_ON_S4_RESUME

Cc: Kelly Steele <kelly.ste...@intel.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com>
---
 .../PlatformBootManagerLib/PlatformBootManager.c   | 30 +++++++++-------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git 
a/QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager.c 
b/QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
index 3c21318069..53391c6077 100644
--- a/QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
+++ b/QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManage
+++ r.c
@@ -2,7 +2,7 @@
 This file include all platform action which can be customized  by IBV/OEM.
 
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials  are licensed and made available 
under the terms and conditions of the BSD License  which accompanies this 
distribution.  The full text of the license may be found at @@ -354,9 +354,17 
@@ PlatformBootManagerAfterConsole (
   }
 
   BootMode = GetBootModeHob();
+
+  DEBUG((DEBUG_INFO, "PlatformBootManagerAfterConsole(): BootMode = 
+ %02x\n", BootMode));
+
   switch (BootMode) {
+  case BOOT_ASSUMING_NO_CONFIGURATION_CHANGES:
+  case BOOT_WITH_MINIMAL_CONFIGURATION:
+  case BOOT_ON_S4_RESUME:
+    EfiBootManagerRefreshAllBootOption ();
+    break;
+
   case BOOT_ON_FLASH_UPDATE:
-    DEBUG((DEBUG_INFO, "Capsule Mode detected\n"));
     if (FeaturePcdGet(PcdSupportUpdateCapsuleReset)) {
       EfiBootManagerConnectAll ();
       EfiBootManagerRefreshAllBootOption (); @@ -374,15 +382,6 @@ 
PlatformBootManagerAfterConsole (
     }
     break;
 
-  case BOOT_IN_RECOVERY_MODE:
-    DEBUG((DEBUG_INFO, "Recovery Mode detected\n"));
-    // Passthrough
-
-  case BOOT_ASSUMING_NO_CONFIGURATION_CHANGES:
-  case BOOT_WITH_MINIMAL_CONFIGURATION:
-  case BOOT_WITH_FULL_CONFIGURATION:
-  case BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS:
-  case BOOT_WITH_DEFAULT_SETTINGS:
   default:
     EfiBootManagerConnectAll ();
     EfiBootManagerRefreshAllBootOption (); @@ -390,14 +389,9 @@ 
PlatformBootManagerAfterConsole (
     //
     // Sync ESRT Cache from FMP Instance on demand after Connect All
     //
-    if ((BootMode != BOOT_ASSUMING_NO_CONFIGURATION_CHANGES) &&
-        (BootMode != BOOT_WITH_MINIMAL_CONFIGURATION) &&
-        (BootMode != BOOT_ON_S4_RESUME)) {
-      if (EsrtManagement != NULL) {
-        EsrtManagement->SyncEsrtFmp();
-      }
+    if (EsrtManagement != NULL) {
+      EsrtManagement->SyncEsrtFmp();
     }
-
     break;
   }
 
--
2.14.2.windows.3

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to