-#/** @file\r
+## @file\r
+# Performance library instance mainly for DxeCore usage.\r
# \r
-# Component description file for DxeCore Performance Library\r
+# This library provides the performance measurement interfaces and initializes performance\r
+# logging for DXE phase. It first initializes its private global data structure for\r
+# performance logging and saves the performance GUIDed HOB passed from PEI phase. \r
+# It initializes DXE phase performance logging by publishing the Performance and PerformanceEx Protocol,\r
+# which is consumed by DxePerformanceLib to logging performance data in DXE phase.\r
+# This library is mainly used by DxeCore to start performance logging to ensure that\r
+# Performance and PerformanceEx Protocol are installed at the very beginning of DXE phase.\r
# \r
-# This library provides intrastructure for DxeCore to log performance.\r
-# \r
-# Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-# All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
+# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
# http://opensource.org/licenses/bsd-license.php\r
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
# \r
-#**/\r
+##\r
\r
[Defines]\r
INF_VERSION = 0x00010005\r
BASE_NAME = DxeCorePerformanceLib\r
+ MODULE_UNI_FILE = DxeCorePerformanceLib.uni\r
FILE_GUID = D0F78BBF-0A30-4c63-8A48-0F618A4AFACD\r
MODULE_TYPE = DXE_CORE\r
VERSION_STRING = 1.0\r
- LIBRARY_CLASS = PerformanceLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER\r
- EDK_RELEASE_VERSION = 0x00020000\r
- EFI_SPECIFICATION_VERSION = 0x00020000\r
+ LIBRARY_CLASS = PerformanceLib|DXE_CORE\r
\r
CONSTRUCTOR = DxeCorePerformanceLibConstructor\r
\r
# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
#\r
\r
-[Sources.common]\r
+[Sources]\r
DxeCorePerformanceLib.c\r
+ DxeCorePerformanceLibInternal.h\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
BaseLib\r
HobLib\r
DebugLib\r
+ UefiLib\r
\r
\r
[Guids]\r
- gPeiPerformanceHobGuid # ALWAYS_CONSUMED\r
-\r
-\r
-[Protocols]\r
- gPerformanceProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
+ ## SOMETIMES_CONSUMES ## HOB\r
+ ## PRODUCES ## UNDEFINED # Install protocol\r
+ ## PRODUCES ## SystemTable\r
+ gPerformanceProtocolGuid\r
+ ## SOMETIMES_CONSUMES ## HOB\r
+ ## PRODUCES ## UNDEFINED # Install protocol\r
+ gPerformanceExProtocolGuid\r
\r
-[Pcd.common]\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries\r
- gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask\r
+[Pcd]\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries16 ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES\r