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. Thanks Laszlo ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel