This timeout value is used to wait for user input, if we set this value to 0, 
it means we will not wait for the user input and directly boot the first boot 
option.

Actually I don't clear what's the request now? Boot as fast as possible and 
also need get possible user input?

Thanks,
Eric

-----Original Message-----
From: Jordan Justen [mailto:jljus...@gmail.com] 
Sent: Thursday, October 23, 2014 3:28 AM
To: Dong, Eric; Laszlo Ersek
Cc: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2] [PATCH 0/7] OvmfPkg: PlatformBdsLib cleanups and 
improvements

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