summaryrefslogtreecommitdiff
path: root/OvmfPkg
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2014-11-06 14:21:15 +0000
committerlersek <lersek@Edk2>2014-11-06 14:21:15 +0000
commitb1220e28202221fa987492f65f538f7acb8b7e7f (patch)
tree203b1cdfdb2e0ff9460b735a666ad6ddd6c0aa5c /OvmfPkg
parentb90ffb9fc8360345138f50988a8a1bd339f80da1 (diff)
OvmfPkg: BDS: drop custom boot timeout, revert to IntelFrameworkModulePkg's
PlatformBdsEnterFrontPage() already implements a keypress wait (for entering the setup utility at boot) with a nice progress bar, only OVMF has not been using it. Removing our custom code and utilizing PlatformBdsEnterFrontPage()'s builtin wait has the following benefits: - It simplifies OVMF's BDS code. - Because now we call PlatformBdsEnterFrontPage() unconditionally, it actually has a chance to look at the EFI_OS_INDICATIONS_BOOT_TO_FW_UI bit of the "OsIndications" variable, improving compliance with the UEFI specification. References: - https://bugzilla.redhat.com/show_bug.cgi?id=1153927 - http://thread.gmane.org/gmane.comp.bios.tianocore.devel/10487 - The progress bar looks nice. (And it keeps the earlier behavior intact, when the user presses a key on the TianoCore splash screen.) In any case, we set the timeout to 0 (which doesn't show the progress bar and proceeds to the boot options immediately) in order to keep the boot time down. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16310 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg')
-rw-r--r--OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c38
-rw-r--r--OvmfPkg/OvmfPkgIa32.dsc1
-rw-r--r--OvmfPkg/OvmfPkgIa32X64.dsc1
-rw-r--r--OvmfPkg/OvmfPkgX64.dsc1
4 files changed, 5 insertions, 36 deletions
diff --git a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
index e974d3fbc..4b76c6e89 100644
--- a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
@@ -1062,10 +1062,6 @@ Returns:
{
EFI_STATUS Status;
UINT16 Timeout;
- EFI_EVENT UserInputDurationTime;
- UINTN Index;
- EFI_INPUT_KEY Key;
- EFI_TPL OldTpl;
EFI_BOOT_MODE BootMode;
DEBUG ((EFI_D_INFO, "PlatformBdsPolicyBehavior\n"));
@@ -1114,19 +1110,7 @@ Returns:
//
PlatformBdsNoConsoleAction ();
}
- //
- // Create a 300ms duration event to ensure user has enough input time to enter Setup
- //
- Status = gBS->CreateEvent (
- EVT_TIMER,
- 0,
- NULL,
- NULL,
- &UserInputDurationTime
- );
- ASSERT (Status == EFI_SUCCESS);
- Status = gBS->SetTimer (UserInputDurationTime, TimerRelative, 3000000);
- ASSERT (Status == EFI_SUCCESS);
+
//
// Memory test and Logo show
//
@@ -1153,25 +1137,7 @@ Returns:
//
BdsLibBuildOptionFromVar (BootOptionList, L"BootOrder");
- //
- // To give the User a chance to enter Setup here, if user set TimeOut is 0.
- // BDS should still give user a chance to enter Setup
- //
- // Check whether the user input after the duration time has expired
- //
- OldTpl = EfiGetCurrentTpl();
- gBS->RestoreTPL (TPL_APPLICATION);
- gBS->WaitForEvent (1, &UserInputDurationTime, &Index);
- gBS->CloseEvent (UserInputDurationTime);
- Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
- gBS->RaiseTPL (OldTpl);
-
- if (!EFI_ERROR (Status)) {
- //
- // Enter Setup if user input
- //
- PlatformBdsEnterFrontPage (Timeout, TRUE);
- }
+ PlatformBdsEnterFrontPage (Timeout, TRUE);
}
VOID
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index baed12950..96e2d0ccf 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -331,6 +331,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
################################################################################
#
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 32993ccaa..2247e0443 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -337,6 +337,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
################################################################################
#
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 736a549ef..225b0e678 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -336,6 +336,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
################################################################################
#