]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Guid/Cper.h
MdePkg/PciExpressLib.h: Add missing include of PciExpress21.h
[mirror_edk2.git] / MdePkg / Include / Guid / Cper.h
index 62493ef76098f94b9c7872d9ae39b3a0c830380d..5ddd4c715ebc33538a233e70db611cdc1f9954fc 100644 (file)
@@ -1,7 +1,8 @@
 /** @file\r
   GUIDs and definitions used for Common Platform Error Record.\r
 \r
-  Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>\r
+  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
@@ -11,7 +12,7 @@
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
   @par Revision Reference:\r
-  GUIDs defined in UEFI 2.4 Specification.\r
+  GUIDs defined in UEFI 2.7 Specification.\r
 \r
 **/\r
 \r
@@ -23,6 +24,8 @@
 #define EFI_ERROR_RECORD_SIGNATURE_START   SIGNATURE_32('C', 'P', 'E', 'R')\r
 #define EFI_ERROR_RECORD_SIGNATURE_END     0xFFFFFFFF\r
 \r
+#define EFI_ERROR_RECORD_REVISION          0x0101\r
+\r
 ///\r
 /// Error Severity in Error Record Header and Error Section Descriptor\r
 ///@{\r
@@ -137,6 +140,8 @@ typedef struct {
   ///\r
 } EFI_COMMON_ERROR_RECORD_HEADER;\r
 \r
+#define EFI_ERROR_SECTION_REVISION  0x0100\r
+\r
 ///\r
 /// Validity Fields in Error Section Descriptor.\r
 ///\r
@@ -165,6 +170,14 @@ typedef struct {
   { \\r
     0xdc3ea0b0, 0xa144, 0x4797, { 0xb9, 0x5b, 0x53, 0xfa, 0x24, 0x2b, 0x6e, 0x1d } \\r
   }\r
+#define EFI_ERROR_SECTION_PROCESSOR_SPECIFIC_IA32X64_GUID \\r
+  { \\r
+    0xdc3ea0b0, 0xa144, 0x4797, { 0xb9, 0x5b, 0x53, 0xfa, 0x24, 0x2b, 0x6e, 0x1d } \\r
+  }\r
+#define EFI_ERROR_SECTION_PROCESSOR_SPECIFIC_ARM_GUID \\r
+  { \\r
+    0xe19e3d16, 0xbc11, 0x11e4, { 0x9c, 0xaa, 0xc2, 0x05, 0x1d, 0x5d, 0x46, 0xb0 } \\r
+  }\r
 #define EFI_ERROR_SECTION_PLATFORM_MEMORY_GUID \\r
   { \\r
     0xa5bc1114, 0x6f64, 0x4ede, { 0xb8, 0x63, 0x3e, 0x83, 0xed, 0x7c, 0x83, 0xb1 } \\r
@@ -333,6 +346,23 @@ typedef struct {
   }\r
 ///@}\r
 \r
+///\r
+/// The validation bit mask indicates which fields in the IA32/X64 Processor\r
+/// Error Record structure are valid.\r
+///@{\r
+#define EFI_IA32_X64_PROCESSOR_ERROR_APIC_ID_VALID         BIT0\r
+#define EFI_IA32_X64_PROCESSOR_ERROR_CPU_ID_INFO_VALID     BIT1\r
+///@}\r
+\r
+///\r
+/// IA32/X64 Processor Error Record\r
+///\r
+typedef struct {\r
+  UINT64             ValidFields;\r
+  UINT64             ApicId;\r
+  UINT8              CpuIdInfo[48];\r
+} EFI_IA32_X64_PROCESSOR_ERROR_RECORD;\r
+\r
 ///\r
 /// The validation bit mask indicates which fields in the Cache Check structure\r
 /// are valid.\r
@@ -1058,16 +1088,21 @@ typedef struct {
 \r
 ///\r
 /// Identifies the type of firmware error record\r
-///\r
+///@{\r
 #define EFI_FIRMWARE_ERROR_TYPE_IPF_SAL              0x00\r
+#define EFI_FIRMWARE_ERROR_TYPE_SOC_TYPE1            0x01\r
+#define EFI_FIRMWARE_ERROR_TYPE_SOC_TYPE2            0x02\r
+///@}\r
 \r
 ///\r
 /// Firmware Error Record Section\r
 ///\r
 typedef struct {\r
   UINT8       ErrorType;\r
-  UINT8       Resv1[7];\r
+  UINT8       Revision;\r
+  UINT8       Resv1[6];\r
   UINT64      RecordId;\r
+  EFI_GUID    RecordIdGuid;\r
 } EFI_FIRMWARE_ERROR_DATA;\r
 \r
 ///\r
@@ -1178,6 +1213,8 @@ extern EFI_GUID gEfiEventNotificationTypeDmarGuid;
 \r
 extern EFI_GUID gEfiProcessorGenericErrorSectionGuid;\r
 extern EFI_GUID gEfiProcessorSpecificErrorSectionGuid;\r
+extern EFI_GUID gEfiIa32X64ProcessorErrorSectionGuid;\r
+extern EFI_GUID gEfiArmProcessorErrorSectionGuid ;\r
 extern EFI_GUID gEfiPlatformMemoryErrorSectionGuid;\r
 extern EFI_GUID gEfiPlatformMemory2ErrorSectionGuid;\r
 extern EFI_GUID gEfiPcieErrorSectionGuid;\r