]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
BaseTools: Library hashing fix and optimization for --hash feature
[mirror_edk2.git] / OvmfPkg / AcpiPlatformDxe / AcpiPlatform.h
CommitLineData
522203de 1/** @file\r
2 Sample ACPI Platform Driver\r
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
9#ifndef _ACPI_PLATFORM_H_INCLUDED_\r
10#define _ACPI_PLATFORM_H_INCLUDED_\r
11\r
12#include <PiDxe.h>\r
13\r
14#include <Protocol/AcpiTable.h>\r
15#include <Protocol/FirmwareVolume2.h>\r
8f35eb92 16#include <Protocol/PciIo.h>\r
522203de 17\r
18#include <Library/BaseLib.h>\r
19#include <Library/UefiBootServicesTableLib.h>\r
20#include <Library/DebugLib.h>\r
21#include <Library/PcdLib.h>\r
22\r
23#include <IndustryStandard/Acpi.h>\r
24\r
8f35eb92
LE
25typedef struct {\r
26 EFI_PCI_IO_PROTOCOL *PciIo;\r
27 UINT64 PciAttributes;\r
28} ORIGINAL_ATTRIBUTES;\r
29\r
df73df13
LE
30typedef struct S3_CONTEXT S3_CONTEXT;\r
31\r
522203de 32EFI_STATUS\r
33EFIAPI\r
34InstallAcpiTable (\r
35 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,\r
36 IN VOID *AcpiTableBuffer,\r
37 IN UINTN AcpiTableBufferSize,\r
38 OUT UINTN *TableKey\r
39 );\r
40\r
41BOOLEAN\r
42QemuDetected (\r
43 VOID\r
44 );\r
45\r
46EFI_STATUS\r
47EFIAPI\r
48QemuInstallAcpiTable (\r
49 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,\r
50 IN VOID *AcpiTableBuffer,\r
51 IN UINTN AcpiTableBufferSize,\r
52 OUT UINTN *TableKey\r
53 );\r
54\r
55BOOLEAN\r
56XenDetected (\r
57 VOID\r
58 );\r
59\r
60EFI_STATUS\r
61EFIAPI\r
377e758c 62InstallXenTables (\r
63 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
522203de 64 );\r
65\r
96bbdbc8
LE
66EFI_STATUS\r
67EFIAPI\r
f186536b 68InstallQemuFwCfgTables (\r
96bbdbc8
LE
69 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
70 );\r
f186536b 71\r
04951644
LE
72EFI_STATUS\r
73EFIAPI\r
74InstallAcpiTables (\r
75 IN EFI_ACPI_TABLE_PROTOCOL *AcpiTable\r
76 );\r
77\r
8f35eb92
LE
78VOID\r
79EnablePciDecoding (\r
80 OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,\r
81 OUT UINTN *Count\r
82 );\r
83\r
84VOID\r
85RestorePciDecoding (\r
86 IN ORIGINAL_ATTRIBUTES *OriginalAttributes,\r
87 IN UINTN Count\r
88 );\r
89\r
df73df13
LE
90EFI_STATUS\r
91AllocateS3Context (\r
92 OUT S3_CONTEXT **S3Context,\r
93 IN UINTN WritePointerCount\r
94 );\r
95\r
96VOID\r
97ReleaseS3Context (\r
98 IN S3_CONTEXT *S3Context\r
99 );\r
100\r
101EFI_STATUS\r
102SaveCondensedWritePointerToS3Context (\r
103 IN OUT S3_CONTEXT *S3Context,\r
104 IN UINT16 PointerItem,\r
105 IN UINT8 PointerSize,\r
106 IN UINT32 PointerOffset,\r
107 IN UINT64 PointerValue\r
108 );\r
109\r
110EFI_STATUS\r
111TransferS3ContextToBootScript (\r
80576225 112 IN S3_CONTEXT *S3Context\r
df73df13
LE
113 );\r
114\r
522203de 115#endif\r
116\r