## @file
#  Library provides the helper functions for SEV guest
#
# Copyright (c) 2017 - 2024, Advanced Micro Devices. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 1.25
  BASE_NAME                      = DxeMemEncryptSevLib
  FILE_GUID                      = c1594631-3888-4be4-949f-9c630dbc842b
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = MemEncryptSevLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER

#
# 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]
  DxeMemEncryptSevLibInternal.c
  PeiDxeMemEncryptSevLibInternal.c

[Sources.X64]
  X64/DxeSnpSystemRamValidate.c
  X64/MemEncryptSevLib.c
  X64/PeiDxeVirtualMemory.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

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask
  gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr
