]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Ppi/S3Resume.h
Reviewed the description in the FatBinPkg .dec file.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Ppi / S3Resume.h
CommitLineData
79964ac8 1/** @file\r
4a71b21a 2 This file declares S3 Resume PPI which accomplishes the firmware S3 resume boot path\r
3 and transfers control to OS.\r
4 \r
5 This PPI is published by the S3 resume PEIM and can be used on the S3 resume boot path to\r
6 restore the platform to its preboot configuration and transfer control to OS. The information that is\r
7 required for an S3 resume can be saved during the normal boot path using\r
8 EFI_ACPI_S3_SAVE_PROTOCOL. This presaved information can then be restored in the S3\r
9 resume boot path using EFI_PEI_S3_RESUME_PPI. Architecturally, the S3 resume PEIM is the\r
10 last PEIM to be dispatched in the S3 resume boot path.\r
11 Before using this PPI, the caller has to ensure the necessary information for the S3 resume, such as\r
12 the following, is available for the S3 resume boot path:\r
13 - EFI_ACPI_S3_RESUME_SCRIPT_TABLE script table. Type\r
f1df9cf4 14 EFI_ACPI_S3_RESUME_SCRIPT_TABLE is defined in the Intel Platform Innovation\r
4a71b21a 15 Framework for EFI Boot Script Specification.\r
16 - OS waking vector.\r
17 - The reserved memory range to be used for the S3 resume.\r
18 Otherwise, the S3 resume boot path may fail.\r
19 \r
470d0b27 20 Copyright (c) 2007 - 2009, Intel Corporation\r
79964ac8 21 All rights reserved. This program and the accompanying materials\r
22 are licensed and made available under the terms and conditions of the BSD License\r
23 which accompanies this distribution. The full text of the license may be found at\r
24 http://opensource.org/licenses/bsd-license.php\r
25\r
26 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
27 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
28\r
29 Module Name: S3Resume.h\r
30\r
31 @par Revision Reference:\r
7781c199 32 This PPI is defined in Framework for EFI S3 Resume Boot Path spec.\r
470d0b27 33 Version 0.9.\r
79964ac8 34\r
35**/\r
36\r
37#ifndef __PEI_S3_RESUME_PPI_H__\r
38#define __PEI_S3_RESUME_PPI_H__\r
39\r
b80fbe85 40#include <PiPei.h>\r
41\r
79964ac8 42#define EFI_PEI_S3_RESUME_PPI_GUID \\r
43 { \\r
44 0x4426CCB2, 0xE684, 0x4a8a, {0xAE, 0x40, 0x20, 0xD4, 0xB0, 0x25, 0xB7, 0x10 } \\r
45 }\r
46\r
47typedef struct _EFI_PEI_S3_RESUME_PPI EFI_PEI_S3_RESUME_PPI;\r
48\r
49/**\r
50 Restores the platform to its preboot configuration for an S3 resume and\r
51 jumps to the OS waking vector.\r
52\r
53 @param PeiServices Pointer to the PEI Services Table\r
54\r
55 @retval EFI_ABORTED Execution of the S3 resume boot script table failed.\r
56 @retval EFI_NOT_FOUND Some necessary information that is used for\r
57 the S3 resume boot path could not be located.\r
58\r
59**/\r
60typedef\r
61EFI_STATUS\r
69686d56 62(EFIAPI *EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG)(\r
79964ac8 63 IN EFI_PEI_SERVICES **PeiServices\r
64 );\r
65\r
66/**\r
67 @par Ppi Description:\r
68 EFI_PEI_S3_RESUME_PPI accomplishes the firmware S3 resume boot\r
69 path and transfers control to OS.\r
79964ac8 70**/\r
71struct _EFI_PEI_S3_RESUME_PPI {\r
7781c199 72///\r
73/// Restores the platform to its preboot configuration for an S3 resume and\r
74/// jumps to the OS waking vector.\r
75///\r
79964ac8 76 EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG S3RestoreConfig;\r
77};\r
78\r
79extern EFI_GUID gEfiPeiS3ResumePpiGuid;\r
80\r
81#endif\r