On 12/15/14 16:14, Olivier Martin wrote: > I guess this change should have a better location in > ArmPlatformPkg/Library/PlatformIntelBdsLib? At least for: > - connect all drivers and devices > - enumerate all boot options > > It looks the way the Intel BDS works it requires all the drivers and devices > to be connected. > What do you think? Do you think is specific to qEmu?
Intel BDS itself does not require all drivers and devices to be connected. However, the QEMU boot order logic does require that. This patch per se could easily go into ArmPlatformPkg/Library/PlatformIntelBdsLib, indeed. However, patch 11/13 will further extend the boot policy, so that it includes a call to SetBootOrderFromQemu(). *That* is fully qemu specific, and it didn't feel right to add it to ArmPlatformPkg/Library/PlatformIntelBdsLib. So the dependencies go like this: - For the ArmVirtualizationQemu.dsc build platform, I'd like to call SetBootOrderFromQemu(). That's one of the end-goals of this series. - SetBootOrderFromQemu() is probably not appropriate for the more generic ArmPlatformPkg/Library/PlatformIntelBdsLib, so let's clone it for ArmVirtualizationPkg. - Correct working of SetBootOrderFromQemu() depends on BdsLibConnectAll() + BdsLibEnumerateAllBootOption(), so add those calls to the ArmVirtualizationPkg clone too. I could add BdsLibConnectAll() + BdsLibEnumerateAllBootOption() to ArmPlatformPkg/Library/PlatformIntelBdsLib, but I would not use that library instance, because ultimately I need SetBootOrderFromQemu(), and I can't call *that* there. BdsLibConnectAll() + BdsLibEnumerateAllBootOption() are just dependencies for SetBootOrderFromQemu(). Thanks Laszlo > >> -----Original Message----- >> From: Laszlo Ersek [mailto:[email protected]] >> Sent: 11 December 2014 02:46 >> To: [email protected]; [email protected]; >> [email protected]; [email protected] >> Subject: [edk2] [PATCH v3 04/13] 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 <[email protected]> >> --- >> >> ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBd >> sPlatform.h | 6 ++++++ >> >> ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBd >> sPlatform.c | 4 ++++ >> ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc >> | 2 ++ >> 3 files changed, 12 insertions(+) >> >> diff --git >> a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.h >> b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.h >> index a244ac9..c50bda2 100644 >> --- >> a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.h >> +++ >> b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.h >> @@ -32,4 +32,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, >> EITHER EXPRESS OR IMPLIED. >> >> #include <Guid/GlobalVariable.h> >> >> +VOID >> +PlatformBdsEnterFrontPage ( >> + IN UINT16 TimeoutDefault, >> + IN BOOLEAN ConnectAllHappened >> + ); >> + >> #endif // _INTEL_BDS_PLATFORM_H >> diff --git >> a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.c >> b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.c >> index c07fc0f..75b956b 100644 >> --- >> a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.c >> +++ >> b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/Intel >> BdsPlatform.c >> @@ -302,6 +302,10 @@ PlatformBdsPolicyBehavior ( >> >> Status = PlatformBdsConnectConsole (); >> ASSERT_EFI_ERROR (Status); >> + >> + BdsLibConnectAll (); >> + BdsLibEnumerateAllBootOption (BootOptionList); >> + PlatformBdsEnterFrontPage (gPlatformBootTimeOutDefault, TRUE); >> } >> >> /** >> diff --git >> a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc >> b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc >> index c825340..e16c02e 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 >> -- >> 1.8.3.1 >> >> >> >> ----------------------------------------------------------------------- >> ------- >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and >> Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & >> more >> Get technology previously reserved for billion-dollar corporations, >> FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.c >> lktrk >> _______________________________________________ >> edk2-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/edk2-devel > > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/edk2-devel > ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
