]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.h
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / Bhyve / AcpiPlatformDxe / AcpiPlatform.h
1 /** @file
2 bhyve ACPI Platform Driver
3
4 Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>
5 Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef _ACPI_PLATFORM_H_INCLUDED_
11 #define _ACPI_PLATFORM_H_INCLUDED_
12
13 #include <PiDxe.h>
14 #include <Protocol/AcpiTable.h>
15 #include <Protocol/FirmwareVolume2.h>
16 #include <Protocol/PciIo.h>
17 #include <Library/BaseLib.h>
18 #include <Library/DebugLib.h>
19 #include <Library/PcdLib.h>
20 #include <Library/UefiBootServicesTableLib.h>
21 #include <Library/XenPlatformLib.h>
22 #include <IndustryStandard/Acpi.h>
23
24 typedef struct {
25 EFI_PCI_IO_PROTOCOL *PciIo;
26 UINT64 PciAttributes;
27 } ORIGINAL_ATTRIBUTES;
28
29 typedef struct S3_CONTEXT S3_CONTEXT;
30
31 EFI_STATUS
32 EFIAPI
33 InstallAcpiTable (
34 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,
35 IN VOID *AcpiTableBuffer,
36 IN UINTN AcpiTableBufferSize,
37 OUT UINTN *TableKey
38 );
39
40 EFI_STATUS
41 EFIAPI
42 BhyveInstallAcpiTable (
43 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol,
44 IN VOID *AcpiTableBuffer,
45 IN UINTN AcpiTableBufferSize,
46 OUT UINTN *TableKey
47 );
48
49 EFI_STATUS
50 EFIAPI
51 InstallXenTables (
52 IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol
53 );
54
55 EFI_STATUS
56 EFIAPI
57 InstallAcpiTables (
58 IN EFI_ACPI_TABLE_PROTOCOL *AcpiTable
59 );
60
61 VOID
62 EnablePciDecoding (
63 OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,
64 OUT UINTN *Count
65 );
66
67 VOID
68 RestorePciDecoding (
69 IN ORIGINAL_ATTRIBUTES *OriginalAttributes,
70 IN UINTN Count
71 );
72
73 #endif /* _ACPI_PLATFORM_H_INCLUDED_ */