summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjchen20 <jchen20@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-01 07:10:27 +0000
committerjchen20 <jchen20@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-01 07:10:27 +0000
commit42686f29905cc6cec3692a24410505fa32c4d487 (patch)
treedb1137202a5063a774fd4a029c5ffd06c7eaeea8
parent8f79ed8124887de44a19131977c23273e0480079 (diff)
downloadedk2-platforms-42686f29905cc6cec3692a24410505fa32c4d487.tar.xz
Move the framework version of EFI_S3_RESUME_PPI defintion to Intel framework package from MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10137 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--IntelFrameworkPkg/Include/Ppi/S3Resume.h76
-rw-r--r--IntelFrameworkPkg/IntelFrameworkPkg.dec4
2 files changed, 80 insertions, 0 deletions
diff --git a/IntelFrameworkPkg/Include/Ppi/S3Resume.h b/IntelFrameworkPkg/Include/Ppi/S3Resume.h
new file mode 100644
index 0000000000..0995a2f1b9
--- /dev/null
+++ b/IntelFrameworkPkg/Include/Ppi/S3Resume.h
@@ -0,0 +1,76 @@
+/** @file
+ This file declares S3 Resume PPI which accomplishes the firmware S3 resume boot path
+ and transfers control to OS.
+
+ This PPI is published by the S3 resume PEIM and can be used on the S3 resume boot path to
+ restore the platform to its preboot configuration and transfer control to OS. The information that is
+ required for an S3 resume can be saved during the normal boot path using
+ EFI_ACPI_S3_SAVE_PROTOCOL. This presaved information can then be restored in the S3
+ resume boot path using EFI_PEI_S3_RESUME_PPI. Architecturally, the S3 resume PEIM is the
+ last PEIM to be dispatched in the S3 resume boot path.
+ Before using this PPI, the caller has to ensure the necessary information for the S3 resume, such as
+ the following, is available for the S3 resume boot path:
+ - EFI_ACPI_S3_RESUME_SCRIPT_TABLE script table. Type
+ EFI_ACPI_S3_RESUME_SCRIPT_TABLE is defined in the Intel Platform Innovation
+ Framework for EFI Boot Script Specification.
+ - OS waking vector.
+ - The reserved memory range to be used for the S3 resume.
+ Otherwise, the S3 resume boot path may fail.
+
+ Copyright (c) 2007 - 2009, Intel Corporation
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ This PPI is defined in Framework for EFI S3 Resume Boot Path spec.
+ Version 0.9.
+
+**/
+
+#ifndef __PEI_S3_RESUME_PPI_H__
+#define __PEI_S3_RESUME_PPI_H__
+
+#define EFI_PEI_S3_RESUME_PPI_GUID \
+ { \
+ 0x4426CCB2, 0xE684, 0x4a8a, {0xAE, 0x40, 0x20, 0xD4, 0xB0, 0x25, 0xB7, 0x10 } \
+ }
+
+typedef struct _EFI_PEI_S3_RESUME_PPI EFI_PEI_S3_RESUME_PPI;
+
+/**
+ Restores the platform to its preboot configuration for an S3 resume and
+ jumps to the OS waking vector.
+
+ @param PeiServices Pointer to the PEI Services Table
+
+ @retval EFI_ABORTED Execution of the S3 resume boot script table failed.
+ @retval EFI_NOT_FOUND Some necessary information that is used for
+ the S3 resume boot path could not be located.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG)(
+ IN EFI_PEI_SERVICES **PeiServices
+ );
+
+/**
+ EFI_PEI_S3_RESUME_PPI accomplishes the firmware S3 resume boot
+ path and transfers control to OS.
+**/
+struct _EFI_PEI_S3_RESUME_PPI {
+ ///
+ /// Restores the platform to its preboot configuration for an S3 resume and
+ /// jumps to the OS waking vector.
+ ///
+ EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG S3RestoreConfig;
+};
+
+extern EFI_GUID gEfiPeiS3ResumePpiGuid;
+
+#endif
diff --git a/IntelFrameworkPkg/IntelFrameworkPkg.dec b/IntelFrameworkPkg/IntelFrameworkPkg.dec
index af3584dbaa..25d620f49f 100644
--- a/IntelFrameworkPkg/IntelFrameworkPkg.dec
+++ b/IntelFrameworkPkg/IntelFrameworkPkg.dec
@@ -177,3 +177,7 @@
## Include/Ppi/FindFv.h
gEfiFindFvPpiGuid = { 0x36164812, 0xa023, 0x44e5, { 0xbd, 0x85, 0x05, 0xbf, 0x3c, 0x77, 0x00, 0xaa }}
+
+ ## Include/Ppi/S3Resume.h
+ gEfiPeiS3ResumePpiGuid = { 0x4426CCB2, 0xE684, 0x4a8a, { 0xae, 0x40, 0x20, 0xd4, 0xb0, 0x25, 0xb7, 0x10 }}
+