1## @file
2#  Performance library instance used by SMM Core.
3#
4#  This library provides the performance measurement interfaces and initializes performance
5#  logging for the SMM phase.
6#  It initializes SMM phase performance logging by publishing the SMM Performance and PerformanceEx Protocol,
7#  which is consumed by SmmPerformanceLib to logging performance data in SMM phase.
8#  This library is mainly used by SMM Core to start performance logging to ensure that
9#  SMM Performance and PerformanceEx Protocol are installed at the very beginning of SMM phase.
10#
11#  Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
12#  This program and the accompanying materials
13#  are licensed and made available under the terms and conditions of the BSD License
14#  which accompanies this distribution.  The full text of the license may be found at
15#  http://opensource.org/licenses/bsd-license.php
16#
17#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
18#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19#
20##
21
22[Defines]
23  INF_VERSION                    = 0x00010005
24  BASE_NAME                      = SmmCorePerformanceLib
25  MODULE_UNI_FILE                = SmmCorePerformanceLib.uni
26  FILE_GUID                      = 36290D10-0F47-42c1-BBCE-E191C7928DCF
27  MODULE_TYPE                    = SMM_CORE
28  VERSION_STRING                 = 1.0
29  PI_SPECIFICATION_VERSION       = 0x0001000A
30  LIBRARY_CLASS                  = PerformanceLib|SMM_CORE
31
32  CONSTRUCTOR                    = SmmCorePerformanceLibConstructor
33
34#
35# The following information is for reference only and not required by the build tools.
36#
37#  VALID_ARCHITECTURES           = IA32 X64
38#
39
40[Sources]
41  SmmCorePerformanceLib.c
42  SmmCorePerformanceLibInternal.h
43
44[Packages]
45  MdePkg/MdePkg.dec
46  MdeModulePkg/MdeModulePkg.dec
47
48
49[LibraryClasses]
50  MemoryAllocationLib
51  UefiBootServicesTableLib
52  PcdLib
53  TimerLib
54  BaseMemoryLib
55  BaseLib
56  DebugLib
57  SynchronizationLib
58  SmmServicesTableLib
59  SmmMemLib
60
61[Protocols]
62  gEfiSmmBase2ProtocolGuid                  ## CONSUMES
63
64[Guids]
65  ## PRODUCES ## UNDEFINED # Install protocol
66  ## CONSUMES ## UNDEFINED # SmiHandlerRegister
67  gSmmPerformanceProtocolGuid
68  ## PRODUCES ## UNDEFINED # Install protocol
69  ## CONSUMES ## UNDEFINED # SmiHandlerRegister
70  gSmmPerformanceExProtocolGuid
71
72[Pcd]
73  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask    ## CONSUMES
74