diff options
author | Shifei Lu <shifeix.a.lu@intel.com> | 2015-01-27 07:34:32 +0000 |
---|---|---|
committer | timhe <timhe@Edk2> | 2015-01-27 07:34:32 +0000 |
commit | 4139580d3151bb7cdb1f46a0c170b6f7d8032f38 (patch) | |
tree | 28ceb2be8e6a5aad27d571f388d35bac9d21198a | |
parent | 734b93933c0c30ca082c0fe81fe41daae3a2dedc (diff) | |
download | edk2-platforms-4139580d3151bb7cdb1f46a0c170b6f7d8032f38.tar.xz |
Fixed system hang issue with accessing to Boot Maintenance Manager
when pressed hot key to enter BIOS setup.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Shifei Lu <shifeix.a.lu@intel.com>
Reviewed-by: Tim He <tim.he@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16666 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c | 19 | ||||
-rw-r--r-- | Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.h | 15 |
2 files changed, 32 insertions, 2 deletions
diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c index b0ada79f02..e7e4a91925 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c @@ -2051,7 +2051,11 @@ PlatformBdsEnterFrontPageWithHotKey ( goto Exit;
}
}
-
+ //
+ // Install BM HiiPackages.
+ // Keep BootMaint HiiPackage, so that it can be covered by global setting.
+ //
+ InitBMPackage ();
do {
BdsSetConsoleMode (TRUE);
@@ -2113,11 +2117,20 @@ PlatformBdsEnterFrontPageWithHotKey ( break;
case FRONT_PAGE_KEY_BOOT_MANAGER:
+ //
+ // Remove the installed BootMaint HiiPackages when exit.
+ //
+ FreeBMPackage ();
//
// User chose to run the Boot Manager
//
CallBootManager ();
+
+ //
+ // Reinstall BootMaint HiiPackages after exiting from Boot Manager.
+ //
+ InitBMPackage ();
break;
case FRONT_PAGE_KEY_DEVICE_MANAGER:
@@ -2145,6 +2158,10 @@ PlatformBdsEnterFrontPageWithHotKey ( //Will leave browser, check any reset required change is applied? if yes, reset system
//
SetupResetReminder ();
+ //
+ // Remove the installed BootMaint HiiPackages when exit.
+ //
+ FreeBMPackage ();
Exit:
//
diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.h b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.h index 63972b51b8..46262472fe 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.h +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.h @@ -391,7 +391,20 @@ PlatformBdsEnterFrontPageWithHotKey ( UpdateFrontPageStrings (
VOID
);
-
+
+
+ EFI_STATUS
+ InitBMPackage (
+ VOID
+ );
+
+
+ VOID
+ FreeBMPackage (
+ VOID
+ );
+
+
EFI_STATUS
CallFrontPage (
VOID
|