## @file
#  Provides security service for TPM 2.0 measured boot and Confidential Computing measure boot.
#
#  Spec Compliance Info:
#    "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51"
#      along with
#    "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03"
#
#  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>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[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 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
  DxeTpm2MeasureBootLibSanitization.c
  DxeTpm2MeasureBootLibSanitization.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SecurityPkg/SecurityPkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  BaseMemoryLib
  SafeIntLib
  DebugLib
  MemoryAllocationLib
  DevicePathLib
  UefiBootServicesTableLib
  BaseCryptLib
  PeCoffLib
  BaseLib
  SecurityManagementLib
  HobLib

[Guids]
  gMeasuredFvHobGuid                    ## SOMETIMES_CONSUMES ## HOB

[Protocols]
  gEfiTcg2ProtocolGuid                  ## SOMETIMES_CONSUMES
  gEfiCcMeasurementProtocolGuid         ## SOMETIMES_CONSUMES
  gEfiFirmwareVolumeBlockProtocolGuid   ## SOMETIMES_CONSUMES
  gEfiBlockIoProtocolGuid               ## SOMETIMES_CONSUMES
  gEfiDiskIoProtocolGuid                ## SOMETIMES_CONSUMES
