From 1b610ac2550d053d0997832059cc83247888bae4 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 2 Jan 2015 12:07:52 +0000 Subject: [PATCH] ArmVirtualizationPkg: PlatformIntelBdsLib: add basic policy In PlatformBdsPolicyBehavior() we should follow the same pattern as in OvmfPkg's: after the consoles are connected, - connect all drivers and devices, - enumerate all boot options, - enter the Intel BDS FrontPage if the user presses a key different from Enter. We set the countdown to 3 seconds, similarly to the timeout that we specify for ARM BDS. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16569 6f19259b-4bc3-4df7-8a09-765794883524 --- .../ArmVirtualizationPkg/ArmVirtualizationQemu.dsc | 2 ++ .../Library/PlatformIntelBdsLib/IntelBdsPlatform.c | 4 ++++ .../Library/PlatformIntelBdsLib/IntelBdsPlatform.h | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc index 033cb35ea6..8ef59471c0 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc +++ b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc @@ -177,6 +177,8 @@ gArmVirtualizationTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0 gArmVirtualizationTokenSpaceGuid.PcdFwCfgDataAddress|0x0 + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3 + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c index 90e6e2dd45..a603ba7f3e 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c @@ -302,6 +302,10 @@ PlatformBdsPolicyBehavior ( Status = PlatformBdsConnectConsole (); ASSERT_EFI_ERROR (Status); + + BdsLibConnectAll (); + BdsLibEnumerateAllBootOption (BootOptionList); + PlatformBdsEnterFrontPage (gPlatformBootTimeOutDefault, TRUE); } /** diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h index a244ac9132..c50bda2f09 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h @@ -32,4 +32,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include +VOID +PlatformBdsEnterFrontPage ( + IN UINT16 TimeoutDefault, + IN BOOLEAN ConnectAllHappened + ); + #endif // _INTEL_BDS_PLATFORM_H -- 2.39.2