## @file
#  Library provides the helper functions for SEV guest
#
# Copyright (c) 2020 - 2024, Advanced Micro Devices. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 1.25
  BASE_NAME                      = PeiMemEncryptSevLib
  FILE_GUID                      = 15d9a694-3d2a-4184-9672-ba55c3070e07
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = MemEncryptSevLib|PEIM

#
# The following information is for reference only and not required by the build
# tools.
#
# VALID_ARCHITECTURES           = IA32 X64
#

[Packages]
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[Sources]
  PeiDxeMemEncryptSevLibInternal.c
  PeiMemEncryptSevLibInternal.c

[Sources.X64]
  X64/MemEncryptSevLib.c
  X64/PeiDxeVirtualMemory.c
  X64/PeiSnpSystemRamValidate.c
  X64/SnpPageStateChangeInternal.c
  X64/VirtualMemory.c
  X64/VirtualMemory.h

[Sources.IA32]
  Ia32/MemEncryptSevLib.c

[LibraryClasses]
  BaseLib
  CacheMaintenanceLib
  CpuLib
  DebugLib
  MemoryAllocationLib
  PcdLib
  CcExitLib
  AmdSvsmLib

[FeaturePcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire

[FixedPcd]
  gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedEnd
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedStart
