/** @file | |
Internal interfaces specific to the QemuFwCfgLib instances in OvmfPkg. | |
Copyright (C) 2016, Red Hat, Inc. | |
Copyright (C) 2017, Advanced Micro Devices. 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. | |
**/ | |
#ifndef __QEMU_FW_CFG_LIB_INTERNAL_H__ | |
#define __QEMU_FW_CFG_LIB_INTERNAL_H__ | |
/** | |
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 | |
); | |
/** | |
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 | |
); | |
/** | |
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 | |
); | |
#endif |