On Wed, Oct 22, 2014 at 12:17 PM, Laszlo Ersek <ler...@redhat.com> wrote: > On 10/22/14 21:02, Laszlo Ersek wrote: >> On 10/22/14 20:47, Jordan Justen wrote: >>> On Wed, Oct 22, 2014 at 11:28 AM, Laszlo Ersek <ler...@redhat.com> wrote: >>>> On 10/22/14 20:05, Jordan Justen wrote: >>>>> Laszlo, >>>>> >>>>> Seabios starts to boot the OS nearly instantaneously. OVMF takes >>>>> several seconds. >>>>> >>>>> I think in OVMF today this is mainly due to timeouts waiting for a >>>>> non-existent floppy and/or CD ROM. >>>>> >>>>> This series adds a few more seconds waiting on the boot screen >>>>> timeout. This seems to be heading in the wrong direction in terms of >>>>> boot time. >>>> >>>> I can try lowering PcdPlatformBootTimeOut to zero. According to the >>>> PCD's documentation, that's a valid value, and on a second look, even >>>> PlatformBdsEnterFrontPage() / ShowProgress() support a TimeoutDefault==0. >>>> >>>> This would even shave off 0.3 seconds from the boot time (without >>>> breaking the behavior when the user hits a key on the splash screen). >>>> >>>> Calling PlatformBdsEnterFrontPage() unconditionally seems unavoidable, >>>> according to the advice I got from Eric. Otherwise the OsIndications >>>> variable will not be picked up. >>>> >>>> I considered briefly to look at OsIndications directly in our >>>> PlatformBdsPolicyBehavior() function, but that would be very wrong. >>>> >>>> So, how about the patchset with PcdPlatformBootTimeOut|0 ? >>> >>> Sure, if 0 means 0 time. I think it might mean infinity. >> >> The commit message of patch 3 quotes IntelFrameworkModulePkg.dec: >> >> The number of seconds that the firmware will wait before initiating >> the original default boot selection. >> A value of 0 indicates that the default boot selection is to be >> initiated immediately on boot. >> The value of 0xFFFF then firmware will wait for user input before >> booting. >> >> 0xFFFF means "infinity" in the sense that the setup tool is entered >> immediately, which blocks on user input. >> >> And, TimeoutDefault==0 causes ShowProgress() >> [IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c] to return >> EFI_TIMEOUT immediately. > > Sigh. If I set PcdPlatformBootTimeOut to 0, then the progress bar is not > shown, but a user keypress is also not picked up. > > Therefore the minimum I could set is 1 second, which would increase the > boot time by 0.7 seconds. Let me know how you want me to proceed.
Eric, Do you have a suggestion? I think with all the focus on fast boot times, there must be a way to get through BDS without taking a 0.7 second time delay on the splash screen. -Jordan ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel