OvmfPkg: extract QemuBootOrderLib

and rebase OvmfPkg's PlatformBdsLib on the standalone library.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16570 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Laszlo Ersek 2015-01-02 12:07:57 +00:00 committed by lersek
parent 1b610ac255
commit cca7475bcb
9 changed files with 70 additions and 5 deletions

View File

@ -2,7 +2,7 @@
Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file -- Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file --
include file. include file.
Copyright (C) 2012, Red Hat, Inc. Copyright (C) 2012-2014, Red Hat, Inc.
This program and the accompanying materials are licensed and made available This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this under the terms and conditions of the BSD License which accompanies this
@ -13,6 +13,8 @@
WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 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 <Uefi/UefiBaseType.h>
#include <Base.h> #include <Base.h>
@ -51,3 +53,5 @@ RETURN_STATUS
SetBootOrderFromQemu ( SetBootOrderFromQemu (
IN CONST LIST_ENTRY *BootOptionList IN CONST LIST_ENTRY *BootOptionList
); );
#endif

View File

@ -13,7 +13,7 @@
**/ **/
#include "BdsPlatform.h" #include "BdsPlatform.h"
#include "QemuBootOrder.h" #include <Library/QemuBootOrderLib.h>
// //

View File

@ -29,10 +29,8 @@
[Sources] [Sources]
BdsPlatform.c BdsPlatform.c
PlatformData.c PlatformData.c
QemuBootOrder.c
QemuKernel.c QemuKernel.c
BdsPlatform.h BdsPlatform.h
QemuBootOrder.h
[Packages] [Packages]
MdePkg/MdePkg.dec MdePkg/MdePkg.dec
@ -52,6 +50,7 @@
NvVarsFileLib NvVarsFileLib
QemuFwCfgLib QemuFwCfgLib
LoadLinuxLib LoadLinuxLib
QemuBootOrderLib
[Pcd] [Pcd]
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut

View File

@ -1,7 +1,7 @@
/** @file /** @file
Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file. Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file.
Copyright (C) 2012 - 2013, Red Hat, Inc. Copyright (C) 2012 - 2014, Red Hat, Inc.
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available This program and the accompanying materials are licensed and made available
@ -22,6 +22,7 @@
#include <Library/BaseLib.h> #include <Library/BaseLib.h>
#include <Library/PrintLib.h> #include <Library/PrintLib.h>
#include <Library/DevicePathLib.h> #include <Library/DevicePathLib.h>
#include <Library/QemuBootOrderLib.h>
#include <Guid/GlobalVariable.h> #include <Guid/GlobalVariable.h>

View File

@ -0,0 +1,53 @@
## @file
# Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg file.
#
# Copyright (C) 2012 - 2014, Red Hat, Inc.
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
#
# 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.
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = QemuBootOrderLib
FILE_GUID = 4FFFA9E1-103D-4CF2-9C06-563BDD03050E
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = QemuBootOrderLib|DXE_DRIVER
#
# The following information is for reference only and not required by the build
# tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
#
[Sources]
QemuBootOrderLib.c
[Packages]
MdePkg/MdePkg.dec
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
OvmfPkg/OvmfPkg.dec
[LibraryClasses]
QemuFwCfgLib
DebugLib
MemoryAllocationLib
GenericBdsLib
UefiBootServicesTableLib
UefiRuntimeServicesTableLib
BaseLib
PrintLib
DevicePathLib
[Guids]
gEfiGlobalVariableGuid

View File

@ -35,6 +35,11 @@
# #
QemuFwCfgLib|Include/Library/QemuFwCfgLib.h QemuFwCfgLib|Include/Library/QemuFwCfgLib.h
## @libraryclass Rewrite the BootOrder NvVar based on QEMU's "bootorder"
# fw_cfg file.
#
QemuBootOrderLib|Include/Library/QemuBootOrderLib.h
## @libraryclass Serialize (and deserialize) variables ## @libraryclass Serialize (and deserialize) variables
# #
SerializeVariablesLib|Include/Library/SerializeVariablesLib.h SerializeVariablesLib|Include/Library/SerializeVariablesLib.h

View File

@ -259,6 +259,7 @@
!ifdef $(SOURCE_DEBUG_ENABLE) !ifdef $(SOURCE_DEBUG_ENABLE)
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
!endif !endif
QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
[LibraryClasses.common.UEFI_APPLICATION] [LibraryClasses.common.UEFI_APPLICATION]
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf

View File

@ -264,6 +264,7 @@
!ifdef $(SOURCE_DEBUG_ENABLE) !ifdef $(SOURCE_DEBUG_ENABLE)
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
!endif !endif
QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
[LibraryClasses.common.UEFI_APPLICATION] [LibraryClasses.common.UEFI_APPLICATION]
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf

View File

@ -264,6 +264,7 @@
!ifdef $(SOURCE_DEBUG_ENABLE) !ifdef $(SOURCE_DEBUG_ENABLE)
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
!endif !endif
QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
[LibraryClasses.common.UEFI_APPLICATION] [LibraryClasses.common.UEFI_APPLICATION]
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf