]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Guid/ExtendedFirmwarePerformance.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Include / Guid / ExtendedFirmwarePerformance.h
index dedb0b82f0dc2aa18889aaf418100c9fdc5677cc..20be7654c81ba0ddb7c50732c7349dc8a5d3e056 100644 (file)
@@ -3,13 +3,7 @@
   These records will be added into ACPI FPDT Firmware Basic Boot Performance Table.\r
 \r
 Copyright (c) 2018, 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
-http://opensource.org/licenses/bsd-license.php.\r
-\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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -21,26 +15,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 //\r
 // Known performance tokens\r
 //\r
-#define SEC_TOK                         "SEC"             ///< SEC Phase\r
-#define DXE_TOK                         "DXE"             ///< DXE Phase\r
-#define PEI_TOK                         "PEI"             ///< PEI Phase\r
-#define BDS_TOK                         "BDS"             ///< BDS Phase\r
-#define DRIVERBINDING_START_TOK         "DB:Start:"       ///< Driver Binding Start() function call\r
-#define DRIVERBINDING_SUPPORT_TOK       "DB:Support:"     ///< Driver Binding Support() function call\r
-#define DRIVERBINDING_STOP_TOK          "DB:Stop:"        ///< Driver Binding Stop() function call\r
-#define LOAD_IMAGE_TOK                  "LoadImage:"      ///< Load a dispatched module\r
-#define START_IMAGE_TOK                 "StartImage:"     ///< Dispatched Modules Entry Point execution\r
-#define PEIM_TOK                        "PEIM"            ///< PEIM Modules Entry Point execution\r
+#define SEC_TOK                    "SEC"                  ///< SEC Phase\r
+#define DXE_TOK                    "DXE"                  ///< DXE Phase\r
+#define PEI_TOK                    "PEI"                  ///< PEI Phase\r
+#define BDS_TOK                    "BDS"                  ///< BDS Phase\r
+#define DRIVERBINDING_START_TOK    "DB:Start:"            ///< Driver Binding Start() function call\r
+#define DRIVERBINDING_SUPPORT_TOK  "DB:Support:"          ///< Driver Binding Support() function call\r
+#define DRIVERBINDING_STOP_TOK     "DB:Stop:"             ///< Driver Binding Stop() function call\r
+#define LOAD_IMAGE_TOK             "LoadImage:"           ///< Load a dispatched module\r
+#define START_IMAGE_TOK            "StartImage:"          ///< Dispatched Modules Entry Point execution\r
+#define PEIM_TOK                   "PEIM"                 ///< PEIM Modules Entry Point execution\r
 \r
 //\r
 // Misc defines\r
 //\r
-#define FPDT_RECORD_REVISION_1      (0x01)\r
+#define FPDT_RECORD_REVISION_1  (0x01)\r
 \r
 //\r
 // Length field in EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER is a UINT8, thus:\r
 //\r
-#define FPDT_MAX_PERF_RECORD_SIZE   (MAX_UINT8)\r
+#define FPDT_MAX_PERF_RECORD_SIZE  (MAX_UINT8)\r
 \r
 //\r
 // FPDT Record Types\r
@@ -54,168 +48,168 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 //\r
 // EDKII extended Fpdt record structures\r
 //\r
