]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/AcpiS3Context.h
Clean up include of ACPI header file so that only IndustryStandard/Acpi.h is needed...
[mirror_edk2.git] / MdeModulePkg / Include / Guid / AcpiS3Context.h
1 /** @file
2 Definitions for data structures used in S3 resume.
3
4 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
5
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions
8 of the BSD License which accompanies this distribution. The
9 full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
11
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 **/
16
17 #ifndef _ACPI_S3_DATA_H_
18 #define _ACPI_S3_DATA_H_
19
20 #include <Library/BaseLib.h>
21
22 #define SMM_S3_RESUME_SMM_32 SIGNATURE_64 ('S','M','M','S','3','_','3','2')
23 #define SMM_S3_RESUME_SMM_64 SIGNATURE_64 ('S','M','M','S','3','_','6','4')
24
25 typedef struct {
26 UINT64 Signature;
27 EFI_PHYSICAL_ADDRESS SmmS3ResumeEntryPoint;
28 EFI_PHYSICAL_ADDRESS SmmS3StackBase;
29 UINT64 SmmS3StackSize;
30 UINT64 SmmS3Cr0;
31 UINT64 SmmS3Cr3;
32 UINT64 SmmS3Cr4;
33 UINT16 ReturnCs;
34 EFI_PHYSICAL_ADDRESS ReturnEntryPoint;
35 EFI_PHYSICAL_ADDRESS ReturnContext1;
36 EFI_PHYSICAL_ADDRESS ReturnContext2;
37 EFI_PHYSICAL_ADDRESS ReturnStackPointer;
38 EFI_PHYSICAL_ADDRESS Smst;
39 } SMM_S3_RESUME_STATE;
40
41
42 typedef struct {
43 EFI_PHYSICAL_ADDRESS AcpiFacsTable;
44 EFI_PHYSICAL_ADDRESS IdtrProfile;
45 EFI_PHYSICAL_ADDRESS S3NvsPageTableAddress;
46 EFI_PHYSICAL_ADDRESS BootScriptStackBase;
47 UINT64 BootScriptStackSize;
48 EFI_PHYSICAL_ADDRESS S3DebugBufferAddress;
49 } ACPI_S3_CONTEXT;
50
51 typedef struct {
52 UINT16 ReturnCs;
53 EFI_PHYSICAL_ADDRESS ReturnEntryPoint;
54 EFI_PHYSICAL_ADDRESS ReturnStackPointer;
55 EFI_PHYSICAL_ADDRESS AsmTransferControl;
56 IA32_DESCRIPTOR Idtr;
57 } PEI_S3_RESUME_STATE;
58
59 #define EFI_ACPI_S3_CONTEXT_GUID \
60 { \
61 0xef98d3a, 0x3e33, 0x497a, {0xa4, 0x1, 0x77, 0xbe, 0x3e, 0xb7, 0x4f, 0x38} \
62 }
63
64 extern EFI_GUID gEfiAcpiS3ContextGuid;
65
66 extern EFI_GUID gEfiAcpiVariableGuid;
67
68 #endif