## @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
  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