-#define FPDT_STRING_EVENT_RECORD_NAME_LENGTH 24\r
+#define FPDT_STRING_EVENT_RECORD_NAME_LENGTH  24\r
 \r
 #pragma pack(1)\r
 //\r
 // FPDT Boot Performance Guid Event Record Structure\r
 //\r
 typedef struct {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    Header;\r
   ///\r
   /// ProgressID < 0x10 are reserved for core performance entries.\r
   /// Start measurement point shall have lowered one nibble set to zero and\r
   /// corresponding end points shall have lowered one nibble set to non-zero value;\r
   /// keeping other nibbles same as start point.\r
   ///\r
-  UINT16                                      ProgressID;\r
+  UINT16                                         ProgressID;\r
   ///\r
   /// APIC ID for the processor in the system used as a timestamp clock source.\r
   /// If only one timestamp clock source is used, this field is Reserved and populated as 0.\r
   ///\r
-  UINT32                                      ApicID;\r
+  UINT32                                         ApicID;\r
   ///\r
   /// 64-bit value (nanosecond) describing elapsed time since the most recent deassertion of processor reset.\r
   ///\r
-  UINT64                                      Timestamp;\r
+  UINT64                                         Timestamp;\r
   ///\r
   /// If ProgressID < 0x10, GUID of the referenced module; otherwise, GUID of the module logging the event.\r
   ///\r
-  EFI_GUID                                    Guid;\r
+  EFI_GUID                                       Guid;\r
 } FPDT_GUID_EVENT_RECORD;\r
 \r
 //\r
 // FPDT Boot Performance Dynamic String Event Record Structure\r
 //\r
 typedef struct {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    Header;\r
   ///\r
   /// ProgressID < 0x10 are reserved for core performance entries.\r
   /// Start measurement point shall have lowered one nibble set to zero and\r
   /// corresponding end points shall have lowered one nibble set to non-zero value;\r
   /// keeping other nibbles same as start point.\r
   ///\r
-  UINT16                                      ProgressID;\r
+  UINT16                                         ProgressID;\r
   ///\r
   /// APIC ID for the processor in the system used as a timestamp clock source.\r
   /// If only one timestamp clock source is used, this field is Reserved and populated as 0.\r
   ///\r
-  UINT32                                      ApicID;\r
+  UINT32                                         ApicID;\r
   ///\r
   /// 64-bit value (nanosecond) describing elapsed time since the most recent deassertion of processor reset.\r
   ///\r
-  UINT64                                      Timestamp;\r
+  UINT64                                         Timestamp;\r
   ///\r
   /// If ProgressID < 0x10, GUID of the referenced module; otherwise, GUID of the module logging the event.\r
   ///\r
-  EFI_GUID                                    Guid;\r
+  EFI_GUID                                       Guid;\r
   ///\r
   /// ASCII string describing the module. Padding supplied at the end if necessary with null characters (0x00).\r
   /// It may be module name, function name, or token name.\r
   ///\r
-  CHAR8                                       String[0];\r
+  CHAR8                                          String[0];\r
 } FPDT_DYNAMIC_STRING_EVENT_RECORD;\r
 \r
 //\r
 // FPDT Boot Performance Dual GUID String Event Record Structure\r
 //\r
 typedef struct {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    Header;\r
   ///\r
   /// ProgressID < 0x10 are reserved for core performance entries.\r
   /// Start measurement point shall have lowered one nibble set to zero and\r
   /// corresponding end points shall have lowered one nibble set to non-zero value;\r
   /// keeping other nibbles same as start point.\r
   ///\r
-  UINT16                                      ProgressID;\r
+  UINT16                                         ProgressID;\r
   ///\r
   /// APIC ID for the processor in the system used as a timestamp clock source.\r
   /// If only one timestamp clock source is used, this field is Reserved and populated as 0.\r
   ///\r
-  UINT32                                      ApicID;\r
+  UINT32                                         ApicID;\r
   ///\r
   /// 64-bit value (nanosecond) describing elapsed time since the most recent deassertion of processor reset.\r
   ///\r
-  UINT64                                      Timestamp;\r
+  UINT64                                         Timestamp;\r
   ///\r
   /// GUID of the module logging the event.\r
   ///\r
-  EFI_GUID                                    Guid1;\r
+  EFI_GUID                                       Guid1;\r
   ///\r
   /// Event or Ppi or Protocol GUID for Callback.\r
   ///\r
-  EFI_GUID                                    Guid2;\r
+  EFI_GUID                                       Guid2;\r
   ///\r
   /// ASCII string describing the module. Padding supplied at the end if necessary with null characters (0x00).\r
   /// It is the function name.\r
   ///\r
-  CHAR8                                       String[0];\r
+  CHAR8                                          String[0];\r
 } FPDT_DUAL_GUID_STRING_EVENT_RECORD;\r
 \r
 //\r
 // FPDT Boot Performance GUID Qword Event Record Structure\r
 //\r
 typedef struct {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    Header;\r
   ///\r
   /// ProgressID < 0x10 are reserved for core performance entries.\r
   /// Start measurement point shall have lowered one nibble set to zero and\r
   /// corresponding end points shall have lowered one nibble set to non-zero value;\r
   /// keeping other nibbles same as start point.\r
   ///\r
-  UINT16                                      ProgressID;\r
+  UINT16                                         ProgressID;\r
   ///\r
   /// APIC ID for the processor in the system used as a timestamp clock source.\r
   /// If only one timestamp clock source is used, this field is Reserved and populated as 0.\r
   ///\r
-  UINT32                                      ApicID;\r
+  UINT32                                         ApicID;\r
   ///\r
   /// 64-bit value (nanosecond) describing elapsed time since the most recent deassertion of processor reset.\r
   ///\r
-  UINT64                                      Timestamp;\r
+  UINT64                                         Timestamp;\r
   ///\r
   /// GUID of the module logging the event\r
   ///\r
-  EFI_GUID                                    Guid;\r
+  EFI_GUID                                       Guid;\r
   ///\r
   /// Qword of misc data, meaning depends on the ProgressId\r
   ///\r
-  UINT64                                      Qword;\r
+  UINT64                                         Qword;\r
 } FPDT_GUID_QWORD_EVENT_RECORD;\r
 \r
 //\r
 // FPDT Boot Performance GUID Qword String Event Record Structure\r
 //\r
 typedef struct {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    Header;\r
   ///\r
   /// ProgressID < 0x10 are reserved for core performance entries.\r
   /// Start measurement point shall have lowered one nibble set to zero and\r
   /// corresponding end points shall have lowered one nibble set to non-zero value;\r
   /// keeping other nibbles same as start point.\r
   ///\r
-  UINT16                                      ProgressID;\r
+  UINT16                                         ProgressID;\r
   ///\r
   /// APIC ID for the processor in the system used as a timestamp clock source.\r
   /// If only one timestamp clock source is used, this field is Reserved and populated as 0.\r
   ///\r
-  UINT32                                      ApicID;\r
+  UINT32                                         ApicID;\r
   ///\r
   /// 64-bit value (nanosecond) describing elapsed time since the most recent deassertion of processor reset.\r
   ///\r
-  UINT64                                      Timestamp;\r
+  UINT64                                         Timestamp;\r
   ///\r
   /// GUID of the module logging the event\r
   ///\r
-  EFI_GUID                                    Guid;\r
+  EFI_GUID                                       Guid;\r
   ///\r
   /// Qword of misc data, meaning depends on the ProgressId\r
   ///\r
-  UINT64                                      Qword;\r
+  UINT64                                         Qword;\r
   ///\r
   /// ASCII string describing the module. Padding supplied at the end if necessary with null characters (0x00).\r
   ///\r
-  CHAR8                                       String[0];\r
+  CHAR8                                          String[0];\r
 } FPDT_GUID_QWORD_STRING_EVENT_RECORD;\r
 \r
 #pragma pack()\r
