summaryrefslogtreecommitdiffstats
path: root/QuarkPlatformPkg
diff options
context:
space:
mode:
authorMichael D Kinney <michael.d.kinney@intel.com>2017-11-07 14:36:28 -0800
committerMichael D Kinney <michael.d.kinney@intel.com>2017-11-14 16:47:35 -0800
commita7f3ed1f5276d1dd512449288f66581d44b42745 (patch)
treedef4d6b06a03b64405fee89a58c4c8c45b161a7e /QuarkPlatformPkg
parent8716ac5364b20eeabb120da3baed354c6a07a28e (diff)
downloadedk2-a7f3ed1f5276d1dd512449288f66581d44b42745.tar.gz
edk2-a7f3ed1f5276d1dd512449288f66581d44b42745.tar.bz2
edk2-a7f3ed1f5276d1dd512449288f66581d44b42745.zip
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.steele@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Kelly Steele <kelly.steele@intel.com>
Diffstat (limited to 'QuarkPlatformPkg')
-rw-r--r--QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager.c30
1 files 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/PlatformBootManager.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;
}