## @file
# SMM Periodic SMI Library.
#
# Copyright (c) 2011 - 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                      = SmmPeriodicSmiLib
  MODULE_UNI_FILE                = SmmPeriodicSmiLib.uni
  FILE_GUID                      = AED5F3FB-4CFF-4b60-9E43-1541B55C8267
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = SmmPeriodicSmiLib|DXE_SMM_DRIVER
  PI_SPECIFICATION_VERSION       = 0x0001000A
  CONSTRUCTOR                    = SmmPeriodicSmiLibConstructor
  DESTRUCTOR                     = SmmPeriodicSmiLibDestructor

#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  SmmPeriodicSmiLib.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  SynchronizationLib
  DebugLib
  TimerLib
  MemoryAllocationLib
  SmmServicesTableLib

[Protocols]
  gEfiSmmPeriodicTimerDispatch2ProtocolGuid  ## CONSUMES

[Depex]
  gEfiSmmPeriodicTimerDispatch2ProtocolGuid

