4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/** @file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync S3 SMM Save State Protocol as defined in PI1.2 Specification VOLUME 5 Standard.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The EFI_S3_SMM_SAVE_STATE_PROTOCOL publishes the PI SMMboot script abstractions
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync On an S3 resume boot path the data stored via this protocol is replayed in the order it was stored.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The order of replay is the order either of the S3 Save State Protocol or S3 SMM Save State Protocol
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Write() functions were called during the boot process. Insert(), Label(), and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Compare() operations are ordered relative other S3 SMM Save State Protocol write() operations
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and the order relative to S3 State Save Write() operations is not defined. Due to these ordering
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync restrictions it is recommended that the S3 State Save Protocol be used during the DXE phase when
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync every possible.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The EFI_S3_SMM_SAVE_STATE_PROTOCOL can be called at runtime and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_OUT_OF_RESOURCES may be returned from a runtime call. It is the responsibility of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync platform to ensure enough memory resource exists to save the system state. It is recommended that
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync runtime calls be minimized by the caller.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync http://opensource.org/licenses/bsd-license.php
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @par Revision Reference:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 5:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Standards
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#ifndef __S3_SMM_SAVE_STATE_H__
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define __S3_SMM_SAVE_STATE_H__
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#include <Protocol/S3SaveState.h>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_S3_SMM_SAVE_STATE_PROTOCOL_GUID \
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync {0x320afe62, 0xe593, 0x49cb, { 0xa9, 0xf1, 0xd4, 0xc2, 0xf4, 0xaf, 0x1, 0x4c }}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef EFI_S3_SAVE_STATE_PROTOCOL EFI_S3_SMM_SAVE_STATE_PROTOCOL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern EFI_GUID gEfiS3SmmSaveStateProtocolGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif // __S3_SMM_SAVE_STATE_H__
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync