blob: e752a93d837a0367fad7671ff8d98b57501207c1 [file] [log] [blame]
## @file
# Performance library instance mainly for DxeCore usage.
#
# This library provides the performance measurement interfaces and initializes performance
# logging for DXE phase. It first initializes its private global data structure for
# performance logging and saves the performance GUIDed HOB passed from PEI phase.
# It initializes DXE phase performance logging by publishing the Performance and PerformanceEx Protocol,
# which is consumed by DxePerformanceLib to logging performance data in DXE phase.
# This library is mainly used by DxeCore to start performance logging to ensure that
# Performance and PerformanceEx Protocol are installed at the very beginning of DXE phase.
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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 = DxeCorePerformanceLib
MODULE_UNI_FILE = DxeCorePerformanceLib.uni
FILE_GUID = D0F78BBF-0A30-4c63-8A48-0F618A4AFACD
MODULE_TYPE = DXE_CORE
VERSION_STRING = 1.0
LIBRARY_CLASS = PerformanceLib|DXE_CORE
CONSTRUCTOR = DxeCorePerformanceLibConstructor
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
[Sources]
DxeCorePerformanceLib.c
DxeCorePerformanceLibInternal.h
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
MemoryAllocationLib
UefiBootServicesTableLib
UefiRuntimeServicesTableLib
PcdLib
TimerLib
BaseMemoryLib
BaseLib
HobLib
DebugLib
UefiLib
ReportStatusCodeLib
DxeServicesLib
PeCoffGetEntryPointLib
[Protocols]
gEfiSmmCommunicationProtocolGuid ## SOMETIMES_CONSUMES
[Guids]
## SOMETIMES_CONSUMES ## HOB
## PRODUCES ## UNDEFINED # Install protocol
## PRODUCES ## SystemTable
gPerformanceProtocolGuid
## SOMETIMES_CONSUMES ## HOB
## PRODUCES ## UNDEFINED # Install protocol
gPerformanceExProtocolGuid
gZeroGuid ## SOMETIMES_CONSUMES ## GUID
gEfiFirmwarePerformanceGuid ## SOMETIMES_PRODUCES ## UNDEFINED # StatusCode Data
gEdkiiFpdtExtendedFirmwarePerformanceGuid ## SOMETIMES_CONSUMES ## HOB # StatusCode Data
gEfiEventReadyToBootGuid ## CONSUMES ## Event
gEdkiiPiSmmCommunicationRegionTableGuid ## SOMETIMES_CONSUMES ## SystemTable
[Pcd]
gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdExtFpdtBootRecordPadSize ## CONSUMES