summaryrefslogtreecommitdiff
path: root/IntelFrameworkModulePkg/Universal/BdsDxe
diff options
context:
space:
mode:
Diffstat (limited to 'IntelFrameworkModulePkg/Universal/BdsDxe')
-rw-r--r--IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
index f5431551f5..1cc383e3e5 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
@@ -143,6 +143,17 @@ BdsBootDeviceSelect (
// Parse the boot order to get boot option
//
BdsLibBuildOptionFromVar (&BootLists, L"BootOrder");
+
+ //
+ // When we didn't have chance to build boot option variables in the first
+ // full configuration boot (e.g.: Reset in the first page or in Device Manager),
+ // we have no boot options in the following mini configuration boot.
+ // Give the last chance to enumerate the boot options.
+ //
+ if (IsListEmpty (&BootLists)) {
+ BdsLibEnumerateAllBootOption (&BootLists);
+ }
+
Link = BootLists.ForwardLink;
//