]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
[mirror_edk2.git] / OvmfPkg / AcpiPlatformDxe / AcpiPlatform.h
CommitLineData
522203de 1/** @file\r
2a85d9b0 2 OVMF ACPI Platform Driver\r
522203de 3\r
4 Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>\r
b26f0cf9 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
522203de 6\r
96bbdbc8 7**/\r
522203de 8\r
2a85d9b0
LE
9#ifndef ACPI_PLATFORM_H_\r
10#define ACPI_PLATFORM_H_\r
522203de 11\r
180f1908 12#include <IndustryStandard/Acpi.h>\r
522203de 13#include <Library/BaseLib.h>\r
522203de 14#include <Library/DebugLib.h>\r
15#include <Library/PcdLib.h>\r
180f1908 16#include <Library/UefiBootServicesTableLib.h>\r
3afa2ed5 17#include <Library/XenPlatformLib.h>\r
180f1908
LE
18#include <PiDxe.h>\r
19#include <Protocol/AcpiTable.h>\r
20#include <Protocol/FirmwareVolume2.h>\r
21#include <Protocol/PciIo.h>\r
522203de 22\r
8f35eb92
LE
23typedef struct {\r
24 EFI_PCI_IO_PROTOCOL *PciIo;\r
25 UINT64 PciAttributes;\r
26} ORIGINAL_ATTRIBUTES;\r
27\r
df73df13
LE
28typedef struct S3_CONTEXT S3_CONTEXT;\r
29\r
522203de 30EFI_STATUS\r
31EFIAPI\r
32InstallAcpiTable (\r
33 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,\r
34 IN VOID *AcpiTableBuffer,\r
35 IN UINTN AcpiTableBufferSize,\r
36 OUT UINTN *TableKey\r
37 );\r
38\r
39BOOLEAN\r
40QemuDetected (\r
41 VOID\r
42 );\r
43\r
44EFI_STATUS\r
45EFIAPI\r
46QemuInstallAcpiTable (\r
47 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,\r
48 IN VOID *AcpiTableBuffer,\r
49 IN UINTN AcpiTableBufferSize,\r
50 OUT UINTN *TableKey\r
51 );\r
52\r
522203de 53EFI_STATUS\r
54EFIAPI\r
377e758c 55InstallXenTables (\r
56 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
522203de 57 );\r
58\r
96bbdbc8
LE
59EFI_STATUS\r
60EFIAPI\r
f186536b 61InstallQemuFwCfgTables (\r
96bbdbc8
LE
62 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
63 );\r
f186536b 64\r
04951644
LE
65EFI_STATUS\r
66EFIAPI\r
67InstallAcpiTables (\r
68 IN EFI_ACPI_TABLE_PROTOCOL *AcpiTable\r
69 );\r
70\r
8f35eb92
LE
71VOID\r
72EnablePciDecoding (\r
73 OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,\r
74 OUT UINTN *Count\r
75 );\r
76\r
77VOID\r
78RestorePciDecoding (\r
79 IN ORIGINAL_ATTRIBUTES *OriginalAttributes,\r
80 IN UINTN Count\r
81 );\r
82\r
df73df13
LE
83EFI_STATUS\r
84AllocateS3Context (\r
85 OUT S3_CONTEXT **S3Context,\r
86 IN UINTN WritePointerCount\r
87 );\r
88\r
89VOID\r
90ReleaseS3Context (\r
91 IN S3_CONTEXT *S3Context\r
92 );\r
93\r
94EFI_STATUS\r
95SaveCondensedWritePointerToS3Context (\r
96 IN OUT S3_CONTEXT *S3Context,\r
97 IN UINT16 PointerItem,\r
98 IN UINT8 PointerSize,\r
99 IN UINT32 PointerOffset,\r
100 IN UINT64 PointerValue\r
101 );\r
102\r
103EFI_STATUS\r
104TransferS3ContextToBootScript (\r
80576225 105 IN S3_CONTEXT *S3Context\r
df73df13
LE
106 );\r
107\r
522203de 108#endif\r
109\r