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