The S3Ready() functional code in AcpiS3SaveDxe of IntelFrameworkModulePkg is to do ACPI S3 Context save. In fact, that is not really related to Intel framework ACPI S3 protocol. IntelFrameworkModulePkg will be deprecated step by step, so move the functional code to MdeModulePkg and S3SaveStateDxe is a good place. The ACPI global variable related code is leaved as is in IntelFrameworkModulePkg AcpiS3SaveDxe for compatibility. PcdS3BootScriptStackSize is also moved from IntelFrameworkModulePkg. The functional code need to get ACPI FACS table and consume LockBoxLib, so need to be before DxeSmmReadyToLock that will shut down SMM lock box interface, EndOfDxe is a good point (OVMF AcpiS3SaveDxe has the reference implementation). Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Feng Tian <feng.tian@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com>
77 lines
2.4 KiB
INI
77 lines
2.4 KiB
INI
## @file
|
|
# S3 Boot Script Save State driver.
|
|
#
|
|
# It will install S3 Save State protocol to store or record various IO operations to be replayed during an S3 resume.
|
|
#
|
|
# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# 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.
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = S3SaveStateDxe
|
|
MODULE_UNI_FILE = S3SaveStateDxe.uni
|
|
FILE_GUID = BDCE85BB-FBAA-4f4e-9264-501A2C249581
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
|
|
ENTRY_POINT = InitializeS3SaveState
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
|
#
|
|
|
|
[Sources]
|
|
S3SaveState.c
|
|
InternalS3SaveState.h
|
|
AcpiS3ContextSave.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiBootServicesTableLib
|
|
MemoryAllocationLib
|
|
UefiDriverEntryPoint
|
|
BaseMemoryLib
|
|
BaseLib
|
|
S3BootScriptLib
|
|
PcdLib
|
|
HobLib
|
|
LockBoxLib
|
|
|
|
[Guids]
|
|
gEfiAcpiVariableGuid ## PRODUCES ## UNDEFINED # LockBox Save Data.
|
|
gEfiAcpiS3ContextGuid ## PRODUCES ## UNDEFINED # LockBox Save Data.
|
|
gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
|
|
|
|
[Protocols]
|
|
gEfiS3SaveStateProtocolGuid ## PRODUCES
|
|
gEfiLockBoxProtocolGuid
|
|
|
|
[FeaturePcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## CONSUMES
|
|
|
|
[Depex]
|
|
TRUE
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
S3SaveStateDxeExtra.uni |