With OvmfPkg's original QemuBootOrderLib (and USE_OLD_BDS) gone, we no longer need the BootOptionList parameter in the SetBootOrderFromQemu() prototype. Update the library class header file (including the function's documentation), and adapt the library instance and the call sites. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Gary Ching-Pang Lin <glin@suse.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file --
 | 
						|
  include file.
 | 
						|
 | 
						|
  Copyright (C) 2012-2014, Red Hat, Inc.
 | 
						|
 | 
						|
  This program and the accompanying materials are licensed and made available
 | 
						|
  under the terms and conditions of the BSD License which accompanies this
 | 
						|
  distribution.  The full text of the license may be found at
 | 
						|
  http://opensource.org/licenses/bsd-license.php
 | 
						|
 | 
						|
  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
 | 
						|
  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __QEMU_BOOT_ORDER_LIB_H__
 | 
						|
#define __QEMU_BOOT_ORDER_LIB_H__
 | 
						|
 | 
						|
#include <Uefi/UefiBaseType.h>
 | 
						|
#include <Base.h>
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
  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 EfiBootManagerConnectAll () and
 | 
						|
  EfiBootManagerRefreshAllBootOption () return.
 | 
						|
 | 
						|
  @retval RETURN_SUCCESS            BootOrder NvVar rewritten.
 | 
						|
 | 
						|
  @retval RETURN_UNSUPPORTED        QEMU's fw_cfg is not supported.
 | 
						|
 | 
						|
  @retval RETURN_NOT_FOUND          Empty or nonexistent "bootorder" fw_cfg
 | 
						|
                                    file, or no match found between the
 | 
						|
                                    "bootorder" fw_cfg file and BootOptionList.
 | 
						|
 | 
						|
  @retval RETURN_INVALID_PARAMETER  Parse error in the "bootorder" fw_cfg file.
 | 
						|
 | 
						|
  @retval RETURN_OUT_OF_RESOURCES   Memory allocation failed.
 | 
						|
 | 
						|
  @return                           Values returned by gBS->LocateProtocol ()
 | 
						|
                                    or gRT->SetVariable ().
 | 
						|
 | 
						|
**/
 | 
						|
RETURN_STATUS
 | 
						|
SetBootOrderFromQemu (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
  Calculate the number of seconds we should be showing the FrontPage progress
 | 
						|
  bar for.
 | 
						|
 | 
						|
  @return  The TimeoutDefault argument for PlatformBdsEnterFrontPage().
 | 
						|
**/
 | 
						|
UINT16
 | 
						|
GetFrontPageTimeoutFromQemu (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |