## @file
#  Library provides the helper functions for SEV guest
#
# Copyright (c) 2017 - 2020, 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

[FeaturePcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask
  gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr
