/*++\r
\r
-Copyright (c) 2004 - 2005, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
+Copyright (c) 2004 - 2010, 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
http://opensource.org/licenses/bsd-license.php \r
#include EFI_PROTOCOL_DEFINITION (LoadedImage)\r
#include EFI_GUID_DEFINITION (Hob)\r
#include EFI_GUID_DEFINITION (PeiPerformanceHob)\r
-#include "linkedlist.h"\r
+#include "LinkedList.h"\r
#include "EfiHobLib.h"\r
#include "EfiImage.h"\r
\r
UINTN EndIndex;\r
\r
if (PdbFileName == NULL) {\r
- EfiAsciiStrCpy (GaugeString, " ");\r
+ EfiAsciiStrCpy (GaugeString, (CHAR8 *)" ");\r
} else {\r
StartIndex = 0;\r
for (EndIndex = 0; PdbFileName[EndIndex] != 0; EndIndex++)\r
CHAR8 *PdbFileName;\r
EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
\r
- EfiAsciiStrCpy (GaugeString, " ");\r
+ EfiAsciiStrCpy (GaugeString, (CHAR8 *)" ");\r
\r
//\r
// Get handle name from image protocol\r
\r
--*/\r
{\r
- EFI_PERFORMANCE_INSTANCE *PerfInstance;\r
EFI_PERF_DATA_LIST *Node;\r
UINT64 TimerValue;\r
\r
TimerValue = 0;\r
- PerfInstance = EFI_PERFORMANCE_FROM_THIS (This);\r
\r
Node = GetDataNode (Handle, Token, Host, NULL, NULL);\r
if (!Node) {\r
\r
--*/\r
{\r
- EFI_PERFORMANCE_INSTANCE *PerfInstance;\r
EFI_PERF_DATA_LIST *Node;\r
\r
- PerfInstance = EFI_PERFORMANCE_FROM_THIS (This);\r
-\r
Node = GetDataNode (Handle, Token, Host, NULL, PrevGauge);\r
if (Node != NULL) {\r
return &(Node->GaugeData);\r
// Driver entry point\r
//\r
EFI_STATUS\r
+EFIAPI\r
InitializePerformanceInfrastructure (\r
IN EFI_HANDLE ImageHandle,\r
IN EFI_SYSTEM_TABLE *SystemTable,\r
\r
\r
EFI_STATUS\r
+EFIAPI\r
StartMeasure (\r
EFI_HANDLE Handle,\r
IN UINT16 *Token,\r
\r
\r
EFI_STATUS\r
+EFIAPI\r
EndMeasure (\r
EFI_HANDLE Handle,\r
IN UINT16 *Token,\r
\r
\r
EFI_STATUS\r
+EFIAPI\r
UpdateMeasure (\r
EFI_HANDLE Handle,\r
IN UINT16 *Token,\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
+ //\r
+ // Initialize 'LogHob' to NULL before usage.\r
+ //\r
+ LogHob = NULL;\r
+\r
if (Ticker != 0) {\r
TimerValue = Ticker;\r
} else {\r
EfiLibGetSystemConfigurationTable (&gEfiHobListGuid, &HobList);\r
do {\r
Status = GetNextGuidHob (&HobList, &gEfiPeiPerformanceHobGuid, (VOID **) &LogHob, NULL);\r
- if (EFI_ERROR (Status)) {\r
+ if (EFI_ERROR (Status) || (LogHob == NULL)) {\r
+ //\r
+ // Failed to get HOB for ProtocolGuid.\r
+ //\r
break;\r
}\r
\r