]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Protocol/S3SmmSaveState.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Protocol / S3SmmSaveState.h
1 /** @file
2 S3 SMM Save State Protocol as defined in PI1.2 Specification VOLUME 5 Standard.
3
4 The EFI_S3_SMM_SAVE_STATE_PROTOCOL publishes the PI SMMboot script abstractions
5 On an S3 resume boot path the data stored via this protocol is replayed in the order it was stored.
6 The order of replay is the order either of the S3 Save State Protocol or S3 SMM Save State Protocol
7 Write() functions were called during the boot process. Insert(), Label(), and
8 Compare() operations are ordered relative other S3 SMM Save State Protocol write() operations
9 and the order relative to S3 State Save Write() operations is not defined. Due to these ordering
10 restrictions it is recommended that the S3 State Save Protocol be used during the DXE phase when
11 every possible.
12 The EFI_S3_SMM_SAVE_STATE_PROTOCOL can be called at runtime and
13 EFI_OUT_OF_RESOURCES may be returned from a runtime call. It is the responsibility of the
14 platform to ensure enough memory resource exists to save the system state. It is recommended that
15 runtime calls be minimized by the caller.
16
17 Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
18 SPDX-License-Identifier: BSD-2-Clause-Patent
19
20 @par Revision Reference:
21 This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 5:
22 Standards
23
24 **/
25
26 #ifndef __S3_SMM_SAVE_STATE_H__
27 #define __S3_SMM_SAVE_STATE_H__
28
29 #include <Protocol/S3SaveState.h>
30
31 #define EFI_S3_SMM_SAVE_STATE_PROTOCOL_GUID \
32 {0x320afe62, 0xe593, 0x49cb, { 0xa9, 0xf1, 0xd4, 0xc2, 0xf4, 0xaf, 0x1, 0x4c }}
33
34
35 typedef EFI_S3_SAVE_STATE_PROTOCOL EFI_S3_SMM_SAVE_STATE_PROTOCOL;
36
37 extern EFI_GUID gEfiS3SmmSaveStateProtocolGuid;
38
39 #endif // __S3_SMM_SAVE_STATE_H__
40