From nobody Sat Nov 2 14:26:00 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1486097751457642.8568480482774; Thu, 2 Feb 2017 20:55:51 -0800 (PST) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id AC2E28208E; Thu, 2 Feb 2017 20:55:49 -0800 (PST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 4CFAD8207E for ; Thu, 2 Feb 2017 20:55:48 -0800 (PST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP; 02 Feb 2017 20:55:47 -0800 Received: from mdkinney-mobl.amr.corp.intel.com ([10.252.133.81]) by orsmga004.jf.intel.com with ESMTP; 02 Feb 2017 20:55:47 -0800 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,327,1477983600"; d="scan'208";a="54961011" From: Michael Kinney To: edk2-devel@lists.01.org Date: Thu, 2 Feb 2017 20:55:35 -0800 Message-Id: <1486097737-12816-2-git-send-email-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.6.3.windows.1 In-Reply-To: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> References: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> Subject: [edk2] [PATCH v4 1/3] MdeModulePkg: Add performance property configuration table X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Fish , Liming Gao , Jiewen Yao , Jaben Carsey , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Star Zeng Define PERFORMANCE_PROPERTY, and install performance property configuration table in DxeCorePerformanceLib and SmmCorePerformanceLib. Cc: Andrew Fish Cc: Michael Kinney Cc: Liming Gao Cc: Jiewen Yao Cc: Cinnamon Shia Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng Reviewed-by: Jaben Carsey --- MdeModulePkg/Include/Guid/Performance.h | 12 ++++++++++- .../DxeCorePerformanceLib/DxeCorePerformanceLib.c | 23 ++++++++++++++++++= ++-- .../DxeCorePerformanceLib.inf | 2 ++ .../DxeCorePerformanceLibInternal.h | 3 ++- .../SmmCorePerformanceLib/SmmCorePerformanceLib.c | 18 +++++++++++++++++ .../SmmCorePerformanceLib.inf | 5 ++++- 6 files changed, 58 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Include/Guid/Performance.h b/MdeModulePkg/Include= /Guid/Performance.h index c40046c..df40c6c 100644 --- a/MdeModulePkg/Include/Guid/Performance.h +++ b/MdeModulePkg/Include/Guid/Performance.h @@ -4,7 +4,7 @@ * performance protocol interfaces. * performance variables. =20 =20 -Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made availabl= e under=20 the terms and conditions of the BSD License that accompanies this distribu= tion. =20 The full text of the license may be found at @@ -18,6 +18,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHE= R EXPRESS OR IMPLIED. #ifndef __PERFORMANCE_DATA_H__ #define __PERFORMANCE_DATA_H__ =20 +#define PERFORMANCE_PROPERTY_REVISION 0x1 + +typedef struct { + UINT32 Revision; + UINT32 Reserved; + UINT64 Frequency; + UINT64 TimerStartValue; + UINT64 TimerEndValue; +} PERFORMANCE_PROPERTY; + // // PEI_PERFORMANCE_STRING_SIZE must be a multiple of 8. // diff --git a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceL= ib.c b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c index 4739bb8..1564514 100644 --- a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c +++ b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c @@ -10,7 +10,7 @@ This library is mainly used by DxeCore to start performance logging to e= nsure that Performance Protocol is installed at the very beginning of DXE phase. =20 -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License @@ -61,6 +61,8 @@ PERFORMANCE_EX_PROTOCOL mPerformanceExInterface =3D { GetGaugeEx }; =20 +PERFORMANCE_PROPERTY mPerformanceProperty; + /** Searches in the gauge array with keyword Handle, Token, Module and Ident= ifier. =20 @@ -502,6 +504,8 @@ DxeCorePerformanceLibConstructor ( ) { EFI_STATUS Status; + PERFORMANCE_PROPERTY *PerformanceProperty; + =20 if (!PerformanceMeasurementEnabled ()) { // @@ -531,7 +535,22 @@ DxeCorePerformanceLibConstructor ( =20 InternalGetPeiPerformance (); =20 - return Status; + Status =3D EfiGetSystemConfigurationTable (&gPerformanceProtocolGuid, &P= erformanceProperty); + if (EFI_ERROR (Status)) { + // + // Install configuration table for performance property. + // + mPerformanceProperty.Revision =3D PERFORMANCE_PROPERTY_REVISION; + mPerformanceProperty.Reserved =3D 0; + mPerformanceProperty.Frequency =3D GetPerformanceCounterProperties ( + &mPerformanceProperty.TimerStartVal= ue, + &mPerformanceProperty.TimerEndValue + ); + Status =3D gBS->InstallConfigurationTable (&gPerformanceProtocolGuid, = &mPerformanceProperty); + ASSERT_EFI_ERROR (Status); + } + + return EFI_SUCCESS; } =20 /** diff --git a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceL= ib.inf b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.i= nf index e091c62..5b89ce2 100644 --- a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf +++ b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf @@ -56,11 +56,13 @@ BaseLib HobLib DebugLib + UefiLib =20 =20 [Guids] ## SOMETIMES_CONSUMES ## HOB ## PRODUCES ## UNDEFINED # Install protocol + ## PRODUCES ## SystemTable gPerformanceProtocolGuid ## SOMETIMES_CONSUMES ## HOB ## PRODUCES ## UNDEFINED # Install protocol diff --git a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceL= ibInternal.h b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanc= eLibInternal.h index 2b9ccd2..f1540d8 100644 --- a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLibInter= nal.h +++ b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLibInter= nal.h @@ -4,7 +4,7 @@ This header file holds the prototypes of the Performance and Performance= Ex Protocol published by this library instance at its constructor. =20 -Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
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 @@ -32,6 +32,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER= EXPRESS OR IMPLIED. #include #include #include +#include =20 // // Interface declarations for PerformanceEx Protocol. diff --git a/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceL= ib.c b/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.c index 6f8d2dd..a03a8c8 100644 --- a/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.c +++ b/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.c @@ -69,6 +69,8 @@ PERFORMANCE_EX_PROTOCOL mPerformanceExInterface =3D { GetGaugeEx }; =20 +PERFORMANCE_PROPERTY mPerformanceProperty; + /** Searches in the gauge array with keyword Handle, Token, Module and Ident= fier. =20 @@ -687,6 +689,7 @@ InitializeSmmCorePerformanceLib ( { EFI_STATUS Status; EFI_HANDLE Handle; + PERFORMANCE_PROPERTY *PerformanceProperty; =20 // // Initialize spin lock @@ -725,6 +728,21 @@ InitializeSmmCorePerformanceLib ( ASSERT_EFI_ERROR (Status); Status =3D gSmst->SmiHandlerRegister (SmmPerformanceHandlerEx, &gSmmPerf= ormanceExProtocolGuid, &Handle); ASSERT_EFI_ERROR (Status); + + Status =3D EfiGetSystemConfigurationTable (&gPerformanceProtocolGuid, &P= erformanceProperty); + if (EFI_ERROR (Status)) { + // + // Install configuration table for performance property. + // + mPerformanceProperty.Revision =3D PERFORMANCE_PROPERTY_REVISION; + mPerformanceProperty.Reserved =3D 0; + mPerformanceProperty.Frequency =3D GetPerformanceCounterProperties ( + &mPerformanceProperty.TimerStartVal= ue, + &mPerformanceProperty.TimerEndValue + ); + Status =3D gBS->InstallConfigurationTable (&gPerformanceProtocolGuid, = &mPerformanceProperty); + ASSERT_EFI_ERROR (Status); + } } =20 /** diff --git a/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceL= ib.inf b/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.i= nf index 160a749..1b2fbd3 100644 --- a/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf +++ b/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf @@ -8,7 +8,7 @@ # 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 be= ginning of SMM phase. # =20 -# Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the B= SD License # which accompanies this distribution. The full text of the license may = be found at @@ -57,6 +57,7 @@ SynchronizationLib SmmServicesTableLib SmmMemLib + UefiLib =20 [Protocols] gEfiSmmBase2ProtocolGuid ## CONSUMES @@ -68,6 +69,8 @@ ## PRODUCES ## UNDEFINED # Install protocol ## CONSUMES ## UNDEFINED # SmiHandlerRegister gSmmPerformanceExProtocolGuid + ## PRODUCES ## SystemTable + gPerformanceProtocolGuid =20 [Pcd] gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask ## CONSUMES --=20 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Sat Nov 2 14:26:00 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1486097753621751.7823114090259; Thu, 2 Feb 2017 20:55:53 -0800 (PST) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id ED24D82093; Thu, 2 Feb 2017 20:55:49 -0800 (PST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 64D4A8207F for ; Thu, 2 Feb 2017 20:55:48 -0800 (PST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP; 02 Feb 2017 20:55:48 -0800 Received: from mdkinney-mobl.amr.corp.intel.com ([10.252.133.81]) by orsmga004.jf.intel.com with ESMTP; 02 Feb 2017 20:55:47 -0800 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,327,1477983600"; d="scan'208";a="54961015" From: Michael Kinney To: edk2-devel@lists.01.org Date: Thu, 2 Feb 2017 20:55:36 -0800 Message-Id: <1486097737-12816-3-git-send-email-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.6.3.windows.1 In-Reply-To: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> References: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> MIME-Version: 1.0 Subject: [edk2] [PATCH v4 2/3] PerformancePkg Dp_App: Remove TimerLib dependency X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Fish , Liming Gao , Jiewen Yao , Jaben Carsey , Star Zeng Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 From: Star Zeng Current Dp_App implementation depends on TimerLib, as different platforms may implement and use their own TimerLib, it makes the dp application needs to be built by platform. The TimerLib dependency can be removed by using performance property configuration table to make Dp_App to be generic. Cc: Andrew Fish Cc: Michael Kinney Cc: Liming Gao Cc: Jiewen Yao Cc: Cinnamon Shia Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng Reviewed-by: Jaben Carsey --- PerformancePkg/Dp_App/Dp.c | 35 +++++++++++++++++----------------= -- PerformancePkg/Dp_App/Dp.inf | 6 ++++-- PerformancePkg/Dp_App/DpInternal.h | 6 ++---- PerformancePkg/Dp_App/DpProfile.c | 3 +-- PerformancePkg/Dp_App/DpStrings.uni | 10 ++++++---- PerformancePkg/Dp_App/DpTrace.c | 25 ++----------------------- PerformancePkg/Dp_App/DpUtilities.c | 3 +-- PerformancePkg/Dp_App/Literals.c | 3 +-- 8 files changed, 34 insertions(+), 57 deletions(-) diff --git a/PerformancePkg/Dp_App/Dp.c b/PerformancePkg/Dp_App/Dp.c index 26a3ebc..389f368 100644 --- a/PerformancePkg/Dp_App/Dp.c +++ b/PerformancePkg/Dp_App/Dp.c @@ -13,7 +13,7 @@ Dp uses this information to group records in different ways. It also us= es timer information to calculate elapsed time for each measurement. =20 - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -201,14 +200,13 @@ InitializeDp ( IN EFI_SYSTEM_TABLE *SystemTable ) { - UINT64 Freq; - UINT64 Ticker; - UINT32 ListIndex; - =20 - LIST_ENTRY *ParamPackage; - CONST CHAR16 *CmdLineArg; - EFI_STRING StringPtr; - UINTN Number2Display; + PERFORMANCE_PROPERTY *PerformanceProperty; + UINT32 ListIndex; + + LIST_ENTRY *ParamPackage; + CONST CHAR16 *CmdLineArg; + EFI_STRING StringPtr; + UINTN Number2Display; =20 EFI_STATUS Status; BOOLEAN SummaryMode; @@ -267,11 +265,6 @@ InitializeDp ( StringDpOptionLc =3D NULL; StringPtr =3D NULL; =20 - // Get DP's entry time as soon as possible. - // This is used as the Shell-Phase end time. - // - Ticker =3D GetPerformanceCounter (); - // // Retrieve HII package list from ImageHandle // @@ -406,10 +399,16 @@ InitializeDp ( // StartCount =3D Value loaded into the counter when it starts co= unting // EndCount =3D Value counter counts to before it needs to be r= eset // - Freq =3D GetPerformanceCounterProperties (&TimerInfo.StartCount, &Ti= merInfo.EndCount); + Status =3D EfiGetSystemConfigurationTable (&gPerformanceProtocolGuid= , &PerformanceProperty); + if (EFI_ERROR (Status)) { + PrintToken (STRING_TOKEN (STR_PERF_PROPERTY_NOT_FOUND)); + goto Done; + } =20 // Convert the Frequency from Hz to KHz - TimerInfo.Frequency =3D (UINT32)DivU64x32 (Freq, 1000); + TimerInfo.Frequency =3D (UINT32)DivU64x32 (PerformanceProperty->Fre= quency, 1000); + TimerInfo.StartCount =3D PerformanceProperty->TimerStartValue; + TimerInfo.EndCount =3D PerformanceProperty->TimerEndValue; =20 // Determine in which direction the performance counter counts. TimerInfo.CountUp =3D (BOOLEAN) (TimerInfo.EndCount >=3D TimerInfo.S= tartCount); @@ -487,7 +486,7 @@ InitializeDp ( else { //------------- Begin Cooked Mode Processing if (TraceMode) { - ProcessPhases ( Ticker ); + ProcessPhases (); if ( ! SummaryMode) { Status =3D ProcessHandles ( ExcludeMode); if (Status =3D=3D EFI_ABORTED) { diff --git a/PerformancePkg/Dp_App/Dp.inf b/PerformancePkg/Dp_App/Dp.inf index 8abc20f..1204d8e 100644 --- a/PerformancePkg/Dp_App/Dp.inf +++ b/PerformancePkg/Dp_App/Dp.inf @@ -1,7 +1,7 @@ ## @file # Display Performance Application, Module information file. # -# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BS= D License # which accompanies this distribution. The full text of the license may b= e found at @@ -56,7 +56,6 @@ MemoryAllocationLib DebugLib UefiBootServicesTableLib - TimerLib PeCoffGetEntryPointLib PerformanceLib PrintLib @@ -67,6 +66,9 @@ DevicePathLib DxeServicesLib =20 +[Guids] + gPerformanceProtocolGuid ## CONSUMES ## S= ystemTable + [Protocols] gEfiLoadedImageProtocolGuid ## CONSUMES gEfiHiiPackageListProtocolGuid ## CONSUMES diff --git a/PerformancePkg/Dp_App/DpInternal.h b/PerformancePkg/Dp_App/DpI= nternal.h index 53c5fb2..1ab36ba 100644 --- a/PerformancePkg/Dp_App/DpInternal.h +++ b/PerformancePkg/Dp_App/DpInternal.h @@ -6,7 +6,7 @@ Dp application. In addition to global data, function declarations for DpUtilities.c, DpTrace.c, and DpProfile.c are included here. =20 - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -254,12 +254,10 @@ DumpRawTrace( /**=20 Gather and print Major Phase metrics. =20 - @param[in] Ticker The timer value for the END of Shell phase - =20 **/ VOID ProcessPhases( - IN UINT64 Ticker + VOID ); =20 =20 diff --git a/PerformancePkg/Dp_App/DpProfile.c b/PerformancePkg/Dp_App/DpPr= ofile.c index eb5b3dd..15c2ef1 100644 --- a/PerformancePkg/Dp_App/DpProfile.c +++ b/PerformancePkg/Dp_App/DpProfile.c @@ -1,7 +1,7 @@ /** @file Measured Profiling reporting for the Dp utility. =20 - Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include diff --git a/PerformancePkg/Dp_App/DpStrings.uni b/PerformancePkg/Dp_App/Dp= Strings.uni index daaa242..131d16b 100644 --- a/PerformancePkg/Dp_App/DpStrings.uni +++ b/PerformancePkg/Dp_App/DpStrings.uni @@ -1,12 +1,12 @@ // *++ // -// Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+// Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
// (C) Copyright 2015 Hewlett Packard Enterprise Development LP
// This program and the accompanying materials // are licensed and made available under the terms and conditions of the B= SD License // which accompanies this distribution. The full text of the license may = be found at // http://opensource.org/licenses/bsd-license.php -//=20 +// // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IM= PLIED. // @@ -114,7 +114,7 @@ #language fr-FR " -n COUNT\n" #string STR_DP_HELP_ID #language en-US " -i display id= entifier\n" #language fr-FR " -i\n" -#string STR_DP_HELP_CUM_DATA #language en-US " -c TOKEN - Dis= play pre-defined and custom cumulative data\r\n"=20 +#string STR_DP_HELP_CUM_DATA #language en-US " -c TOKEN - Dis= play pre-defined and custom cumulative data\r\n" " Pre= -defined cumulative token are:\r\n" " 1. = LoadImage:\r\n" " 2. = StartImage:\r\n" @@ -137,6 +137,8 @@ #language fr-FR "Localiser Toute e= rreur de Poign=C3=A9es - %r\n" #string STR_DP_ERROR_NAME #language en-US "Unknown Driver Na= me" #language fr-FR "Unknown Driver Na= me" +#string STR_PERF_PROPERTY_NOT_FOUND #language en-US "Performance prope= rty not found\n" + #language fr-FR "Performance prope= rty not found\n" #string STR_DP_BUILD_REVISION #language en-US "\nDP Build Versio= n: %d.%d\n" #language fr-FR "\nDP Construit la= Version: %d,%d\n" #string STR_DP_KHZ #language en-US "System Performanc= e Timer Frequency: %,8d (KHz)\n" @@ -238,7 +240,7 @@ #string STR_DP_RAW_VARS2 #language en-US "%5d: %16LX %16LX = %16LX %31a %31a %5d\n" #language fr-FR "%5d: %16LX %16LX = %16LX %31a %31a %5d\n" #string STR_DP_RAW_HEADR2 #language en-US "\nIndex Han= dle Start Count End Count Token = Module ID\n" - #language fr-FR "\nIndex Han= dle Start Count End Count Token = Module ID\n" =20 + #language fr-FR "\nIndex Han= dle Start Count End Count Token = Module ID\n" #string STR_DP_OPTION_UA #language en-US "-A" #language fr-FR "-A" #string STR_DP_OPTION_LA #language en-US "-a" diff --git a/PerformancePkg/Dp_App/DpTrace.c b/PerformancePkg/Dp_App/DpTrac= e.c index 6a62bba..9b4e0ed 100644 --- a/PerformancePkg/Dp_App/DpTrace.c +++ b/PerformancePkg/Dp_App/DpTrace.c @@ -1,7 +1,7 @@ /** @file Trace reporting for the Dp utility. =20 - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -385,12 +384,10 @@ DumpRawTrace( /**=20 Gather and print Major Phase metrics. =20 - @param[in] Ticker The timer value for the END of Shell phase - =20 **/ VOID ProcessPhases( - IN UINT64 Ticker + VOID ) { MEASUREMENT_RECORD Measurement; @@ -399,7 +396,6 @@ ProcessPhases( UINT64 PeiTime; UINT64 DxeTime; UINT64 BdsTime; - UINT64 ShellTime; UINT64 ElapsedTime; UINT64 Duration; UINT64 Total; @@ -412,7 +408,6 @@ ProcessPhases( PeiTime =3D 0; DxeTime =3D 0; BdsTime =3D 0; - ShellTime =3D 0; =20 // // Get Execution Phase Statistics // @@ -433,9 +428,6 @@ ProcessPhases( &Measurement.EndTimeStamp, &Measurement.Identifier)) !=3D 0) { - if (AsciiStrnCmp (Measurement.Token, ALit_SHELL, PERF_TOKEN_LENGTH) = =3D=3D 0) { - Measurement.EndTimeStamp =3D Ticker; - } if (Measurement.EndTimeStamp =3D=3D 0) { // Skip "incomplete" records continue; } @@ -453,8 +445,6 @@ ProcessPhases( DxeTime =3D Duration; } else if (AsciiStrnCmp (Measurement.Token, ALit_BDS, PERF_TOKEN_LENGT= H) =3D=3D 0) { BdsTime =3D Duration; - } else if (AsciiStrnCmp (Measurement.Token, ALit_SHELL, PERF_TOKEN_LEN= GTH) =3D=3D 0) { - ShellTime =3D Duration; } } =20 @@ -509,17 +499,6 @@ ProcessPhases( PrintToken (STRING_TOKEN (STR_DP_PHASE_BDSTO), ALit_BdsTO, ElapsedTime= ); } =20 - // print SHELL phase duration time - // - if (ShellTime > 0) { - ElapsedTime =3D DivU64x32 ( - ShellTime, - (UINT32)TimerInfo.Frequency - ); - Total +=3D ElapsedTime; - PrintToken (STRING_TOKEN (STR_DP_PHASE_DURATION), ALit_SHELL, ElapsedT= ime); - } - PrintToken (STRING_TOKEN (STR_DP_TOTAL_DURATION), Total); } =20 diff --git a/PerformancePkg/Dp_App/DpUtilities.c b/PerformancePkg/Dp_App/Dp= Utilities.c index 13d3897..d5840e8 100644 --- a/PerformancePkg/Dp_App/DpUtilities.c +++ b/PerformancePkg/Dp_App/DpUtilities.c @@ -1,7 +1,7 @@ /** @file Utility functions used by the Dp application. =20 - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include diff --git a/PerformancePkg/Dp_App/Literals.c b/PerformancePkg/Dp_App/Liter= als.c index 68de0fb..c1cddfb 100644 --- a/PerformancePkg/Dp_App/Literals.c +++ b/PerformancePkg/Dp_App/Literals.c @@ -1,7 +1,7 @@ /** @file Definitions of ASCII string literals used by DP. =20 - Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -16,7 +16,6 @@ CHAR8 const ALit_TimerLibError[] =3D "Timer library instance error!\n"; CHAR8 const ALit_SEC[] =3D SEC_TOK; CHAR8 const ALit_DXE[] =3D DXE_TOK; -CHAR8 const ALit_SHELL[] =3D SHELL_TOK; CHAR8 const ALit_PEI[] =3D PEI_TOK; CHAR8 const ALit_BDS[] =3D BDS_TOK; CHAR8 const ALit_BdsTO[] =3D "BdsTimeOut"; --=20 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Sat Nov 2 14:26:00 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1486097755818907.0037197585691; Thu, 2 Feb 2017 20:55:55 -0800 (PST) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 2F28A82097; Thu, 2 Feb 2017 20:55:50 -0800 (PST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 831718208E for ; Thu, 2 Feb 2017 20:55:48 -0800 (PST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP; 02 Feb 2017 20:55:48 -0800 Received: from mdkinney-mobl.amr.corp.intel.com ([10.252.133.81]) by orsmga004.jf.intel.com with ESMTP; 02 Feb 2017 20:55:47 -0800 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,327,1477983600"; d="scan'208";a="54961018" From: Michael Kinney To: edk2-devel@lists.01.org Date: Thu, 2 Feb 2017 20:55:37 -0800 Message-Id: <1486097737-12816-4-git-send-email-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.6.3.windows.1 In-Reply-To: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> References: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> Subject: [edk2] [PATCH v4 3/3] ShellPkg UefiDpLib: Remove TimerLib dependency X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Fish , Liming Gao , Jiewen Yao , Jaben Carsey , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Star Zeng Current UefiDpLib implementation depends on TimerLib, as different platforms may implement and use their own TimerLib, it makes the dp command needs to be built by platform. The TimerLib dependency can be removed by using performance property configuration table to make UefiDpLib to be generic. Cc: Andrew Fish Cc: Michael Kinney Cc: Liming Gao Cc: Jiewen Yao Cc: Cinnamon Shia Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng Reviewed-by: Jaben Carsey --- ShellPkg/Library/UefiDpLib/Dp.c | 29 +++++++++++------------------ ShellPkg/Library/UefiDpLib/DpInternal.h | 6 ++---- ShellPkg/Library/UefiDpLib/DpProfile.c | 3 +-- ShellPkg/Library/UefiDpLib/DpTrace.c | 25 ++----------------------- ShellPkg/Library/UefiDpLib/DpUtilities.c | 3 +-- ShellPkg/Library/UefiDpLib/Literals.c | 3 +-- ShellPkg/Library/UefiDpLib/UefiDpLib.inf | 6 ++++-- ShellPkg/Library/UefiDpLib/UefiDpLib.uni | 3 ++- ShellPkg/ShellPkg.dsc | 3 +-- 9 files changed, 25 insertions(+), 56 deletions(-) diff --git a/ShellPkg/Library/UefiDpLib/Dp.c b/ShellPkg/Library/UefiDpLib/D= p.c index 75c7d11..444c136 100644 --- a/ShellPkg/Library/UefiDpLib/Dp.c +++ b/ShellPkg/Library/UefiDpLib/Dp.c @@ -13,7 +13,7 @@ Dp uses this information to group records in different ways. It also us= es timer information to calculate elapsed time for each measurement. =20 - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved. + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -25,16 +25,10 @@ **/ =20 #include "UefiDpLib.h" -#include -#include -#include -#include - #include #include #include #include -#include #include =20 #include @@ -153,8 +147,7 @@ ShellCommandRunDp ( CONST CHAR16 *CmdLineArg; EFI_STATUS Status; =20 - UINT64 Freq; - UINT64 Ticker; + PERFORMANCE_PROPERTY *PerformanceProperty; UINTN Number2Display; =20 EFI_STRING StringPtr; @@ -183,11 +176,6 @@ ShellCommandRunDp ( CustomCumulativeData =3D NULL; ShellStatus =3D SHELL_SUCCESS; =20 - // Get DP's entry time as soon as possible. - // This is used as the Shell-Phase end time. - // - Ticker =3D GetPerformanceCounter (); - // // initialize the shell lib (we must be in non-auto-init...) // @@ -283,10 +271,15 @@ ShellCommandRunDp ( // StartCount =3D Value loaded into the counter when it starts counti= ng // EndCount =3D Value counter counts to before it needs to be reset // - Freq =3D GetPerformanceCounterProperties (&TimerInfo.StartCount, &TimerI= nfo.EndCount); + Status =3D EfiGetSystemConfigurationTable (&gPerformanceProtocolGuid, &P= erformanceProperty); + if (EFI_ERROR (Status)) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_PERF_PROPERTY_NOT_FOU= ND), gDpHiiHandle); + goto Done; + } =20 - // Convert the Frequency from Hz to KHz - TimerInfo.Frequency =3D (UINT32)DivU64x32 (Freq, 1000); + TimerInfo.Frequency =3D (UINT32)DivU64x32 (PerformanceProperty->Frequen= cy, 1000); + TimerInfo.StartCount =3D PerformanceProperty->TimerStartValue; + TimerInfo.EndCount =3D PerformanceProperty->TimerEndValue; =20 // Determine in which direction the performance counter counts. TimerInfo.CountUp =3D (BOOLEAN) (TimerInfo.EndCount >=3D TimerInfo.Start= Count); @@ -362,7 +355,7 @@ ShellCommandRunDp ( } else { //------------- Begin Cooked Mode Processing if (TraceMode) { - ProcessPhases ( Ticker ); + ProcessPhases (); if ( ! SummaryMode) { Status =3D ProcessHandles ( ExcludeMode); if (Status =3D=3D EFI_ABORTED) { diff --git a/ShellPkg/Library/UefiDpLib/DpInternal.h b/ShellPkg/Library/Uef= iDpLib/DpInternal.h index b5ec5f0..6de194a 100644 --- a/ShellPkg/Library/UefiDpLib/DpInternal.h +++ b/ShellPkg/Library/UefiDpLib/DpInternal.h @@ -6,7 +6,7 @@ Dp application. In addition to global data, function declarations for DpUtilities.c, DpTrace.c, and DpProfile.c are included here. =20 - Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved. + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -236,12 +236,10 @@ DumpRawTrace( /**=20 Gather and print Major Phase metrics. =20 - @param[in] Ticker The timer value for the END of Shell phase - =20 **/ VOID ProcessPhases( - IN UINT64 Ticker + VOID ); =20 =20 diff --git a/ShellPkg/Library/UefiDpLib/DpProfile.c b/ShellPkg/Library/Uefi= DpLib/DpProfile.c index 6458398..e443403 100644 --- a/ShellPkg/Library/UefiDpLib/DpProfile.c +++ b/ShellPkg/Library/UefiDpLib/DpProfile.c @@ -1,7 +1,7 @@ /** @file Measured Profiling reporting for the Dp utility. =20 - Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved. + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include diff --git a/ShellPkg/Library/UefiDpLib/DpTrace.c b/ShellPkg/Library/UefiDp= Lib/DpTrace.c index eca2ef3..90a71ad 100644 --- a/ShellPkg/Library/UefiDpLib/DpTrace.c +++ b/ShellPkg/Library/UefiDpLib/DpTrace.c @@ -1,7 +1,7 @@ /** @file Trace reporting for the Dp utility. =20 - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved. + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -386,12 +385,10 @@ DumpRawTrace( /**=20 Gather and print Major Phase metrics. =20 - @param[in] Ticker The timer value for the END of Shell phase - =20 **/ VOID ProcessPhases( - IN UINT64 Ticker + VOID ) { MEASUREMENT_RECORD Measurement; @@ -400,7 +397,6 @@ ProcessPhases( UINT64 PeiTime; UINT64 DxeTime; UINT64 BdsTime; - UINT64 ShellTime; UINT64 ElapsedTime; UINT64 Duration; UINT64 Total; @@ -413,7 +409,6 @@ ProcessPhases( PeiTime =3D 0; DxeTime =3D 0; BdsTime =3D 0; - ShellTime =3D 0; =20 // // Get Execution Phase Statistics // @@ -434,9 +429,6 @@ ProcessPhases( &Measurement.EndTimeStamp, &Measurement.Identifier)) !=3D 0) { - if (AsciiStrnCmp (Measurement.Token, ALit_SHELL, PERF_TOKEN_LENGTH) = =3D=3D 0) { - Measurement.EndTimeStamp =3D Ticker; - } if (Measurement.EndTimeStamp =3D=3D 0) { // Skip "incomplete" records continue; } @@ -454,8 +446,6 @@ ProcessPhases( DxeTime =3D Duration; } else if (AsciiStrnCmp (Measurement.Token, ALit_BDS, PERF_TOKEN_LENGT= H) =3D=3D 0) { BdsTime =3D Duration; - } else if (AsciiStrnCmp (Measurement.Token, ALit_SHELL, PERF_TOKEN_LEN= GTH) =3D=3D 0) { - ShellTime =3D Duration; } } =20 @@ -510,17 +500,6 @@ ProcessPhases( ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_PHASE_BDSTO), gDpH= iiHandle, ALit_BdsTO, ElapsedTime); } =20 - // print SHELL phase duration time - // - if (ShellTime > 0) { - ElapsedTime =3D DivU64x32 ( - ShellTime, - (UINT32)TimerInfo.Frequency - ); - Total +=3D ElapsedTime; - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_PHASE_DURATION), g= DpHiiHandle, ALit_SHELL, ElapsedTime); - } - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_TOTAL_DURATION), gDp= HiiHandle, Total); } =20 diff --git a/ShellPkg/Library/UefiDpLib/DpUtilities.c b/ShellPkg/Library/Ue= fiDpLib/DpUtilities.c index fbdd938..64f1830 100644 --- a/ShellPkg/Library/UefiDpLib/DpUtilities.c +++ b/ShellPkg/Library/UefiDpLib/DpUtilities.c @@ -1,7 +1,7 @@ /** @file Utility functions used by the Dp application. =20 - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved. + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include diff --git a/ShellPkg/Library/UefiDpLib/Literals.c b/ShellPkg/Library/UefiD= pLib/Literals.c index 68de0fb..c1cddfb 100644 --- a/ShellPkg/Library/UefiDpLib/Literals.c +++ b/ShellPkg/Library/UefiDpLib/Literals.c @@ -1,7 +1,7 @@ /** @file Definitions of ASCII string literals used by DP. =20 - Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -16,7 +16,6 @@ CHAR8 const ALit_TimerLibError[] =3D "Timer library instance error!\n"; CHAR8 const ALit_SEC[] =3D SEC_TOK; CHAR8 const ALit_DXE[] =3D DXE_TOK; -CHAR8 const ALit_SHELL[] =3D SHELL_TOK; CHAR8 const ALit_PEI[] =3D PEI_TOK; CHAR8 const ALit_BDS[] =3D BDS_TOK; CHAR8 const ALit_BdsTO[] =3D "BdsTimeOut"; diff --git a/ShellPkg/Library/UefiDpLib/UefiDpLib.inf b/ShellPkg/Library/Ue= fiDpLib/UefiDpLib.inf index 70d2163..0bce0ce 100644 --- a/ShellPkg/Library/UefiDpLib/UefiDpLib.inf +++ b/ShellPkg/Library/UefiDpLib/UefiDpLib.inf @@ -1,7 +1,7 @@ ## @file # Display Performance Application, Module information file. # -# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved. +# Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BS= D License # which accompanies this distribution. The full text of the license may b= e found at @@ -48,7 +48,6 @@ MdeModulePkg/MdeModulePkg.dec =20 [LibraryClasses] - TimerLib PerformanceLib DxeServicesLib MemoryAllocationLib @@ -64,6 +63,9 @@ PrintLib DevicePathLib =20 +[Guids] + gPerformanceProtocolGuid ## CONSUMES ## S= ystemTable + [Protocols] gEfiLoadedImageProtocolGuid ## CONSUMES gEfiDriverBindingProtocolGuid ## SOMETIMES_CON= SUMES diff --git a/ShellPkg/Library/UefiDpLib/UefiDpLib.uni b/ShellPkg/Library/Ue= fiDpLib/UefiDpLib.uni index b092274..b77c507 100644 --- a/ShellPkg/Library/UefiDpLib/UefiDpLib.uni +++ b/ShellPkg/Library/UefiDpLib/UefiDpLib.uni @@ -1,7 +1,7 @@ // *++ // // (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.
-// Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
+// Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
// (C) Copyright 2015 Hewlett Packard Enterprise Development LP
// This program and the accompanying materials // are licensed and made available under the terms and conditions of the B= SD License @@ -35,6 +35,7 @@ #string STR_DP_INVALID_ARG #language en-US "Invalid argument(= s)\n" #string STR_DP_HANDLES_ERROR #language en-US "Locate all handle= s error - %r\n" #string STR_DP_ERROR_NAME #language en-US "Unknown driver na= me" +#string STR_PERF_PROPERTY_NOT_FOUND #language en-US "Performance prope= rty not found\n" #string STR_DP_BUILD_REVISION #language en-US "\nDP Build Versio= n: %d.%d\n" #string STR_DP_KHZ #language en-US "System Performanc= e Timer Frequency: %,8d (KHz)\n" #string STR_DP_TIMER_PROPERTIES #language en-US "System Performanc= e Timer counts %s from 0x%Lx to 0x%Lx\n" diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc index 6b7864b..5c01933 100644 --- a/ShellPkg/ShellPkg.dsc +++ b/ShellPkg/ShellPkg.dsc @@ -1,7 +1,7 @@ ## @file # Shell Package # -# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the= BSD License @@ -99,7 +99,6 @@ =20 ShellPkg/Library/UefiDpLib/UefiDpLib.inf { - TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem= plate.inf PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformance= LibNull.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf } --=20 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel