]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Include/Guid/AcpiVariableCompatibility.h
578b6b546cfe972a0932e6550888b30c0d391c16
[mirror_edk2.git] / IntelFrameworkModulePkg / Include / Guid / AcpiVariableCompatibility.h
1 /** @file
2 Definitions for data structures used in S3 resume.
3
4 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef _ACPI_VARIABLE_COMPATIBILITY_H_
11 #define _ACPI_VARIABLE_COMPATIBILITY_H_
12
13 #define EFI_ACPI_VARIABLE_COMPATIBILITY_GUID \
14 { \
15 0xc020489e, 0x6db2, 0x4ef2, {0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a } \
16 }
17
18 #define ACPI_GLOBAL_VARIABLE L"AcpiGlobalVariable"
19
20 extern EFI_GUID gEfiAcpiVariableCompatiblityGuid;
21
22 typedef struct {
23 BOOLEAN APState;
24 BOOLEAN S3BootPath;
25 EFI_PHYSICAL_ADDRESS WakeUpBuffer;
26 EFI_PHYSICAL_ADDRESS GdtrProfile;
27 EFI_PHYSICAL_ADDRESS IdtrProfile;
28 EFI_PHYSICAL_ADDRESS CpuPrivateData;
29 EFI_PHYSICAL_ADDRESS StackAddress;
30 EFI_PHYSICAL_ADDRESS MicrocodePointerBuffer;
31 EFI_PHYSICAL_ADDRESS SmramBase;
32 EFI_PHYSICAL_ADDRESS SmmStartImageBase;
33 UINT32 SmmStartImageSize;
34 UINT32 NumberOfCpus;
35 } ACPI_CPU_DATA_COMPATIBILITY;
36
37 typedef struct {
38 //
39 // Acpi Related variables
40 //
41 EFI_PHYSICAL_ADDRESS AcpiReservedMemoryBase;
42 UINT32 AcpiReservedMemorySize;
43 EFI_PHYSICAL_ADDRESS S3ReservedLowMemoryBase;
44 EFI_PHYSICAL_ADDRESS AcpiBootScriptTable;
45 EFI_PHYSICAL_ADDRESS RuntimeScriptTableBase;
46 EFI_PHYSICAL_ADDRESS AcpiFacsTable;
47 UINT64 SystemMemoryLength;
48 ACPI_CPU_DATA_COMPATIBILITY AcpiCpuData;
49 //
50 // VGA OPROM to support Video Re-POST for Linux S3
51 //
52 EFI_PHYSICAL_ADDRESS VideoOpromAddress;
53 UINT32 VideoOpromSize;
54
55 //
56 // S3 Debug extension
57 //
58 EFI_PHYSICAL_ADDRESS S3DebugBufferAddress;
59 EFI_PHYSICAL_ADDRESS S3ResumeNvsEntryPoint;
60 } ACPI_VARIABLE_SET_COMPATIBILITY;
61
62 #endif