TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
RETURN_STATUS EFIAPI | ConnectDevicesFromQemu (VOID) |
VOID EFIAPI | StoreQemuBootOrder (VOID) |
RETURN_STATUS EFIAPI | SetBootOrderFromQemu (VOID) |
UINT16 EFIAPI | GetFrontPageTimeoutFromQemu (VOID) |
Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file – include file.
Copyright (C) 2012-2014, Red Hat, Inc.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file QemuBootOrderLib.h.
RETURN_STATUS EFIAPI ConnectDevicesFromQemu | ( | VOID | ) |
Connect devices based on the boot order retrieved from QEMU.
Attempt to retrieve the "bootorder" fw_cfg file from QEMU. Translate the OpenFirmware device paths therein to UEFI device path fragments. Connect the devices identified by the UEFI devpath prefixes as narrowly as possible, then connect all their child devices, recursively.
If this function fails, then platform BDS should fall back to EfiBootManagerConnectAll(), or some other method for connecting any expected boot devices.
RETURN_SUCCESS | The "bootorder" fw_cfg file has been parsed, and the referenced device-subtrees have been connected. |
RETURN_UNSUPPORTED | QEMU's fw_cfg is not supported. |
RETURN_NOT_FOUND | Empty or nonexistent "bootorder" fw_cfg file. |
RETURN_INVALID_PARAMETER | Parse error in the "bootorder" fw_cfg file. |
RETURN_OUT_OF_RESOURCES | Memory allocation failed. |
Definition at line 1571 of file QemuBootOrderLib.c.
UINT16 EFIAPI GetFrontPageTimeoutFromQemu | ( | VOID | ) |
Calculate the number of seconds we should be showing the FrontPage progress bar for.
Definition at line 2373 of file QemuBootOrderLib.c.
RETURN_STATUS EFIAPI SetBootOrderFromQemu | ( | VOID | ) |
Set the boot order based on configuration retrieved from QEMU.
Attempt to retrieve the "bootorder" fw_cfg file from QEMU. Translate the OpenFirmware device paths therein to UEFI device path fragments. Match the translated fragments against the current list of boot options, and rewrite the BootOrder NvVar so that it corresponds to the order described in fw_cfg.
Platform BDS should call this function after connecting any expected boot devices and calling EfiBootManagerRefreshAllBootOption ().
RETURN_SUCCESS | BootOrder NvVar rewritten. |
RETURN_UNSUPPORTED | QEMU's fw_cfg is not supported. |
RETURN_NOT_FOUND | Empty or nonexistent "bootorder" fw_cfg file, or no match found between the "bootorder" fw_cfg file and BootOptionList. |
RETURN_INVALID_PARAMETER | Parse error in the "bootorder" fw_cfg file. |
RETURN_OUT_OF_RESOURCES | Memory allocation failed. |
Definition at line 2172 of file QemuBootOrderLib.c.
VOID EFIAPI StoreQemuBootOrder | ( | VOID | ) |
Write qemu boot order to uefi variables.
Attempt to retrieve the "bootorder" fw_cfg file from QEMU. Translate the OpenFirmware device paths therein to UEFI device path fragments.
On Success store the device path in QemuBootOrderNNNN variables.
Write qemu boot order to uefi variables.
Attempt to retrieve the "bootorder" fw_cfg file from QEMU. Translate the OpenFirmware device paths therein to UEFI device path fragments.
On Success store the device path in VMMBootOrderNNNN variables.
Definition at line 1716 of file QemuBootOrderLib.c.