## @file
#  SEC Driver
#
#  Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SecMain
  FILE_GUID                      = df1ccef6-f301-4a63-9661-fc6030dcc880
  MODULE_TYPE                    = SEC
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = SecMain

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  SecMain.c
  AmdSev.c
  AmdSev.h

[Sources.IA32]
  Ia32/SecEntry.nasm

[Sources.X64]
  X64/SecEntry.nasm

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  UefiCpuPkg/UefiCpuPkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  BaseMemoryLib
  PeiServicesLib
  PcdLib
  CpuLib
  UefiCpuLib
  DebugAgentLib
  IoLib
  PeCoffLib
  PeCoffGetEntryPointLib
  PeCoffExtraActionLib
  ExtractGuidedSectionLib
  LocalApicLib
  MemEncryptSevLib
  CpuExceptionHandlerLib
  CcProbeLib

[Ppis]
  gEfiTemporaryRamSupportPpiGuid                # PPI ALWAYS_PRODUCED
  gEfiPeiMpInitLibMpDepPpiGuid
  gEfiPeiMpInitLibUpDepPpiGuid

[Pcd]
  gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
  gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress
  gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDecompressionScratchEnd
  gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedStart
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedEnd
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase
  gUefiOvmfPkgTokenSpaceGuid.PcdTdxAcceptPageSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase

[FeaturePcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire
