]>
Commit | Line | Data |
---|---|---|
1261fe23 | 1 | /** @file\r |
2 | Definitions for data structures used in S3 resume.\r | |
3 | \r | |
d1102dba | 4 | Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>\r |
1261fe23 | 5 | \r |
9d510e61 | 6 | SPDX-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 | |
1436aea4 MK |
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 | |
1261fe23 | 17 | \r |
37623a5c | 18 | #pragma pack(1)\r |
19 | \r | |
1261fe23 | 20 | typedef struct {\r |
1436aea4 MK |
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 | |
1261fe23 | 34 | } SMM_S3_RESUME_STATE;\r |
35 | \r | |
1261fe23 | 36 | typedef struct {\r |
1436aea4 MK |
37 | EFI_PHYSICAL_ADDRESS AcpiFacsTable;\r |
38 | EFI_PHYSICAL_ADDRESS IdtrProfile;\r | |
39 | EFI_PHYSICAL_ADDRESS S3NvsPageTableAddress;\r | |
40 | EFI_PHYSICAL_ADDRESS BootScriptStackBase;\r | |
41 | UINT64 BootScriptStackSize;\r | |
42 | EFI_PHYSICAL_ADDRESS S3DebugBufferAddress;\r | |
1261fe23 | 43 | } ACPI_S3_CONTEXT;\r |
44 | \r | |
45 | typedef struct {\r | |
1436aea4 MK |
46 | UINT16 ReturnCs;\r |
47 | UINT64 ReturnStatus;\r | |
48 | EFI_PHYSICAL_ADDRESS ReturnEntryPoint;\r | |
49 | EFI_PHYSICAL_ADDRESS ReturnStackPointer;\r | |
50 | EFI_PHYSICAL_ADDRESS AsmTransferControl;\r | |
51 | IA32_DESCRIPTOR Idtr;\r | |
1261fe23 | 52 | } PEI_S3_RESUME_STATE;\r |
53 | \r | |
37623a5c | 54 | #pragma pack()\r |
55 | \r | |
1261fe23 | 56 | #define EFI_ACPI_S3_CONTEXT_GUID \\r |
57 | { \\r | |
58 | 0xef98d3a, 0x3e33, 0x497a, {0xa4, 0x1, 0x77, 0xbe, 0x3e, 0xb7, 0x4f, 0x38} \\r | |
59 | }\r | |
60 | \r | |
1436aea4 | 61 | extern EFI_GUID gEfiAcpiS3ContextGuid;\r |
1261fe23 | 62 | \r |
1436aea4 | 63 | extern EFI_GUID gEfiAcpiVariableGuid;\r |
1261fe23 | 64 | \r |
65 | #endif\r |