On 3/2/23 09:32, Christian Ehrhardt wrote:

> good ~instant
> [08:14:37.267336194] Select Item: 0xE
> [08:14:37.268346995] [Bds]RegisterKeyNotify: 000C/0000 80000000/00 Success
>
> bad ~8s
> [08:15:43.561054490] Select Item: 0xE
> [08:15:51.291039364] [Bds]RegisterKeyNotify: 000C/0000 80000000/00 Success

Yes, this is consistent with my hypothesis.

  PlatformBootManagerBeforeConsole()

    GetFrontPageTimeoutFromQemu()
      QemuFwCfgSelectItem (QemuFwCfgItemBootMenu)
        // "Select Item: 0xE"

    gRT->SetVariable()

    PlatformRegisterOptionsAndKeys()
      EfiBootManagerAddKeyOptionVariable()

        gRT->SetVariable()

        BmProcessKeyOption()
          BmRegisterHotkeyNotify()
            // "[Bds]RegisterKeyNotify: 000C/0000 80000000/00 Success"

IOW, there are at least two gRT->SetVariable() calls in OVMF (with
EFI_VARIABLE_NON_VOLATILE attribute) between the two adjacent log lines
you quoted.

The other functions listed in the call tree may contain further
gRT->SetVariable() calls.

Laszlo


Reply via email to