## @file
#  Sample to provide FSP wrapper platform sec related function.
#
#  Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

################################################################################
#
# Defines Section - statements that will be processed to create a Makefile.
#
################################################################################
[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SecFspWrapperPlatformSecLibSample
  FILE_GUID                      = 8F1AC44A-CE7E-4E29-95BB-92E321BB1573
  MODULE_TYPE                    = SEC
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PlatformSecLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

################################################################################
#
# Sources Section - list of files that are required for the build to succeed.
#
################################################################################

[Sources]
  FspWrapperPlatformSecLibSample.c
  SecRamInitData.c
  SecPlatformInformation.c
  SecGetPerformance.c
  SecTempRamDone.c
  PlatformInit.c
  Fsp.h

[Sources.IA32]
  Ia32/SecEntry.nasm
  Ia32/PeiCoreEntry.nasm
  Ia32/Stack.nasm

[Sources.X64]
  X64/SecEntry.nasm
  X64/PeiCoreEntry.nasm
  X64/Stack.nasm

################################################################################
#
# Package Dependency Section - list of Package files that are required for
#                              this module.
#
################################################################################

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  UefiCpuPkg/UefiCpuPkg.dec
  IntelFsp2Pkg/IntelFsp2Pkg.dec
  IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec

[LibraryClasses]
  LocalApicLib
  SerialPortLib
  DebugLib
  BaseMemoryLib

[Ppis]
  gEfiSecPlatformInformationPpiGuid       ## CONSUMES
  gPeiSecPerformancePpiGuid               ## CONSUMES
  gTopOfTemporaryRamPpiGuid               ## PRODUCES

[Pcd]
  gIntelFsp2WrapperTokenSpaceGuid.PcdFsptBaseAddress              ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspmBaseAddress              ## CONSUMES

[FixedPcd]
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress           ## CONSUMES
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize        ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFlashCodeCacheAddress        ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFlashCodeCacheSize           ## CONSUMES
