## @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           = X64
#

[Packages]
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[Sources]
  DxeMemEncryptSevLibInternal.c
  PeiDxeMemEncryptSevLibInternal.c
  X64/DxeSnpSystemRamValidate.c
  X64/MemEncryptSevLib.c
  X64/PeiDxeVirtualMemory.c
  X64/SnpPageStateChangeInternal.c
  X64/VirtualMemory.c
  X64/VirtualMemory.h

[LibraryClasses]
  BaseLib
  CacheMaintenanceLib
  CpuLib
  DebugLib
  MemoryAllocationLib
  PcdLib
  CcExitLib
  AmdSvsmLib

[FeaturePcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask
  gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr
