-#/** @file\r
-# Component description file for DxeCore Performance Library\r
-#\r
-# This library provides intrastructure for DxeCore to log performance.\r
-# Copyright (c) 2006, Intel Corporation.\r
-#\r
-# All rights reserved. This program and the accompanying materials\r
+## @file\r
+# Performance library instance mainly for DxeCore usage.\r
+# \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
+# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<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
+# which accompanies this distribution. The full text of the license may be found at\r
# http://opensource.org/licenses/bsd-license.php\r
+# \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
+##\r
\r
[Defines]\r
INF_VERSION = 0x00010005\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
\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
\r
\r
[Guids]\r
- gPeiPerformanceHobGuid # ALWAYS_CONSUMED\r
-\r
-\r
-[Protocols]\r
- gPerformanceProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
+ gPerformanceProtocolGuid ## CONSUMES ## HOB\r
+ gPerformanceProtocolGuid ## PRODUCES ## PROTOCOL\r
+ gPerformanceExProtocolGuid ## CONSUMES ## HOB\r
+ gPerformanceExProtocolGuid ## PRODUCES ## PROTOCOL\r
\r
-\r
-[FixedPcd.common]\r
- gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask\r
-\r
-\r
-[Pcd.common]\r
+[Pcd]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries\r
-\r
+ gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask\r