]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
MdeModulePkg: Update the SMBIOS version by UPL
[mirror_edk2.git] / OvmfPkg / AcpiPlatformDxe / AcpiPlatform.h
1 /** @file
2 OVMF ACPI Platform Driver
3
4 Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef ACPI_PLATFORM_H_
10 #define ACPI_PLATFORM_H_
11
12 #include <Protocol/AcpiTable.h> // EFI_ACPI_TABLE_PROTOCOL
13 #include <Protocol/PciIo.h> // EFI_PCI_IO_PROTOCOL
14
15 typedef struct {
16 EFI_PCI_IO_PROTOCOL *PciIo;
17 UINT64 PciAttributes;
18 } ORIGINAL_ATTRIBUTES;
19
20 typedef struct S3_CONTEXT S3_CONTEXT;
21
22 EFI_STATUS
23 EFIAPI
24 InstallCloudHvTables (
25 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol
26 );
27
28 EFI_STATUS
29 EFIAPI
30 InstallQemuFwCfgTables (
31 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol
32 );
33
34 EFI_STATUS
35 EFIAPI
36 InstallAcpiTables (
37 IN EFI_ACPI_TABLE_PROTOCOL *AcpiTable
38 );
39
40 VOID
41 EnablePciDecoding (
42 OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,
43 OUT UINTN *Count
44 );
45
46 VOID
47 RestorePciDecoding (
48 IN ORIGINAL_ATTRIBUTES *OriginalAttributes,
49 IN UINTN Count
50 );
51
52 EFI_STATUS
53 AllocateS3Context (
54 OUT S3_CONTEXT **S3Context,
55 IN UINTN WritePointerCount
56 );
57
58 VOID
59 ReleaseS3Context (
60 IN S3_CONTEXT *S3Context
61 );
62
63 EFI_STATUS
64 SaveCondensedWritePointerToS3Context (
65 IN OUT S3_CONTEXT *S3Context,
66 IN UINT16 PointerItem,
67 IN UINT8 PointerSize,
68 IN UINT32 PointerOffset,
69 IN UINT64 PointerValue
70 );
71
72 EFI_STATUS
73 TransferS3ContextToBootScript (
74 IN S3_CONTEXT *S3Context
75 );
76
77 #endif