]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Assume Tick value 1 as the beginning time of boot.
authorjgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 8 Feb 2010 02:12:47 +0000 (02:12 +0000)
committerjgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 8 Feb 2010 02:12:47 +0000 (02:12 +0000)
This is part of the fix of #202075 to make sure the usage model below doesn’t break:
PERF_START (0, “Token1”, “Module1”, 1);
PERF_END (0, “Token1”, Module1”, 0);

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9943 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Library/GenericBdsLib/Performance.c

index 6bb60c1500898630c78ef8df1a1cf9dedf3e03e3..8f152a8e265f8ea1b2105306f4105bcbcce128a6 100644 (file)
@@ -263,6 +263,12 @@ WriteBootToOsPerformanceData (
       }\r
       EntryIndex++;\r
       if ((Handle == Handles[Index]) && (EndTicker != 0)) {\r
+        if (StartTicker == 1) {\r
+          StartTicker = StartValue;\r
+        }\r
+        if (EndTicker == 1) {\r
+          EndTicker = StartValue;\r
+        }\r
         Ticker += CountUp ? (EndTicker - StartTicker) : (StartTicker - EndTicker);\r
       }\r
     }\r
@@ -303,6 +309,12 @@ WriteBootToOsPerformanceData (
       ZeroMem (&mPerfData, sizeof (PERF_DATA));\r
 \r
       AsciiStrnCpy (mPerfData.Token, Token, PERF_TOKEN_LENGTH);\r
+      if (StartTicker == 1) {\r
+        StartTicker = StartValue;\r
+      }\r
+      if (EndTicker == 1) {\r
+        EndTicker = StartValue;\r
+      }\r
       Ticker = CountUp ? (EndTicker - StartTicker) : (StartTicker - EndTicker);\r
 \r
       mPerfData.Duration = (UINT32) DivU64x32 (Ticker, (UINT32) Freq);\r