From f70b071e2f14b3b79b328b5afb8345affbe772b1 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 22 Feb 2017 01:59:41 +0100 Subject: [PATCH] OvmfPkg: introduce QemuFwCfgS3Lib class This library class will enable driver modules (a) to query whether S3 support was enabled on the QEMU command line, (b) to produce fw_cfg DMA operations that are to be replayed at S3 resume time. Declare the library class in OvmfPkg/OvmfPkg.dec, and add the library class header under OvmfPkg/Include/Library/. At the moment, the only API we expose is QemuFwCfgS3Enabled(), which we'll first migrate from QemuFwCfgLib. Further interfaces will be added in later patches. Cc: Jordan Justen Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=394 Suggested-by: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jordan Justen --- OvmfPkg/Include/Library/QemuFwCfgS3Lib.h | 39 ++++++++++++++++++++++++ OvmfPkg/OvmfPkg.dec | 4 +++ 2 files changed, 43 insertions(+) create mode 100644 OvmfPkg/Include/Library/QemuFwCfgS3Lib.h diff --git a/OvmfPkg/Include/Library/QemuFwCfgS3Lib.h b/OvmfPkg/Include/Library/QemuFwCfgS3Lib.h new file mode 100644 index 0000000000..1c473610d1 --- /dev/null +++ b/OvmfPkg/Include/Library/QemuFwCfgS3Lib.h @@ -0,0 +1,39 @@ +/** @file + S3 support for QEMU fw_cfg + + This library class enables driver modules (a) to query whether S3 support was + enabled on the QEMU command line, (b) to produce fw_cfg DMA operations that + are to be replayed at S3 resume time. + + Copyright (C) 2017, 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 __FW_CFG_S3_LIB__ +#define __FW_CFG_S3_LIB__ + +/** + Determine if S3 support is explicitly enabled. + + @retval TRUE If S3 support is explicitly enabled. Other functions in this + library may be called (subject to their individual + restrictions). + + FALSE Otherwise. This includes unavailability of the firmware + configuration interface. No other function in this library + must be called. +**/ +BOOLEAN +EFIAPI +QemuFwCfgS3Enabled ( + VOID + ); + +#endif diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec index a0c76a5bb4..3490f7ca7c 100644 --- a/OvmfPkg/OvmfPkg.dec +++ b/OvmfPkg/OvmfPkg.dec @@ -35,6 +35,10 @@ # QemuFwCfgLib|Include/Library/QemuFwCfgLib.h + ## @libraryclass S3 support for QEMU fw_cfg + # + QemuFwCfgS3Lib|Include/Library/QemuFwCfgS3Lib.h + ## @libraryclass Rewrite the BootOrder NvVar based on QEMU's "bootorder" # fw_cfg file. # -- 2.39.2