2 # Performance library instance used by SMM Core.
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.
11 # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
12 # SPDX-License-Identifier: BSD-2-Clause-Patent
17 INF_VERSION = 0x00010005
18 BASE_NAME = SmmCorePerformanceLib
19 MODULE_UNI_FILE = SmmCorePerformanceLib.uni
20 FILE_GUID = 36290D10-0F47-42c1-BBCE-E191C7928DCF
21 MODULE_TYPE = SMM_CORE
23 PI_SPECIFICATION_VERSION = 0x0001000A
24 LIBRARY_CLASS = PerformanceLib|SMM_CORE
26 CONSTRUCTOR = SmmCorePerformanceLibConstructor
29 # The following information is for reference only and not required by the build tools.
31 # VALID_ARCHITECTURES = IA32 X64
35 SmmCorePerformanceLib.c
36 SmmCorePerformanceLibInternal.h
40 MdeModulePkg/MdeModulePkg.dec
45 UefiBootServicesTableLib
56 PeCoffGetEntryPointLib
60 gEfiSmmBase2ProtocolGuid ## CONSUMES
61 gEdkiiSmmReadyToBootProtocolGuid ## NOTIFY
64 ## PRODUCES ## SystemTable
65 gPerformanceProtocolGuid
66 gEdkiiFpdtExtendedFirmwarePerformanceGuid ## SOMETIMES_PRODUCES ## UNDEFINED # StatusCode Data
67 gZeroGuid ## SOMETIMES_CONSUMES ## GUID
68 gEdkiiSmmPerformanceMeasurementProtocolGuid ## PRODUCES ## UNDEFINED # Install protocol
71 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES
72 gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly ## CONSUMES