Add a null PEI implementation of QemuFwCfgLib for bhyve. Signed-off-by: Rebecca Cran <rebe...@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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#57440): https://edk2.groups.io/g/devel/message/57440 Mute This Topic: https://groups.io/mt/73045135/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-