public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* EFI Timeout variable is ignored (initialized to default on every boot)
@ 2020-07-11 13:12 Andrei Borzenkov
  2020-07-13 15:44 ` [edk2-devel] " Laszlo Ersek
  0 siblings, 1 reply; 2+ messages in thread
From: Andrei Borzenkov @ 2020-07-11 13:12 UTC (permalink / raw)
  To: devel

Using 202005 version I am not able to change "Boot Maintenance Manager"
- "Auto Boot Time-out" or set Timeout variable from within Linux with
efibootmgr - value is overwritten with default (normally 0) on every
boot. The only possibility is to use -boot menu=on QEMU option. Looking
at code, PlatformBootManagerBeforeConsole() unconditionally sets Timeout
to value obtained from GetFrontPageTimeoutFromQemu() which in turn
returns PcdPlatformBootTimeOut (default 0) if nothing was present on
command line (or in general passed via fw_cfg).

I'd expect that default should be current value of Timeout unless
overridden by command line/fw_cfg. It is OK to initialize it for the
first time to PcdPlatformBootTimeOut if Timeout was not defined, but
certainly not every time on every boot.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [edk2-devel] EFI Timeout variable is ignored (initialized to default on every boot)
  2020-07-11 13:12 EFI Timeout variable is ignored (initialized to default on every boot) Andrei Borzenkov
@ 2020-07-13 15:44 ` Laszlo Ersek
  0 siblings, 0 replies; 2+ messages in thread
From: Laszlo Ersek @ 2020-07-13 15:44 UTC (permalink / raw)
  To: devel, arvidjaar

Hi,

On 07/11/20 15:12, Andrei Borzenkov wrote:
> Using 202005 version I am not able to change "Boot Maintenance Manager"
> - "Auto Boot Time-out" or set Timeout variable from within Linux with
> efibootmgr - value is overwritten with default (normally 0) on every
> boot. The only possibility is to use -boot menu=on QEMU option. Looking
> at code, PlatformBootManagerBeforeConsole() unconditionally sets Timeout
> to value obtained from GetFrontPageTimeoutFromQemu() which in turn
> returns PcdPlatformBootTimeOut (default 0) if nothing was present on
> command line (or in general passed via fw_cfg).
> 
> I'd expect that default should be current value of Timeout unless
> overridden by command line/fw_cfg. It is OK to initialize it for the
> first time to PcdPlatformBootTimeOut if Timeout was not defined, but
> certainly not every time on every boot.

BdsDxe overwrites the Timeout non-volatile variable with
PcdPlatformBootTimeOut, before calling PlatformBootManagerBeforeConsole().

OvmfPkg platform code does not write to the Timeout non-volatile
variable. OvmfPkg platform code only sets PcdPlatformBootTimeOut (from
fw_cfg), but that happens only after BdsDxe has overwritten Timeout with
PcdPlatformBootTimeOut.

https://bugzilla.tianocore.org/show_bug.cgi?id=2488#c1

Laszlo


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-07-13 15:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-11 13:12 EFI Timeout variable is ignored (initialized to default on every boot) Andrei Borzenkov
2020-07-13 15:44 ` [edk2-devel] " Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox