From cca7475bcbb8bfc7c732e106692a6d15e1dae51c Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 2 Jan 2015 12:07:57 +0000 Subject: [PATCH] OvmfPkg: extract QemuBootOrderLib and rebase OvmfPkg's PlatformBdsLib on the standalone library. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Acked-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16570 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/QemuBootOrderLib.h} | 6 ++- OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c | 2 +- .../Library/PlatformBdsLib/PlatformBdsLib.inf | 3 +- .../QemuBootOrderLib.c} | 3 +- .../QemuBootOrderLib/QemuBootOrderLib.inf | 53 +++++++++++++++++++ OvmfPkg/OvmfPkg.dec | 5 ++ OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + 9 files changed, 70 insertions(+), 5 deletions(-) rename OvmfPkg/{Library/PlatformBdsLib/QemuBootOrder.h => Include/Library/QemuBootOrderLib.h} (91%) rename OvmfPkg/Library/{PlatformBdsLib/QemuBootOrder.c => QemuBootOrderLib/QemuBootOrderLib.c} (96%) create mode 100644 OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf diff --git a/OvmfPkg/Library/PlatformBdsLib/QemuBootOrder.h b/OvmfPkg/Include/Library/QemuBootOrderLib.h similarity index 91% rename from OvmfPkg/Library/PlatformBdsLib/QemuBootOrder.h rename to OvmfPkg/Include/Library/QemuBootOrderLib.h index 8d4ca2b111..12cda6aa91 100644 --- a/OvmfPkg/Library/PlatformBdsLib/QemuBootOrder.h +++ b/OvmfPkg/Include/Library/QemuBootOrderLib.h @@ -2,7 +2,7 @@ Rewrite the BootOrder NvVar based on QEMU's "bootorder" fw_cfg 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 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. **/ +#ifndef __QEMU_BOOT_ORDER_LIB_H__ +#define __QEMU_BOOT_ORDER_LIB_H__ #include #include @@ -51,3 +53,5 @@ RETURN_STATUS SetBootOrderFromQemu ( IN CONST LIST_ENTRY *BootOptionList ); + +#endif diff --git a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c index df07281448..341f5c1596 100644 --- a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c +++ b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c @@ -13,7 +13,7 @@ **/ #include "BdsPlatform.h" -#include "QemuBootOrder.h" +#include // diff --git a/OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf b/OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf index 03f5b229cf..1adc28972a 100644 --- a/OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf +++ b/OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf @@ -29,10 +29,8 @@ [Sources] BdsPlatform.c PlatformData.c - QemuBootOrder.c QemuKernel.c BdsPlatform.h - QemuBootOrder.h [Packages] MdePkg/MdePkg.dec @@ -52,6 +50,7 @@ NvVarsFileLib QemuFwCfgLib LoadLinuxLib + QemuBootOrderLib [Pcd] gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut diff --git a/OvmfPkg/Library/PlatformBdsLib/QemuBootOrder.c b/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c similarity index 96% rename from OvmfPkg/Library/PlatformBdsLib/QemuBootOrder.c rename to OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c index bd0fb76877..2ff6854430 100644 --- a/OvmfPkg/Library/PlatformBdsLib/QemuBootOrder.c +++ b/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c @@ -1,7 +1,7 @@ /** @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.
This program and the accompanying materials are licensed and made available @@ -22,6 +22,7 @@ #include #include #include +#include #include diff --git a/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf b/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf new file mode 100644 index 0000000000..12419cda09 --- /dev/null +++ b/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf @@ -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.
+# +# 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 diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec index 33dcb82de2..e1d2731cab 100644 --- a/OvmfPkg/OvmfPkg.dec +++ b/OvmfPkg/OvmfPkg.dec @@ -35,6 +35,11 @@ # 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 # SerializeVariablesLib|Include/Library/SerializeVariablesLib.h diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index dca7c6e516..d7bf609b32 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -259,6 +259,7 @@ !ifdef $(SOURCE_DEBUG_ENABLE) DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif + QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf [LibraryClasses.common.UEFI_APPLICATION] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index 085f43eaf1..4c921740e8 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -264,6 +264,7 @@ !ifdef $(SOURCE_DEBUG_ENABLE) DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif + QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf [LibraryClasses.common.UEFI_APPLICATION] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 17d674cd34..457774efcb 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -264,6 +264,7 @@ !ifdef $(SOURCE_DEBUG_ENABLE) DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif + QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf [LibraryClasses.common.UEFI_APPLICATION] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf -- 2.39.2