## @file
# SMM driver instance of SmiHandlerProfile Library.
#
# This library instance provides real functionality for SmmChildDispatcher module.
#
#  Copyright (c) 2017, 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                      = SmmSmiHandlerProfileLib
  MODULE_UNI_FILE                = SmmSmiHandlerProfileLib.uni
  FILE_GUID                      = FC38CEAE-FB74-4049-A51C-68F0BA69DA7D
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = SmiHandlerProfileLib|DXE_SMM_DRIVER
  CONSTRUCTOR                    = SmmSmiHandlerProfileLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  SmmSmiHandlerProfileLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  SmmServicesTableLib

[Guids]
  gSmiHandlerProfileGuid  ## CONSUMES   ## GUID # Locate protocol

