]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.h
SecurityPkg: Add TPM PTP support in TCG2 SMM.
[mirror_edk2.git] / OvmfPkg / QemuFlashFvbServicesRuntimeDxe / FwBlockService.h
index 67140d0a768ab1ef14bfd5f7f8c8b8ef725416b9..1f9287b0876971cb7c2b9be620a128ee1099de6f 100644 (file)
 #ifndef _FW_BLOCK_SERVICE_H\r
 #define _FW_BLOCK_SERVICE_H\r
 \r
-//\r
-// BugBug: Add documentation here for data structure!!!!\r
-//\r
-#define FVB_PHYSICAL  0\r
-#define FVB_VIRTUAL   1\r
-\r
 typedef struct {\r
-  UINTN                       FvBase[2];\r
+  UINTN                       FvBase;\r
   UINTN                       NumOfBlocks;\r
   EFI_FIRMWARE_VOLUME_HEADER  VolumeHeader;\r
 } EFI_FW_VOL_INSTANCE;\r
 \r
 typedef struct {\r
   UINT32              NumFv;\r
-  EFI_FW_VOL_INSTANCE *FvInstance[2];\r
-  UINT8               *FvbScratchSpace[2];\r
+  EFI_FW_VOL_INSTANCE *FvInstance;\r
 } ESAL_FWB_GLOBAL;\r
 \r
+extern ESAL_FWB_GLOBAL *mFvbModuleGlobal;\r
+\r
 //\r
 // Fvb Protocol instance data\r
 //\r
@@ -79,24 +74,21 @@ EFI_STATUS
 FvbSetVolumeAttributes (\r
   IN UINTN                                Instance,\r
   IN OUT EFI_FVB_ATTRIBUTES_2             *Attributes,\r
-  IN ESAL_FWB_GLOBAL                      *Global,\r
-  IN BOOLEAN                              Virtual\r
+  IN ESAL_FWB_GLOBAL                      *Global\r
   );\r
 \r
 EFI_STATUS\r
 FvbGetVolumeAttributes (\r
   IN UINTN                                Instance,\r
   OUT EFI_FVB_ATTRIBUTES_2                *Attributes,\r
-  IN ESAL_FWB_GLOBAL                      *Global,\r
-  IN BOOLEAN                              Virtual\r
+  IN ESAL_FWB_GLOBAL                      *Global\r
   );\r
 \r
 EFI_STATUS\r
 FvbGetPhysicalAddress (\r
   IN UINTN                                Instance,\r
   OUT EFI_PHYSICAL_ADDRESS                *Address,\r
-  IN ESAL_FWB_GLOBAL                      *Global,\r
-  IN BOOLEAN                              Virtual\r
+  IN ESAL_FWB_GLOBAL                      *Global\r
   );\r
 \r
 EFI_STATUS\r
@@ -121,8 +113,7 @@ FvbGetLbaAddress (
   OUT UINTN                               *LbaAddress,\r
   OUT UINTN                               *LbaLength,\r
   OUT UINTN                               *NumOfBlocks,\r
-  IN  ESAL_FWB_GLOBAL                     *Global,\r
-  IN  BOOLEAN                             Virtual\r
+  IN  ESAL_FWB_GLOBAL                     *Global\r
   );\r
 \r
 //\r
@@ -185,4 +176,17 @@ FvbProtocolEraseBlocks (
   ...\r
   );\r
 \r
+//\r
+// The following functions have different implementations dependent on the\r
+// module type chosen for building this driver.\r
+//\r
+VOID\r
+InstallProtocolInterfaces (\r
+  IN EFI_FW_VOL_BLOCK_DEVICE *FvbDevice\r
+  );\r
+\r
+VOID\r
+InstallVirtualAddressChangeHandler (\r
+  VOID\r
+  );\r
 #endif\r