summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordevel@edk2.groups.io <devel@edk2.groups.io>2019-07-30 01:16:14 -0700
committerMichael D Kinney <michael.d.kinney@intel.com>2019-08-09 12:07:46 -0700
commiteb6120aecd095521bda302f44d144432ac2b323c (patch)
treebaa2a06e18818cfa4d7537611859221a090136fc
parent0faad02bdbb511670887bef8d97d24a70f2915d0 (diff)
Vlv2TbltDevicePkg: Only sort boot options when necessary
* PlatformBootManagerAfterConsole() always sorted the boot options at the end, and this would invalidate the BootOrder created by the user. Besides, the current implementation would sort the boot options twice, and this is not efficient. We should just sort the boot options once at the end of the function only for the very first boot. * Update the string in IsNeedSortBootOption() to match the description of BootManagerMenuApp. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/Library/DxePlatformBootManagerLib/BdsPlatform.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Library/DxePlatformBootManagerLib/BdsPlatform.c b/Platform/Intel/Vlv2TbltDevicePkg/Library/DxePlatformBootManagerLib/BdsPlatform.c
index 7fbbf281..a5423013 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/Library/DxePlatformBootManagerLib/BdsPlatform.c
+++ b/Platform/Intel/Vlv2TbltDevicePkg/Library/DxePlatformBootManagerLib/BdsPlatform.c
@@ -1299,7 +1299,7 @@ IsNeedSortBootOption (
//
if ((BootOptionCount > 1) &&
(((StrnCmp (BootOptions->Description, L"Enter Setup", StrLen (L"Enter Setup"))) == 0) ||
- ((StrnCmp (BootOptions->Description, L"BootManagerMenuApp", StrLen (L"BootManagerMenuApp"))) == 0))) {
+ ((StrnCmp (BootOptions->Description, L"Boot Device List", StrLen (L"Boot Device List"))) == 0))) {
return TRUE;
}
@@ -1374,9 +1374,6 @@ PlatformBootManagerAfterConsole (
//
EfiBootManagerRefreshAllBootOption ();
- if (IsNeedSortBootOption()) {
- EfiBootManagerSortLoadOptionVariable (LoadOptionTypeBoot, CompareBootOption);
- }
//
// PXE boot option may appear after boot option enumeration
//
@@ -1400,7 +1397,9 @@ PlatformBootManagerAfterConsole (
Print (L"Press F7 for BootMenu!\n");
EfiBootManagerRefreshAllBootOption ();
- EfiBootManagerSortLoadOptionVariable (LoadOptionTypeBoot, CompareBootOption);
+ if (IsNeedSortBootOption()) {
+ EfiBootManagerSortLoadOptionVariable (LoadOptionTypeBoot, CompareBootOption);
+ }
}
/**