From 5a2a95923dd196b09a9c5dcf96ff4293426611e4 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Thu, 22 Jun 2006 06:09:37 +0000 Subject: [PATCH] =?utf8?q?1.=20UINTN=20&=20INTN=20issue=20for=20EBC=20arch?= =?utf8?q?itecture:=20=09The=20MAX=5FBIT=20of=20EBC=20will=20no=20longer?= =?utf8?q?=20be=20fixed=20to=20bit=2063.=20It=20is=20defined=20as=20(1ULL?= =?utf8?q?=20<<=20(sizeof=20(INTN)=20*=208=20-=201)).=20=09Make=20EdkModul?= =?utf8?q?ePkg=20&=20MdePkg=20EBC=20compiler=20clean:=20treat=20all=20EFI?= =?utf8?q?=5FSTATUS=20error=20code=20as=20variable.=202.=20PrintLib=20=09C?= =?utf8?q?omplete=20all=20missing=20ASSERT()s.=20=09Fix=20=E2=80=9C\n?= =?utf8?q?=E2=80=9D=20&=20=E2=80=9C%\n=E2=80=9D=20issue=20thanks=20to=20th?= =?utf8?q?e=20clarification=20of=20MWG=200.56d.=20=09Adjust=20StatusString?= =?utf8?q?=20array=20to=20support=20EBC=20build.=203.=20BaseMemoryLib=20?= =?utf8?q?=09Adjust=20ASSERT=20()=20&=20function=20header=20of=20ComparaMe?= =?utf8?q?m,=20SetMemXX,=20ScanMemXX=20to=20synchronize=20with=20MWG=200.5?= =?utf8?q?6d.=204.SmbusLib=20=09Change=20Pec=20bit=20to=20bit=2022=20SmBus?= =?utf8?q?Address=20to=20synchronize=20MWG=200.56d.=20=09Add=20ASSERT()s?= =?utf8?q?=20to=20check=20if=20length=20is=20illegal=20for=20SmBusBlockWri?= =?utf8?q?te()=20&=20SmBusProcessBlock()=20since=20it=20is=206=20bit=20now?= =?utf8?q?.=205.=20PerformanceLib=20=09Rename=20=E2=80=9CEdkDxePerformance?= =?utf8?q?Lib=E2=80=9D=20&=20=E2=80=9CEdkPeiPerformanceLib=E2=80=9D=20to?= =?utf8?q?=20=E2=80=9CDxePerformanceLib=E2=80=9D=20&=20=E2=80=9CPeiPerform?= =?utf8?q?anceLib=E2=80=9D=20respectively.=20=09Synchronize=20the=20functi?= =?utf8?q?on=20header=20of=20GetPerformanceMeasurement()=20with=20MWG=200.?= =?utf8?q?56d.=206.=20BasePeCoffLoaderLib.=20=09Make=20PeCoffLoaderLoadIma?= =?utf8?q?ge=20()=20Assert()=20if=20ImageContext=20is=20NULL>=20=09Make=20?= =?utf8?q?PeCoffLoaderLoadImage=20()=20return=20RETURN=5FINVALID=5FPARAMET?= =?utf8?q?ER=20if=20the=20ImageAddress=20in=20ImageContext=20is=200.=20=09?= =?utf8?q?Adjust=20some=20coding=20style.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@594 6f19259b-4bc3-4df7-8a09-765794883524 --- .../EdkDxePerformanceLib/DxePerformanceLib.c | 213 ------------ .../EdkDxePerformanceLib.mbd | 29 -- .../EdkDxePerformanceLib.msa | 60 ---- .../Library/EdkDxePerformanceLib/build.xml | 47 --- .../EdkPeiPerformanceLib.mbd | 29 -- .../EdkPeiPerformanceLib.msa | 59 ---- .../EdkPeiPerformanceLib/PeiPerformanceLib.c | 315 ------------------ .../Library/EdkPeiPerformanceLib/build.xml | 47 --- 8 files changed, 799 deletions(-) delete mode 100644 EdkModulePkg/Library/EdkDxePerformanceLib/DxePerformanceLib.c delete mode 100644 EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.mbd delete mode 100644 EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa delete mode 100644 EdkModulePkg/Library/EdkDxePerformanceLib/build.xml delete mode 100644 EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.mbd delete mode 100644 EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa delete mode 100644 EdkModulePkg/Library/EdkPeiPerformanceLib/PeiPerformanceLib.c delete mode 100644 EdkModulePkg/Library/EdkPeiPerformanceLib/build.xml diff --git a/EdkModulePkg/Library/EdkDxePerformanceLib/DxePerformanceLib.c b/EdkModulePkg/Library/EdkDxePerformanceLib/DxePerformanceLib.c deleted file mode 100644 index 5e448c6974..0000000000 --- a/EdkModulePkg/Library/EdkDxePerformanceLib/DxePerformanceLib.c +++ /dev/null @@ -1,213 +0,0 @@ -/*++ - -Copyright (c) 2006, 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 -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. - -Module Name: - - DxePerformanceLib.c - -Abstract: - - Performance Library - ---*/ - -STATIC PERFORMANCE_PROTOCOL *mPerformance = NULL; - -/** - The constructor function caches the pointer to Performance protocol. - - The constructor function locates Performance protocol from protocol database. - It will ASSERT() if that operation fails and it will always return EFI_SUCCESS. - - @param ImageHandle The firmware allocated handle for the EFI image. - @param SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS. - -**/ -EFI_STATUS -EFIAPI -PerformanceLibConstructor ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - Status = gBS->LocateProtocol (&gPerformanceProtocolGuid, NULL, (VOID **) &mPerformance); - ASSERT_EFI_ERROR (Status); - ASSERT (mPerformance != NULL); - - return Status; -} - -/** - Creates a record for the beginning of a performance measurement. - - Creates a record that contains the Handle, Token, and Module. - If TimeStamp is not zero, then TimeStamp is added to the record as the start time. - If TimeStamp is zero, then this function reads the current time stamp - and adds that time stamp value to the record as the start time. - - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - @param TimeStamp 64-bit time stamp. - - @retval RETURN_SUCCESS The start of the measurement was recorded. - @retval RETURN_OUT_OF_RESOURCES There are not enough resources to record the measurement. - -**/ -RETURN_STATUS -EFIAPI -StartPerformanceMeasurement ( - IN CONST VOID *Handle, OPTIONAL - IN CONST CHAR8 *Token, OPTIONAL - IN CONST CHAR8 *Module, OPTIONAL - IN UINT64 TimeStamp - ) -{ - EFI_STATUS Status; - - Status = mPerformance->StartGauge (Handle, Token, Module, TimeStamp); - - return (RETURN_STATUS) Status; -} - -/** - Fills in the end time of a performance measurement. - - Looks up the record that matches Handle, Token, and Module. - If the record can not be found then return RETURN_NOT_FOUND. - If the record is found and TimeStamp is not zero, - then TimeStamp is added to the record as the end time. - If the record is found and TimeStamp is zero, then this function reads - the current time stamp and adds that time stamp value to the record as the end time. - If this function is called multiple times for the same record, then the end time is overwritten. - - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - @param TimeStamp 64-bit time stamp. - - @retval RETURN_SUCCESS The end of the measurement was recorded. - @retval RETURN_NOT_FOUND The specified measurement record could not be found. - -**/ -RETURN_STATUS -EFIAPI -EndPerformanceMeasurement ( - IN CONST VOID *Handle, OPTIONAL - IN CONST CHAR8 *Token, OPTIONAL - IN CONST CHAR8 *Module, OPTIONAL - IN UINT64 TimeStamp - ) -{ - EFI_STATUS Status; - - Status = mPerformance->EndGauge (Handle, Token, Module, TimeStamp); - - return (RETURN_STATUS) Status; -} - -/** - Retrieves a previously logged performance measurement. - - Looks up the record that matches Handle, Token, and Module. - If the record can not be found then return RETURN_NOT_FOUND. - If the record is found then the start of the measurement is returned in StartTimeStamp, - and the end of the measurement is returned in EndTimeStamp. - - @param LogEntryKey The key for the previous performance measurement log entry. - If 0, then the first performance measurement log entry is retrieved. - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - @param StartTimeStamp The 64-bit time stamp that was recorded when the measurement was started. - @param EndTimeStamp The 64-bit time stamp that was recorded when the measurement was ended. - - @return The key for the current performance log entry. - -**/ -UINTN -EFIAPI -GetPerformanceMeasurement ( - UINTN LogEntryKey, - OUT CONST VOID **Handle, - OUT CONST CHAR8 **Token, - OUT CONST CHAR8 **Module, - OUT UINT64 *StartTimeStamp, - OUT UINT64 *EndTimeStamp - ) -{ - EFI_STATUS Status; - GAUGE_DATA_ENTRY *GaugeData; - - ASSERT (Handle != NULL); - ASSERT (Token != NULL); - ASSERT (Module != NULL); - ASSERT (StartTimeStamp != NULL); - ASSERT (EndTimeStamp != NULL); - - Status = mPerformance->GetGauge (LogEntryKey++, &GaugeData); - - // - // Make sure that LogEntryKey is a valid log entry key, - // - ASSERT (Status != EFI_INVALID_PARAMETER); - - if (EFI_ERROR (Status)) { - // - // The LogEntryKey is the last entry (equals to the total entry number). - // - return 0; - } - - ASSERT (GaugeData != NULL); - - *Handle = (VOID *) (UINTN) GaugeData->Handle; - *Token = GaugeData->Token; - *Module = GaugeData->Module; - *StartTimeStamp = GaugeData->StartTimeStamp; - *EndTimeStamp = GaugeData->EndTimeStamp; - - return LogEntryKey; -} - -/** - Returns TRUE if the performance measurement macros are enabled. - - This function returns TRUE if the PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED bit of - PcdPerformanceLibraryPropertyMask is set. Otherwise FALSE is returned. - - @retval TRUE The PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED bit of - PcdPerformanceLibraryPropertyMask is set. - @retval FALSE The PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED bit of - PcdPerformanceLibraryPropertyMask is clear. - -**/ -BOOLEAN -EFIAPI -PerformanceMeasurementEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdPerformanceLibraryPropertyMask) & PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED) != 0); -} diff --git a/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.mbd b/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.mbd deleted file mode 100644 index 7bd0e106f0..0000000000 --- a/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.mbd +++ /dev/null @@ -1,29 +0,0 @@ - - - - - EdkDxePerformanceLib - 8B8B4CCC-65FC-41a5-8067-308B8E42CCF2 - EDK_RELEASE_VERSION 0x00020000 - FIX ME! - Copyright (c) 2006, 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 - 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. - - 2006-04-04 11:11 - - diff --git a/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa b/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa deleted file mode 100644 index a0dd07c6e9..0000000000 --- a/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa +++ /dev/null @@ -1,60 +0,0 @@ - - - - - EdkDxePerformanceLib - DXE_DRIVER - LIBRARY - 8B8B4CCC-65FC-41a5-8067-308B8E42CCF2 - EDK_RELEASE_VERSION 0x00020000 - Memory-only library functions with no library constructor/destructor - FIX ME! - Copyright (c) 2006, 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 - 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. - - 2006-04-04 11:11 - EFI_SPECIFICATION_VERSION 0x00000000 - - - PerformanceLib - DebugLib - UefiBootServicesTableLib - TimerLib - PcdLib - - - DxePerformanceLib.c - - - MdePkg - EdkModulePkg - - - Performance - - - - PerformanceLibConstructor - - - - - PcdPerformanceLibraryPropertyMask - - - diff --git a/EdkModulePkg/Library/EdkDxePerformanceLib/build.xml b/EdkModulePkg/Library/EdkDxePerformanceLib/build.xml deleted file mode 100644 index 3165132c01..0000000000 --- a/EdkModulePkg/Library/EdkDxePerformanceLib/build.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.mbd b/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.mbd deleted file mode 100644 index 103f7c4466..0000000000 --- a/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.mbd +++ /dev/null @@ -1,29 +0,0 @@ - - - - - EdkPeiPerformanceLib - F72DE735-B24F-4ef6-897F-70A85D01A047 - EDK_RELEASE_VERSION 0x00020000 - FIX ME! - Copyright (c) 2006, 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 - 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. - - 2006-04-04 11:12 - - diff --git a/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa b/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa deleted file mode 100644 index 9bf43a379d..0000000000 --- a/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa +++ /dev/null @@ -1,59 +0,0 @@ - - - - - EdkPeiPerformanceLib - PEIM - LIBRARY - F72DE735-B24F-4ef6-897F-70A85D01A047 - EDK_RELEASE_VERSION 0x00020000 - Memory-only library functions with no library constructor/destructor - FIX ME! - Copyright (c) 2006, 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 - 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. - - 2006-04-04 11:12 - EFI_SPECIFICATION_VERSION 0x00000000 - - - PerformanceLib - DebugLib - HobLib - BaseLib - TimerLib - PcdLib - BaseMemoryLib - - - PeiPerformanceLib.c - - - MdePkg - EdkModulePkg - - - - PeiPerformanceHob - - - - - PcdPerformanceLibraryPropertyMask - - - diff --git a/EdkModulePkg/Library/EdkPeiPerformanceLib/PeiPerformanceLib.c b/EdkModulePkg/Library/EdkPeiPerformanceLib/PeiPerformanceLib.c deleted file mode 100644 index 89e2dd3c94..0000000000 --- a/EdkModulePkg/Library/EdkPeiPerformanceLib/PeiPerformanceLib.c +++ /dev/null @@ -1,315 +0,0 @@ -/*++ - -Copyright (c) 2006, 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 -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. - -Module Name: - - PeiPerformanceLib.c - -Abstract: - - Performance Library - ---*/ - -/** - Gets PEI the GUID HOB for PEI performance. - - This internal function searches for the GUID HOB for PEI performance. - If that GUID HOB is not found, it will build a new one. - It returns the data area of that GUID HOB to record performance log. - - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - - @retval The index of log entry in the array. - -**/ -PEI_PERFORMANCE_LOG_HEADER * -InternalGetPerformanceHobLog ( - VOID - ) -{ - EFI_HOB_GUID_TYPE *GuidHob; - PEI_PERFORMANCE_LOG_HEADER *PeiPerformanceLog; - UINTN PeiPerformanceLogSize; - - GuidHob = GetFirstGuidHob (&gPeiPerformanceHobGuid); - - if (GuidHob != NULL) { - // - // PEI Performance HOB was found, then return the existing one. - // - PeiPerformanceLog = GET_GUID_HOB_DATA (GuidHob); - } else { - // - // PEI Performance HOB was not found, then build one. - // - PeiPerformanceLogSize = sizeof (PEI_PERFORMANCE_LOG_HEADER) + - sizeof (PEI_PERFORMANCE_LOG_ENTRY) * MAX_PEI_PERFORMANCE_LOG_ENTRIES; - PeiPerformanceLog = BuildGuidHob (&gPeiPerformanceHobGuid, PeiPerformanceLogSize); - PeiPerformanceLog = ZeroMem (PeiPerformanceLog, PeiPerformanceLogSize); - } - - return PeiPerformanceLog; -} - -/** - Searches in the log array with keyword Handle, Token and Module. - - This internal function searches for the log entry in the log array. - If there is an entry that exactly matches the given key word triple - and its end time stamp is zero, then the index of that log entry is returned; - otherwise, the the number of log entries in the array is returned. - - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - - @retval The index of log entry in the array. - -**/ -UINT32 -InternalSearchForLogEntry ( - IN PEI_PERFORMANCE_LOG_HEADER *PeiPerformanceLog, - IN CONST VOID *Handle, OPTIONAL - IN CONST CHAR8 *Token, OPTIONAL - IN CONST CHAR8 *Module OPTIONAL - ) -{ - UINT32 Index; - UINT32 NumberOfEntries; - PEI_PERFORMANCE_LOG_ENTRY *LogEntryArray; - - - if (Token == NULL) { - Token = ""; - } - if (Module == NULL) { - Module = ""; - } - NumberOfEntries = PeiPerformanceLog->NumberOfEntries; - LogEntryArray = (PEI_PERFORMANCE_LOG_ENTRY *) (PeiPerformanceLog + 1); - - for (Index = 0; Index < NumberOfEntries; Index++) { - if ((LogEntryArray[Index].Handle == (EFI_PHYSICAL_ADDRESS) (UINTN) Handle) && - AsciiStrnCmp (LogEntryArray[Index].Token, Token, PEI_PERFORMANCE_STRING_LENGTH) == 0 && - AsciiStrnCmp (LogEntryArray[Index].Module, Module, PEI_PERFORMANCE_STRING_LENGTH) == 0 && - LogEntryArray[Index].EndTimeStamp == 0 - ) { - break; - } - } - return Index; -} - -/** - Creates a record for the beginning of a performance measurement. - - Creates a record that contains the Handle, Token, and Module. - If TimeStamp is not zero, then TimeStamp is added to the record as the start time. - If TimeStamp is zero, then this function reads the current time stamp - and adds that time stamp value to the record as the start time. - - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - @param TimeStamp 64-bit time stamp. - - @retval RETURN_SUCCESS The start of the measurement was recorded. - @retval RETURN_OUT_OF_RESOURCES There are not enough resources to record the measurement. - -**/ -RETURN_STATUS -EFIAPI -StartPerformanceMeasurement ( - IN CONST VOID *Handle, OPTIONAL - IN CONST CHAR8 *Token, OPTIONAL - IN CONST CHAR8 *Module, OPTIONAL - IN UINT64 TimeStamp - ) -{ - PEI_PERFORMANCE_LOG_HEADER *PeiPerformanceLog; - PEI_PERFORMANCE_LOG_ENTRY *LogEntryArray; - UINT32 Index; - - PeiPerformanceLog = InternalGetPerformanceHobLog (); - - if (PeiPerformanceLog->NumberOfEntries >= MAX_PEI_PERFORMANCE_LOG_ENTRIES) { - return RETURN_OUT_OF_RESOURCES; - } - Index = PeiPerformanceLog->NumberOfEntries++; - LogEntryArray = (PEI_PERFORMANCE_LOG_ENTRY *) (PeiPerformanceLog + 1); - LogEntryArray[Index].Handle = (EFI_PHYSICAL_ADDRESS) (UINTN) Handle; - - if (Token != NULL) { - AsciiStrnCpy (LogEntryArray[Index].Token, Token, PEI_PERFORMANCE_STRING_LENGTH); - } - if (Module != NULL) { - AsciiStrnCpy (LogEntryArray[Index].Module, Module, PEI_PERFORMANCE_STRING_LENGTH); - } - - if (TimeStamp == 0) { - TimeStamp = GetPerformanceCounter (); - } - LogEntryArray[Index].StartTimeStamp = TimeStamp; - - return RETURN_SUCCESS; -} - -/** - Fills in the end time of a performance measurement. - - Looks up the record that matches Handle, Token, and Module. - If the record can not be found then return RETURN_NOT_FOUND. - If the record is found and TimeStamp is not zero, - then TimeStamp is added to the record as the end time. - If the record is found and TimeStamp is zero, then this function reads - the current time stamp and adds that time stamp value to the record as the end time. - If this function is called multiple times for the same record, then the end time is overwritten. - - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - @param TimeStamp 64-bit time stamp. - - @retval RETURN_SUCCESS The end of the measurement was recorded. - @retval RETURN_NOT_FOUND The specified measurement record could not be found. - -**/ -RETURN_STATUS -EFIAPI -EndPerformanceMeasurement ( - IN CONST VOID *Handle, OPTIONAL - IN CONST CHAR8 *Token, OPTIONAL - IN CONST CHAR8 *Module, OPTIONAL - IN UINT64 TimeStamp - ) -{ - PEI_PERFORMANCE_LOG_HEADER *PeiPerformanceLog; - PEI_PERFORMANCE_LOG_ENTRY *LogEntryArray; - UINT32 Index; - - if (TimeStamp == 0) { - TimeStamp = GetPerformanceCounter (); - } - - PeiPerformanceLog = InternalGetPerformanceHobLog (); - Index = InternalSearchForLogEntry (PeiPerformanceLog, Handle, Token, Module); - if (Index >= PeiPerformanceLog->NumberOfEntries) { - return RETURN_NOT_FOUND; - } - LogEntryArray = (PEI_PERFORMANCE_LOG_ENTRY *) (PeiPerformanceLog + 1); - LogEntryArray[Index].EndTimeStamp = TimeStamp; - - return RETURN_SUCCESS; -} - -/** - Retrieves a previously logged performance measurement. - - Looks up the record that matches Handle, Token, and Module. - If the record can not be found then return RETURN_NOT_FOUND. - If the record is found then the start of the measurement is returned in StartTimeStamp, - and the end of the measurement is returned in EndTimeStamp. - - @param LogEntryKey The key for the previous performance measurement log entry. - If 0, then the first performance measurement log entry is retrieved. - @param Handle Pointer to environment specific context used - to identify the component being measured. - @param Token Pointer to a Null-terminated ASCII string - that identifies the component being measured. - @param Module Pointer to a Null-terminated ASCII string - that identifies the module being measured. - @param StartTimeStamp The 64-bit time stamp that was recorded when the measurement was started. - @param EndTimeStamp The 64-bit time stamp that was recorded when the measurement was ended. - - @return The key for the current performance log entry. - -**/ -UINTN -EFIAPI -GetPerformanceMeasurement ( - UINTN LogEntryKey, - OUT CONST VOID **Handle, - OUT CONST CHAR8 **Token, - OUT CONST CHAR8 **Module, - OUT UINT64 *StartTimeStamp, - OUT UINT64 *EndTimeStamp - ) -{ - PEI_PERFORMANCE_LOG_HEADER *PeiPerformanceLog; - PEI_PERFORMANCE_LOG_ENTRY *CurrentLogEntry; - PEI_PERFORMANCE_LOG_ENTRY *LogEntryArray; - UINTN NumberOfEntries; - - ASSERT (Handle != NULL); - ASSERT (Token != NULL); - ASSERT (Module != NULL); - ASSERT (StartTimeStamp != NULL); - ASSERT (EndTimeStamp != NULL); - - PeiPerformanceLog = InternalGetPerformanceHobLog (); - - NumberOfEntries = (UINTN) (PeiPerformanceLog->NumberOfEntries); - LogEntryArray = (PEI_PERFORMANCE_LOG_ENTRY *) (PeiPerformanceLog + 1); - // - // Make sure that LogEntryKey is a valid log entry key. - // - ASSERT (LogEntryKey <= NumberOfEntries); - - if (LogEntryKey == NumberOfEntries) { - return 0; - } - - CurrentLogEntry = &(LogEntryArray[LogEntryKey++]); - - *Handle = (VOID *) (UINTN) (CurrentLogEntry->Handle); - *Token = CurrentLogEntry->Token; - *Module = CurrentLogEntry->Module; - *StartTimeStamp = CurrentLogEntry->StartTimeStamp; - *EndTimeStamp = CurrentLogEntry->EndTimeStamp; - - return LogEntryKey; -} - -/** - Returns TRUE if the performance measurement macros are enabled. - - This function returns TRUE if the PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED bit of - PcdPerformanceLibraryPropertyMask is set. Otherwise FALSE is returned. - - @retval TRUE The PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED bit of - PcdPerformanceLibraryPropertyMask is set. - @retval FALSE The PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED bit of - PcdPerformanceLibraryPropertyMask is clear. - -**/ -BOOLEAN -EFIAPI -PerformanceMeasurementEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdPerformanceLibraryPropertyMask) & PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED) != 0); -} diff --git a/EdkModulePkg/Library/EdkPeiPerformanceLib/build.xml b/EdkModulePkg/Library/EdkPeiPerformanceLib/build.xml deleted file mode 100644 index e269b31cd1..0000000000 --- a/EdkModulePkg/Library/EdkPeiPerformanceLib/build.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file -- 2.39.2