## @file
#  VMGEXIT Support Library.
#
#  Copyright (C) 2020 - 2024, Advanced Micro Devices, Inc. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SecCcExitLib
  FILE_GUID                      = dafff819-f86c-4cff-a70e-83161e5bcf9a
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = CcExitLib|SEC

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = X64
#

[Sources.common]
  CcExitLib.c
  CcExitVcHandler.c
  CcExitVcHandler.h
  CcInstruction.c
  SecCcExitVcHandler.c
  CcExitVeHandler.c
  X64/TdVmcallCpuid.nasm

[Packages]
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  LocalApicLib
  MemEncryptSevLib
  PcdLib
  AmdSvsmLib

[FixedPcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidSize
