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

Reply via email to