-/*++\r
+/** @file\r
+ Performance protocol interfaces to support cross module performance logging. \r
\r
-Copyright (c) 2006 - 2007, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
All rights reserved. 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
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
-Module Name:\r
-\r
- Performance.h\r
-\r
-Abstract:\r
-\r
-\r
---*/\r
+**/\r
\r
#ifndef __PERFORMANCE_H__\r
#define __PERFORMANCE_H__\r
//\r
typedef struct _PERFORMANCE_PROTOCOL PERFORMANCE_PROTOCOL;\r
\r
+#define SEC_TOK "SEC"\r
#define DXE_TOK "DXE"\r
#define SHELL_TOK "SHELL"\r
#define PEI_TOK "PEI"\r
#define BDS_TOK "BDS"\r
-#define DRIVERBINDING_START_TOK "DriverBinding:Start"\r
-#define DRIVERBINDING_SUPPORT_TOK "DriverBinding:Support"\r
-#define START_IMAGE_TOK "StartImage"\r
-#define LOAD_IMAGE_TOK "LoadImage"\r
+#define DRIVERBINDING_START_TOK "DB:Start:"\r
+#define DRIVERBINDING_SUPPORT_TOK "DB:Support:"\r
+#define START_IMAGE_TOK "StartImage:"\r
+#define LOAD_IMAGE_TOK "LoadImage:"\r
\r
//\r
// DXE_PERFORMANCE_STRING_SIZE must be a multiple of 8.\r
\r
typedef struct {\r
EFI_PHYSICAL_ADDRESS Handle;\r
- CHAR8 Token[DXE_PERFORMANCE_STRING_SIZE];\r
- CHAR8 Module[DXE_PERFORMANCE_STRING_SIZE];\r
- UINT64 StartTimeStamp;\r
- UINT64 EndTimeStamp;\r
+ CHAR8 Token[DXE_PERFORMANCE_STRING_SIZE]; /// Measured token string name \r
+ CHAR8 Module[DXE_PERFORMANCE_STRING_SIZE]; /// Module string name\r
+ UINT64 StartTimeStamp; /// Start time point\r
+ UINT64 EndTimeStamp; /// End time point\r
} GAUGE_DATA_ENTRY;\r
\r
//\r
// The header must be aligned at 8 bytes\r
//\r
typedef struct {\r
- UINT32 NumberOfEntries;\r
+ UINT32 NumberOfEntries; /// The number of all performance guage entries\r
UINT32 Reserved;\r
} GAUGE_DATA_HEADER;\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * PERFORMANCE_START_GAUGE) (\r
+(EFIAPI * PERFORMANCE_START_GAUGE)(\r
IN CONST VOID *Handle, OPTIONAL\r
IN CONST CHAR8 *Token, OPTIONAL\r
IN CONST CHAR8 *Module, OPTIONAL\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * PERFORMANCE_END_GAUGE) (\r
+(EFIAPI * PERFORMANCE_END_GAUGE)(\r
IN CONST VOID *Handle, OPTIONAL\r
IN CONST CHAR8 *Token, OPTIONAL\r
IN CONST CHAR8 *Module, OPTIONAL\r
@param GaugeDataEntry The indirect pointer to the gauge data entry specified by LogEntryKey\r
if the retrieval is successful.\r
\r
- @retval EFI_SUCCESS The GuageDataEntry is successfuly found based on LogEntryKey.\r
+ @retval EFI_SUCCESS The GuageDataEntry is successfully found based on LogEntryKey.\r
@retval EFI_NOT_FOUND The LogEntryKey is the last entry (equals to the total entry number).\r
@retval EFI_INVALIDE_PARAMETER The LogEntryKey is not a valid entry (greater than the total entry number).\r
@retval EFI_INVALIDE_PARAMETER GaugeDataEntry is NULL.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * PERFORMANCE_GET_GAUGE) (\r
+(EFIAPI * PERFORMANCE_GET_GAUGE)(\r
IN UINTN LogEntryKey,\r
OUT GAUGE_DATA_ENTRY **GaugeDataEntry\r
);\r