* performance protocol interfaces.\r
* performance variables. \r
\r
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved<BR>\r
+Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials are licensed and made available under \r
the terms and conditions of the BSD License that accompanies this distribution. \r
The full text of the license may be found at\r
UINT32 Reserved;\r
} GAUGE_DATA_HEADER;\r
\r
+//\r
+// SMM Performance Protocol definitions\r
+//\r
+\r
+#define SMM_PERFORMANCE_PROTOCOL_GUID \\r
+ { 0xf866226a, 0xeaa5, 0x4f5a, { 0xa9, 0xa, 0x6c, 0xfb, 0xa5, 0x7c, 0x58, 0x8e } }\r
+\r
+//\r
+// SMM_PERFORMANCE_STRING_SIZE.\r
+//\r
+#define SMM_PERFORMANCE_STRING_SIZE 32\r
+#define SMM_PERFORMANCE_STRING_LENGTH (SMM_PERFORMANCE_STRING_SIZE - 1)\r
+\r
+//\r
+// The default guage entries number for SMM phase.\r
+//\r
+#define INIT_SMM_GAUGE_DATA_ENTRIES 200\r
+\r
+typedef struct {\r
+ UINTN Function;\r
+ EFI_STATUS ReturnStatus;\r
+ UINTN NumberOfEntries;\r
+ UINTN LogEntryKey;\r
+ GAUGE_DATA_ENTRY *GaugeData;\r
+} SMM_PERF_COMMUNICATE;\r
+\r
+#define SMM_PERF_FUNCTION_GET_GAUGE_ENTRY_NUMBER 1\r
+#define SMM_PERF_FUNCTION_GET_GAUGE_DATA 2\r
+\r
/**\r
Adds a record at the end of the performance measurement log\r
that records the start time of a performance measurement.\r
};\r
\r
extern EFI_GUID gPerformanceProtocolGuid;\r
+extern EFI_GUID gSmmPerformanceProtocolGuid;\r
\r
#endif\r