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

Reply via email to