From: "Rebecca Cran" <rebecca@bsdio.com>
To: devel@edk2.groups.io
Cc: Jordan Justen <jordan.l.justen@intel.com>,
Laszlo Ersek <lersek@redhat.com>,
Ard Biesheuvel <ard.biesheuvel@arm.com>,
Rebecca Cran <rebecca@bsdio.com>
Subject: [PATCH 06/13] OvmfPkg: add QemuFwCfgPeiLibNull
Date: Wed, 15 Apr 2020 17:09:32 -0600 [thread overview]
Message-ID: <06ecbeed65ce8487798a2a39a51ed45e899cc9ca.1586991816.git.rebecca@bsdio.com> (raw)
In-Reply-To: <cover.1586991816.git.rebecca@bsdio.com>
Add a null PEI implementation of QemuFwCfgLib for bhyve.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
.../QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf | 36 ++++++
.../QemuFwCfgLibNull/QemuFwCfgPeiNull.c | 107 ++++++++++++++++++
2 files changed, 143 insertions(+)
create mode 100644 OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf
create mode 100644 OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiNull.c
diff --git a/OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf b/OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf
new file mode 100644
index 0000000000..e5a7683b9b
--- /dev/null
+++ b/OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf
@@ -0,0 +1,36 @@
+## @file
+#
+# Stateful, implicitly initialized fw_cfg library.
+#
+# Copyright (C) 2013, Red Hat, Inc.
+# Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = QemuFwCfgPeiLibNull
+ FILE_GUID = 404DEFA4-548D-4535-9D6B-915B14D98BC2
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = QemuFwCfgLib|PEIM
+
+ CONSTRUCTOR = QemuFwCfgInitialize
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+# VALID_ARCHITECTURES = IA32 X64
+#
+
+[Sources]
+ QemuFwCfgLibInternal.h
+ QemuFwCfgLibNull.c
+ QemuFwCfgPeiNull.c
+
+[Packages]
+ MdePkg/MdePkg.dec
+ OvmfPkg/OvmfPkg.dec
diff --git a/OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiNull.c b/OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiNull.c
new file mode 100644
index 0000000000..54d5eb4e19
--- /dev/null
+++ b/OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiNull.c
@@ -0,0 +1,107 @@
+/** @file
+
+ Stateful and implicitly initialized fw_cfg library implementation.
+
+ Copyright (C) 2013, Red Hat, Inc.
+ Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2017, Advanced Micro Devices. All rights reserved.<BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <Library/BaseLib.h>
+#include <Library/IoLib.h>
+#include <Library/DebugLib.h>
+#include <Library/QemuFwCfgLib.h>
+#include <Library/MemEncryptSevLib.h>
+
+#include "QemuFwCfgLibInternal.h"
+
+
+/**
+ Returns a boolean indicating if the firmware configuration interface
+ is available or not.
+
+ This function may change fw_cfg state.
+
+ @retval TRUE The interface is available
+ @retval FALSE The interface is not available
+
+**/
+BOOLEAN
+EFIAPI
+QemuFwCfgIsAvailable (
+ VOID
+ )
+{
+ return InternalQemuFwCfgIsAvailable ();
+}
+
+
+RETURN_STATUS
+EFIAPI
+QemuFwCfgInitialize (
+ VOID
+ )
+{
+ return RETURN_SUCCESS;
+}
+
+
+/**
+ Returns a boolean indicating if the firmware configuration interface is
+ available for library-internal purposes.
+
+ This function never changes fw_cfg state.
+
+ @retval TRUE The interface is available internally.
+ @retval FALSE The interface is not available internally.
+**/
+BOOLEAN
+InternalQemuFwCfgIsAvailable (
+ VOID
+ )
+{
+ return FALSE;
+}
+
+/**
+ Returns a boolean indicating whether QEMU provides the DMA-like access method
+ for fw_cfg.
+
+ @retval TRUE The DMA-like access method is available.
+ @retval FALSE The DMA-like access method is unavailable.
+**/
+BOOLEAN
+InternalQemuFwCfgDmaIsAvailable (
+ VOID
+ )
+{
+ return FALSE;
+}
+
+/**
+ Transfer an array of bytes, or skip a number of bytes, using the DMA
+ interface.
+
+ @param[in] Size Size in bytes to transfer or skip.
+
+ @param[in,out] Buffer Buffer to read data into or write data from. Ignored,
+ and may be NULL, if Size is zero, or Control is
+ FW_CFG_DMA_CTL_SKIP.
+
+ @param[in] Control One of the following:
+ FW_CFG_DMA_CTL_WRITE - write to fw_cfg from Buffer.
+ FW_CFG_DMA_CTL_READ - read from fw_cfg into Buffer.
+ FW_CFG_DMA_CTL_SKIP - skip bytes in fw_cfg.
+**/
+VOID
+InternalQemuFwCfgDmaBytes (
+ IN UINT32 Size,
+ IN OUT VOID *Buffer OPTIONAL,
+ IN UINT32 Control
+ )
+{
+
+}
+
--
2.26.1
next prev parent reply other threads:[~2020-04-15 23:11 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-15 23:09 [PATCH 00/13] BhyvePkg - initial patch series for review Rebecca Cran
2020-04-15 23:09 ` [PATCH 01/13] OvmfPkg: Add bhyve support into AcpiTimerLib Rebecca Cran
2020-04-17 8:07 ` [edk2-devel] " Laszlo Ersek
2020-04-15 23:09 ` [PATCH 02/13] OvmfPkg: support powering off bhyve guests Rebecca Cran
2020-04-17 8:55 ` [edk2-devel] " Laszlo Ersek
2020-04-17 18:56 ` Rebecca Cran
2020-04-21 22:14 ` Rebecca Cran
2020-04-22 15:49 ` Laszlo Ersek
2020-04-15 23:09 ` [PATCH 03/13] BhyvePkg: Add BhyveFwCtlLibNull Rebecca Cran
2020-04-15 23:09 ` [PATCH 04/13] OvmfPkg: Add QemuFwCfgS3LibNull Rebecca Cran
2020-04-17 16:37 ` [edk2-devel] " Laszlo Ersek
2020-04-15 23:09 ` [PATCH 05/13] OvmfPkg: Add VBE2 mode info structure to LegacyVgaBios.h Rebecca Cran
2020-04-17 16:43 ` [edk2-devel] " Laszlo Ersek
2020-04-15 23:09 ` Rebecca Cran [this message]
2020-04-17 16:57 ` [edk2-devel] [PATCH 06/13] OvmfPkg: add QemuFwCfgPeiLibNull Laszlo Ersek
2020-04-15 23:09 ` [PATCH 07/13] OvmfPkg: add QemuFwCfgS3LibNull Rebecca Cran
2020-04-17 17:01 ` [edk2-devel] " Laszlo Ersek
2020-04-15 23:09 ` [PATCH 08/13] Add BhyvePkg, to support the bhyve hypervisor Rebecca Cran
2020-04-15 23:09 ` [PATCH 09/13] OvmfPkg: Add bhyve support to PlatformPei Rebecca Cran
2020-04-15 23:09 ` [PATCH 10/13] OvmfPkg: Add bhyve support to AcpiPlatformDxe Rebecca Cran
2020-04-15 23:09 ` [PATCH 11/13] BhyvePkg: Add InstrincsLib to BhyveFwCtlLib Rebecca Cran
2020-04-15 23:09 ` [PATCH 12/13] BhyvePkg: __attribute__ doesn't exist on MSVC toolchains Rebecca Cran
2020-04-15 23:09 ` [PATCH 13/13] BhyvePkg: fix BhyveSetGraphicsMode call for VS2019 build Rebecca Cran
2020-04-16 20:47 ` [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review Laszlo Ersek
2020-04-16 22:43 ` Laszlo Ersek
2020-04-17 6:46 ` Rebecca Cran
2020-04-17 6:55 ` Rebecca Cran
2020-04-20 9:51 ` Laszlo Ersek
2020-04-20 9:57 ` Laszlo Ersek
2020-04-21 17:12 ` Rebecca Cran
2020-04-17 7:55 ` Laszlo Ersek
2020-04-17 15:31 ` Rebecca Cran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=06ecbeed65ce8487798a2a39a51ed45e899cc9ca.1586991816.git.rebecca@bsdio.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox