]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
OvmfPkg: AcpiPlatformDxe: enable PCI IO and MMIO while fetching QEMU tables
[mirror_edk2.git] / OvmfPkg / AcpiPlatformDxe / AcpiPlatform.h
index cb7393ccbdaafaa35d8651f6d2828f58f95d18c5..08dd7f8f7dd7a5fe36f39bcb566c8578224aa5f8 100644 (file)
@@ -10,7 +10,7 @@
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-**/ \r
+**/\r
 \r
 #ifndef _ACPI_PLATFORM_H_INCLUDED_\r
 #define _ACPI_PLATFORM_H_INCLUDED_\r
@@ -19,6 +19,7 @@
 \r
 #include <Protocol/AcpiTable.h>\r
 #include <Protocol/FirmwareVolume2.h>\r
+#include <Protocol/PciIo.h>\r
 \r
 #include <Library/BaseLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 \r
 #include <IndustryStandard/Acpi.h>\r
 \r
+typedef struct {\r
+  EFI_PCI_IO_PROTOCOL *PciIo;\r
+  UINT64              PciAttributes;\r
+} ORIGINAL_ATTRIBUTES;\r
+\r
 EFI_STATUS\r
 EFIAPI\r
 InstallAcpiTable (\r
@@ -57,11 +63,32 @@ XenDetected (
 \r
 EFI_STATUS\r
 EFIAPI\r
-XenInstallAcpiTable (\r
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol,\r
-  IN   VOID                          *AcpiTableBuffer,\r
-  IN   UINTN                         AcpiTableBufferSize,\r
-  OUT  UINTN                         *TableKey\r
+InstallXenTables (\r
+  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+InstallQemuFwCfgTables (\r
+  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+InstallAcpiTables (\r
+  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiTable\r
+  );\r
+\r
+VOID\r
+EnablePciDecoding (\r
+  OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,\r
+  OUT UINTN               *Count\r
+  );\r
+\r
+VOID\r
+RestorePciDecoding (\r
+  IN ORIGINAL_ATTRIBUTES *OriginalAttributes,\r
+  IN UINTN               Count\r
   );\r
 \r
 #endif\r