## @file # Performance library instance used by SMM Core. # # This library provides the performance measurement interfaces and initializes performance # logging for the SMM phase. # It initializes SMM phase performance logging by publishing the SMM Performance and PerformanceEx Protocol, # which is consumed by SmmPerformanceLib to logging performance data in SMM phase. # This library is mainly used by SMM Core to start performance logging to ensure that # SMM Performance and PerformanceEx Protocol are installed at the very beginning of SMM phase. # # Copyright (c) 2011 - 2021, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## [Defines] INF_VERSION = 0x00010005 BASE_NAME = SmmCorePerformanceLib MODULE_UNI_FILE = SmmCorePerformanceLib.uni FILE_GUID = 36290D10-0F47-42c1-BBCE-E191C7928DCF MODULE_TYPE = SMM_CORE VERSION_STRING = 1.0 PI_SPECIFICATION_VERSION = 0x0001000A LIBRARY_CLASS = PerformanceLib|SMM_CORE CONSTRUCTOR = SmmCorePerformanceLibConstructor # # The following information is for reference only and not required by the build tools. # # VALID_ARCHITECTURES = IA32 X64 # [Sources] SmmCorePerformanceLib.c SmmCorePerformanceLibInternal.h [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec [LibraryClasses] MemoryAllocationLib UefiBootServicesTableLib PcdLib TimerLib BaseMemoryLib BaseLib DebugLib SynchronizationLib SmmServicesTableLib SmmMemLib UefiLib ReportStatusCodeLib PeCoffGetEntryPointLib DxeServicesLib [Protocols] gEfiSmmBase2ProtocolGuid ## CONSUMES [Guids] ## PRODUCES ## SystemTable gPerformanceProtocolGuid gZeroGuid ## SOMETIMES_CONSUMES ## GUID gEdkiiSmmPerformanceMeasurementProtocolGuid ## PRODUCES ## UNDEFINED # Install protocol gEfiFirmwarePerformanceGuid ## SOMETIMES_PRODUCES ## UNDEFINED # SmiHandlerRegister [Pcd] gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly ## CONSUMES