## @file
#  Sev Secret configuration Table installer
#
#  Copyright (C) 2020 James Bottomley, IBM Corporation.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SecretDxe
  FILE_GUID                      = 6e2b9619-8810-4e9d-a177-d432bb9abeda
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializeSecretDxe

[Sources]
  SecretDxe.c

[Packages]
  OvmfPkg/OvmfPkg.dec
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiBootServicesTableLib
  UefiDriverEntryPoint

[Guids]
  gConfidentialComputingSecretGuid

[FixedPcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretBase
  gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretSize

[Depex]
  TRUE
