]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Guid/Performance.h
MdeModulePkg: Add BootScriptExecutorDxe driver
[mirror_edk2.git] / MdeModulePkg / Include / Guid / Performance.h
index 73b2419094f6190d410bea4e95d5d311c8f175c5..3659ccc3280d1443d549d1bf7313352648761864 100644 (file)
@@ -4,7 +4,7 @@
   * 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
@@ -100,6 +100,35 @@ typedef struct {
   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
@@ -194,5 +223,6 @@ struct _PERFORMANCE_PROTOCOL {
 };\r
 \r
 extern EFI_GUID gPerformanceProtocolGuid;\r
+extern EFI_GUID gSmmPerformanceProtocolGuid;\r
 \r
 #endif\r