## @file
#
#  Library implementing the LockBox interface for OVMF
#
#  Copyright (C) 2013, Red Hat, Inc.
#  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
#
#  This program and the accompanying materials are licensed and made available
#  under the terms and conditions of the BSD License which accompanies this
#  distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
#  IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = LockBoxDxeLib
  FILE_GUID                      = f61c9a34-2e18-44ce-af2f-21a998e64fda
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LockBoxLib

  CONSTRUCTOR                    = LockBoxDxeLibInitialize

[Sources]
  LockBoxDxe.c
  LockBoxLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  UefiBootServicesTableLib
  QemuFwCfgLib
  QemuFwCfgS3Lib

[Protocols]
  gEfiLockBoxProtocolGuid    ## SOMETIMES_PRODUCES

[Pcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize

[FeaturePcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire
