]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/Library/QemuFwCfgLib.h
ArmVirtPkg, OvmfPkg: QemuFwCfgLib: move DMA-related defs to lib class
[mirror_edk2.git] / OvmfPkg / Include / Library / QemuFwCfgLib.h
index baaa257d6188ece06ef4cd7815fd265e8cc946ff..40a07456c5308ebc699cf9eddad8485ea0919368 100644 (file)
 //\r
 #define QEMU_FW_CFG_FNAME_SIZE 56\r
 \r
+//\r
+// Macros for the FW_CFG_DMA_ACCESS.Control bitmap (in native encoding).\r
+//\r
+#define FW_CFG_DMA_CTL_ERROR  BIT0\r
+#define FW_CFG_DMA_CTL_READ   BIT1\r
+#define FW_CFG_DMA_CTL_SKIP   BIT2\r
+#define FW_CFG_DMA_CTL_SELECT BIT3\r
+\r
 typedef enum {\r
   QemuFwCfgItemSignature            = 0x0000,\r
   QemuFwCfgItemInterfaceVersion     = 0x0001,\r
@@ -59,6 +67,17 @@ typedef enum {
 \r
 } FIRMWARE_CONFIG_ITEM;\r
 \r
+//\r
+// Communication structure for the DMA access method. All fields are encoded in\r
+// big endian.\r
+//\r
+#pragma pack (1)\r
+typedef struct {\r
+  UINT32 Control;\r
+  UINT32 Length;\r
+  UINT64 Address;\r
+} FW_CFG_DMA_ACCESS;\r
+#pragma pack ()\r
 \r
 /**\r
   Returns a boolean indicating if the firmware configuration interface\r
@@ -205,22 +224,6 @@ QemuFwCfgFindFile (
   );\r
 \r
 \r
-/**\r
-  Returns a boolean indicating if the firmware configuration interface is\r
-  available for library-internal purposes.\r
-\r
-  This function never changes fw_cfg state.\r
-\r
-  @retval    TRUE   The interface is available internally.\r
-  @retval    FALSE  The interface is not available internally.\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-InternalQemuFwCfgIsAvailable (\r
-  VOID\r
-  );\r
-\r
-\r
 /**\r
   Determine if S3 support is explicitly enabled.\r
 \r