]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
OvmfPkg/CpuHotplugSmm: complete root MMI handler for CPU hotplug
[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
3afa2ed5 22#include <Library/XenPlatformLib.h>\r
522203de 23\r
24#include <IndustryStandard/Acpi.h>\r
25\r
8f35eb92
LE
26typedef struct {\r
27 EFI_PCI_IO_PROTOCOL *PciIo;\r
28 UINT64 PciAttributes;\r
29} ORIGINAL_ATTRIBUTES;\r
30\r
df73df13
LE
31typedef struct S3_CONTEXT S3_CONTEXT;\r
32\r
522203de 33EFI_STATUS\r
34EFIAPI\r
35InstallAcpiTable (\r
36 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,\r
37 IN VOID *AcpiTableBuffer,\r
38 IN UINTN AcpiTableBufferSize,\r
39 OUT UINTN *TableKey\r
40 );\r
41\r
42BOOLEAN\r
43QemuDetected (\r
44 VOID\r
45 );\r
46\r
47EFI_STATUS\r
48EFIAPI\r
49QemuInstallAcpiTable (\r
50 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,\r
51 IN VOID *AcpiTableBuffer,\r
52 IN UINTN AcpiTableBufferSize,\r
53 OUT UINTN *TableKey\r
54 );\r
55\r
522203de 56EFI_STATUS\r
57EFIAPI\r
377e758c 58InstallXenTables (\r
59 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
522203de 60 );\r
61\r
96bbdbc8
LE
62EFI_STATUS\r
63EFIAPI\r
f186536b 64InstallQemuFwCfgTables (\r
96bbdbc8
LE
65 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
66 );\r
f186536b 67\r
04951644
LE
68EFI_STATUS\r
69EFIAPI\r
70InstallAcpiTables (\r
71 IN EFI_ACPI_TABLE_PROTOCOL *AcpiTable\r
72 );\r
73\r
8f35eb92
LE
74VOID\r
75EnablePciDecoding (\r
76 OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,\r
77 OUT UINTN *Count\r
78 );\r
79\r
80VOID\r
81RestorePciDecoding (\r
82 IN ORIGINAL_ATTRIBUTES *OriginalAttributes,\r
83 IN UINTN Count\r
84 );\r
85\r
df73df13
LE
86EFI_STATUS\r
87AllocateS3Context (\r
88 OUT S3_CONTEXT **S3Context,\r
89 IN UINTN WritePointerCount\r
90 );\r
91\r
92VOID\r
93ReleaseS3Context (\r
94 IN S3_CONTEXT *S3Context\r
95 );\r
96\r
97EFI_STATUS\r
98SaveCondensedWritePointerToS3Context (\r
99 IN OUT S3_CONTEXT *S3Context,\r
100 IN UINT16 PointerItem,\r
101 IN UINT8 PointerSize,\r
102 IN UINT32 PointerOffset,\r
103 IN UINT64 PointerValue\r
104 );\r
105\r
106EFI_STATUS\r
107TransferS3ContextToBootScript (\r
80576225 108 IN S3_CONTEXT *S3Context\r
df73df13
LE
109 );\r
110\r
522203de 111#endif\r
112\r