## @file
#  Provides security service for TPM 2.0 measured boot
#
#  Spec Compliance Info:
#    "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 00.21"
#
#  This library instance hooks LoadImage() API to measure every image that
#  is not measured in PEI phase. And, it will also measure GPT partition.
#
#  Caution: This module requires additional review when modified.
#  This library will have external input - PE/COFF image and GPT partition.
#  This external input must be validated carefully to avoid security issues such
#  as buffer overflow or integer overflow.
#
# Copyright (c) 2013 - 2018, 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                      = DxeTpm2MeasureBootLib
  MODULE_UNI_FILE                = DxeTpm2MeasureBootLib.uni
  FILE_GUID                      = 778CE4F4-36BD-4ae7-B8F0-10B420B0D174
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER UEFI_APPLICATION UEFI_DRIVER
  CONSTRUCTOR                    = DxeTpm2MeasureBootLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  DxeTpm2MeasureBootLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SecurityPkg/SecurityPkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  MemoryAllocationLib
  DevicePathLib
  UefiBootServicesTableLib
  BaseCryptLib
  PeCoffLib
  BaseLib
  SecurityManagementLib
  HobLib

[Guids]
  gMeasuredFvHobGuid                    ## SOMETIMES_CONSUMES ## HOB

[Protocols]
  gEfiTcg2ProtocolGuid                  ## SOMETIMES_CONSUMES
  gEfiFirmwareVolumeBlockProtocolGuid   ## SOMETIMES_CONSUMES
  gEfiBlockIoProtocolGuid               ## SOMETIMES_CONSUMES
  gEfiDiskIoProtocolGuid                ## SOMETIMES_CONSUMES