@@ -224,24 +218,24 @@ typedef struct {
 // Union of all FPDT records\r
 //\r
 typedef union {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER  RecordHeader;\r
-  FPDT_GUID_EVENT_RECORD                       GuidEvent;\r
-  FPDT_DYNAMIC_STRING_EVENT_RECORD             DynamicStringEvent;\r
-  FPDT_DUAL_GUID_STRING_EVENT_RECORD           DualGuidStringEvent;\r
-  FPDT_GUID_QWORD_EVENT_RECORD                 GuidQwordEvent;\r
-  FPDT_GUID_QWORD_STRING_EVENT_RECORD          GuidQwordStringEvent;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    RecordHeader;\r
+  FPDT_GUID_EVENT_RECORD                         GuidEvent;\r
+  FPDT_DYNAMIC_STRING_EVENT_RECORD               DynamicStringEvent;\r
+  FPDT_DUAL_GUID_STRING_EVENT_RECORD             DualGuidStringEvent;\r
+  FPDT_GUID_QWORD_EVENT_RECORD                   GuidQwordEvent;\r
+  FPDT_GUID_QWORD_STRING_EVENT_RECORD            GuidQwordStringEvent;\r
 } FPDT_RECORD;\r
 \r
 //\r
 // Union of all pointers to FPDT records\r
 //\r
 typedef union {\r
-  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER  *RecordHeader;\r
-  FPDT_GUID_EVENT_RECORD                       *GuidEvent;\r
-  FPDT_DYNAMIC_STRING_EVENT_RECORD             *DynamicStringEvent;\r
-  FPDT_DUAL_GUID_STRING_EVENT_RECORD           *DualGuidStringEvent;\r
-  FPDT_GUID_QWORD_EVENT_RECORD                 *GuidQwordEvent;\r
-  FPDT_GUID_QWORD_STRING_EVENT_RECORD          *GuidQwordStringEvent;\r
+  EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER    *RecordHeader;\r
+  FPDT_GUID_EVENT_RECORD                         *GuidEvent;\r
+  FPDT_DYNAMIC_STRING_EVENT_RECORD               *DynamicStringEvent;\r
+  FPDT_DUAL_GUID_STRING_EVENT_RECORD             *DualGuidStringEvent;\r
+  FPDT_GUID_QWORD_EVENT_RECORD                   *GuidQwordEvent;\r
+  FPDT_GUID_QWORD_STRING_EVENT_RECORD            *GuidQwordStringEvent;\r
 } FPDT_RECORD_PTR;\r
 \r
 ///\r
@@ -250,11 +244,11 @@ typedef union {
 ///   Data - FPDT_PEI_EXT_PERF_HEADER + one or more FPDT records\r
 ///\r
 typedef struct {\r
-  UINT32                SizeOfAllEntries;\r
-  UINT32                LoadImageCount;\r
-  UINT32                HobIsFull;\r
+  UINT32    SizeOfAllEntries;\r
+  UINT32    LoadImageCount;\r
+  UINT32    HobIsFull;\r
 } FPDT_PEI_EXT_PERF_HEADER;\r
 \r
-extern EFI_GUID gEdkiiFpdtExtendedFirmwarePerformanceGuid;\r
+extern EFI_GUID  gEdkiiFpdtExtendedFirmwarePerformanceGuid;\r
 \r
 #endif\r