summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2016-04-07 18:19:26 +0800
committerLaszlo Ersek <lersek@redhat.com>2016-04-07 17:32:03 +0200
commitbd890a737bc1731103f6c7856220b4b5139d30ac (patch)
tree8f4819f819663a25d242edc69da0edcd7f74c17e /MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
parent125e093876414028582132147dc1372ae420dbff (diff)
downloadedk2-platforms-bd890a737bc1731103f6c7856220b4b5139d30ac.tar.xz
MdeModulePkg S3SaveStateDxe: Move S3Ready() functional code from AcpiS3SaveDxe
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>
Diffstat (limited to 'MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf')
-rw-r--r--MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf16
1 files changed, 15 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf b/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
index 304805a03e..8a352d6d14 100644
--- a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
+++ b/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
@@ -34,7 +34,7 @@
[Sources]
S3SaveState.c
InternalS3SaveState.h
-
+ AcpiS3ContextSave.c
[Packages]
MdePkg/MdePkg.dec
@@ -48,13 +48,27 @@
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