]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
MdeModulePkg: Fix SortLib library class name typo.
[mirror_edk2.git] / MdeModulePkg / Library / PeiPerformanceLib / PeiPerformanceLib.c
index 49011b701c3749bb36d5c8545a0614be29708502..60451eefdf34ea83a5c8b43fea95f1a064e4f2ad 100644 (file)
@@ -90,6 +90,7 @@ InternalGetPerformanceHobLog (
 \r
   @param  PeiPerformanceLog       Pointer to the data structure containing PEI \r
                                   performance data.\r
+  @param  PeiPerformanceIdArray   Pointer to PEI performance identifier array.\r
   @param  Handle                  Pointer to environment specific context used\r
                                   to identify the component being measured.\r
   @param  Token                   Pointer to a Null-terminated ASCII string\r
@@ -112,6 +113,7 @@ InternalSearchForLogEntry (
   )\r
 {\r
   UINT32                    Index;\r
+  UINT32                    Index2;\r
   UINT32                    NumberOfEntries;\r
   PEI_PERFORMANCE_LOG_ENTRY *LogEntryArray;\r
 \r
@@ -125,13 +127,16 @@ InternalSearchForLogEntry (
   NumberOfEntries = PeiPerformanceLog->NumberOfEntries;\r
   LogEntryArray   = (PEI_PERFORMANCE_LOG_ENTRY *) (PeiPerformanceLog + 1);\r
 \r
+  Index2 = 0;\r
+\r
   for (Index = 0; Index < NumberOfEntries; Index++) {\r
-    if ((LogEntryArray[Index].Handle == (EFI_PHYSICAL_ADDRESS) (UINTN) Handle) &&\r
-         AsciiStrnCmp (LogEntryArray[Index].Token, Token, PEI_PERFORMANCE_STRING_LENGTH) == 0 &&\r
-         AsciiStrnCmp (LogEntryArray[Index].Module, Module, PEI_PERFORMANCE_STRING_LENGTH) == 0 &&\r
-         (PeiPerformanceIdArray[Index] == Identifier) &&\r
-         LogEntryArray[Index].EndTimeStamp == 0\r
-       ) {\r
+    Index2 = NumberOfEntries - 1 - Index;\r
+    if (LogEntryArray[Index2].EndTimeStamp == 0 &&\r
+        (LogEntryArray[Index2].Handle == (EFI_PHYSICAL_ADDRESS) (UINTN) Handle) &&\r
+        AsciiStrnCmp (LogEntryArray[Index2].Token, Token, PEI_PERFORMANCE_STRING_LENGTH) == 0 &&\r
+        AsciiStrnCmp (LogEntryArray[Index2].Module, Module, PEI_PERFORMANCE_STRING_LENGTH) == 0 &&\r
+        (PeiPerformanceIdArray[Index2] == Identifier)) {\r
+      Index = Index2;\r
       break;\r
     }\r
   }\r