## @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 - 2018, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[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 EBC
#

[Sources]
  S3SaveState.c
  InternalS3SaveState.h
  AcpiS3ContextSave.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  BaseMemoryLib
  BaseLib
  S3BootScriptLib
  PcdLib
  HobLib
  LockBoxLib
  UefiLib

[Guids]
  gEfiAcpiVariableGuid                       ## PRODUCES  ## UNDEFINED # LockBox Save Data.
  gEfiAcpiS3ContextGuid                      ## PRODUCES  ## UNDEFINED # LockBox Save Data.
  gEfiEndOfDxeEventGroupGuid                 ## CONSUMES  ## Event

[Protocols]
  gEfiS3SaveStateProtocolGuid                ## PRODUCES
  gEfiLockBoxProtocolGuid                    ## CONSUMES

[FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode   ## CONSUMES

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable             ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize    ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable           ## CONSUMES

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  S3SaveStateDxeExtra.uni
