## @file
#  Firmware Performance Pei Module.
#
#  In S3 resume boot mode, it updates S3 Resume Performance Record in ACPI Firmware Performance Data Table.
#
#  This module register report status code listener to collect performance data
#  for S3 Resume Performance Record on S3 resume boot path.
#
#  Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = FirmwarePerformancePei
  MODULE_UNI_FILE                = FirmwarePerformancePei.uni
  FILE_GUID                      = ADF01BF6-47D6-495d-B95B-687777807214
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = FirmwarePerformancePeiEntryPoint

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  FirmwarePerformancePei.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  PeimEntryPoint
  PeiServicesLib
  BaseLib
  DebugLib
  TimerLib
  BaseMemoryLib
  LockBoxLib
  PcdLib
  HobLib

[Ppis]
  gEfiPeiRscHandlerPpiGuid                      ## CONSUMES
  gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES

[Guids]
  ## SOMETIMES_CONSUMES   ## UNDEFINED # RestoreLockBox
  gEfiFirmwarePerformanceGuid
  gFirmwarePerformanceS3PointerGuid             ## SOMETIMES_CONSUMES ## UNDEFINED # RestoreLockBox
  gEdkiiFpdtExtendedFirmwarePerformanceGuid     ## SOMETIMES_CONSUMES ## HOB

[FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwarePerformanceDataTableS3Support   ## CONSUMES

[Depex]
  gEfiPeiMasterBootModePpiGuid AND gEfiPeiRscHandlerPpiGuid

# [BootMode]
# S3_RESUME             ## SOMETIMES_CONSUMES

[UserExtensions.TianoCore."ExtraFiles"]
  FirmwarePerformancePeiExtra.uni
