]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Guid/AcpiS3Context.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Include / Guid / AcpiS3Context.h
CommitLineData
1261fe23 1/** @file\r
2 Definitions for data structures used in S3 resume.\r
3\r
d1102dba 4Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>\r
1261fe23 5\r
9d510e61 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
1261fe23 7\r
8**/\r
9\r
10#ifndef _ACPI_S3_DATA_H_\r
11#define _ACPI_S3_DATA_H_\r
12\r
13#include <Library/BaseLib.h>\r
14\r
15#define SMM_S3_RESUME_SMM_32 SIGNATURE_64 ('S','M','M','S','3','_','3','2')\r
16#define SMM_S3_RESUME_SMM_64 SIGNATURE_64 ('S','M','M','S','3','_','6','4')\r
17\r
37623a5c 18#pragma pack(1)\r
19\r
1261fe23 20typedef struct {\r
21 UINT64 Signature;\r
22 EFI_PHYSICAL_ADDRESS SmmS3ResumeEntryPoint;\r
23 EFI_PHYSICAL_ADDRESS SmmS3StackBase;\r
24 UINT64 SmmS3StackSize;\r
25 UINT64 SmmS3Cr0;\r
26 UINT64 SmmS3Cr3;\r
27 UINT64 SmmS3Cr4;\r
28 UINT16 ReturnCs;\r
29 EFI_PHYSICAL_ADDRESS ReturnEntryPoint;\r
30 EFI_PHYSICAL_ADDRESS ReturnContext1;\r
31 EFI_PHYSICAL_ADDRESS ReturnContext2;\r
32 EFI_PHYSICAL_ADDRESS ReturnStackPointer;\r
33 EFI_PHYSICAL_ADDRESS Smst;\r
34} SMM_S3_RESUME_STATE;\r
35\r
36\r
37typedef struct {\r
38 EFI_PHYSICAL_ADDRESS AcpiFacsTable;\r
39 EFI_PHYSICAL_ADDRESS IdtrProfile;\r
40 EFI_PHYSICAL_ADDRESS S3NvsPageTableAddress;\r
41 EFI_PHYSICAL_ADDRESS BootScriptStackBase;\r
42 UINT64 BootScriptStackSize;\r
d1102dba 43 EFI_PHYSICAL_ADDRESS S3DebugBufferAddress;\r
1261fe23 44} ACPI_S3_CONTEXT;\r
45\r
46typedef struct {\r
47 UINT16 ReturnCs;\r
37623a5c 48 UINT64 ReturnStatus;\r
1261fe23 49 EFI_PHYSICAL_ADDRESS ReturnEntryPoint;\r
50 EFI_PHYSICAL_ADDRESS ReturnStackPointer;\r
51 EFI_PHYSICAL_ADDRESS AsmTransferControl;\r
52 IA32_DESCRIPTOR Idtr;\r
53} PEI_S3_RESUME_STATE;\r
54\r
37623a5c 55#pragma pack()\r
56\r
1261fe23 57#define EFI_ACPI_S3_CONTEXT_GUID \\r
58 { \\r
59 0xef98d3a, 0x3e33, 0x497a, {0xa4, 0x1, 0x77, 0xbe, 0x3e, 0xb7, 0x4f, 0x38} \\r
60 }\r
61\r
62extern EFI_GUID gEfiAcpiS3ContextGuid;\r
63\r
64extern EFI_GUID gEfiAcpiVariableGuid;\r
65\r
66#endif\r