]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: Add longer term new CPER memory section definition.
authorQiu Shumin <shumin.qiu@intel.com>
Thu, 7 May 2015 01:22:13 +0000 (01:22 +0000)
committershenshushi <shenshushi@Edk2>
Thu, 7 May 2015 01:22:13 +0000 (01:22 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17347 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Guid/Cper.h
MdePkg/MdePkg.dec

index c7892f42e7e0c9199cf5c94c38af6ae28897502c..62493ef76098f94b9c7872d9ae39b3a0c830380d 100644 (file)
@@ -169,6 +169,10 @@ typedef struct {
   { \\r
     0xa5bc1114, 0x6f64, 0x4ede, { 0xb8, 0x63, 0x3e, 0x83, 0xed, 0x7c, 0x83, 0xb1 } \\r
   }\r
+#define EFI_ERROR_SECTION_PLATFORM_MEMORY2_GUID \\r
+  { \\r
+    0x61EC04FC, 0x48E6, 0xD813, { 0x25, 0xC9, 0x8D, 0xAA, 0x44, 0x75, 0x0B, 0x12 } \\r
+  }\r
 #define EFI_ERROR_SECTION_PCIE_GUID \\r
   { \\r
     0xd995e954, 0xbbc1, 0x430f, { 0xad, 0x91, 0xb4, 0x4d, 0xcb, 0x3c, 0x6f, 0x35 } \\r
@@ -819,6 +823,84 @@ typedef struct {
   UINT16                   ModuleHandle;\r
 } EFI_PLATFORM_MEMORY_ERROR_DATA;\r
 \r
+///\r
+/// Validation bit mask indicates which fields in the memory error record 2 are valid\r
+/// in Memory Error section 2\r
+///@{\r
+#define EFI_PLATFORM_MEMORY2_ERROR_STATUS_VALID                 BIT0\r
+#define EFI_PLATFORM_MEMORY2_PHY_ADDRESS_VALID                  BIT1\r
+#define EFI_PLATFORM_MEMORY2_PHY_ADDRESS_MASK_VALID             BIT2\r
+#define EFI_PLATFORM_MEMORY2_NODE_VALID                         BIT3\r
+#define EFI_PLATFORM_MEMORY2_CARD_VALID                         BIT4\r
+#define EFI_PLATFORM_MEMORY2_MODULE_VALID                       BIT5\r
+#define EFI_PLATFORM_MEMORY2_BANK_VALID                         BIT6\r
+#define EFI_PLATFORM_MEMORY2_DEVICE_VALID                       BIT7\r
+#define EFI_PLATFORM_MEMORY2_ROW_VALID                          BIT8\r
+#define EFI_PLATFORM_MEMORY2_COLUMN_VALID                       BIT9\r
+#define EFI_PLATFORM_MEMORY2_RANK_VALID                         BIT10\r
+#define EFI_PLATFORM_MEMORY2_BIT_POS_VALID                      BIT11\r
+#define EFI_PLATFORM_MEMORY2_CHIP_ID_VALID                      BIT12\r
+#define EFI_PLATFORM_MEMORY2_MEMORY_ERROR_TYPE_VALID            BIT13\r
+#define EFI_PLATFORM_MEMORY2_STATUS_VALID                       BIT14\r
+#define EFI_PLATFORM_MEMORY2_REQUESTOR_ID_VALID                 BIT15\r
+#define EFI_PLATFORM_MEMORY2_RESPONDER_ID_VALID                 BIT16\r
+#define EFI_PLATFORM_MEMORY2_TARGET_ID_VALID                    BIT17\r
+#define EFI_PLATFORM_MEMORY2_CARD_HANDLE_VALID                  BIT18\r
+#define EFI_PLATFORM_MEMORY2_MODULE_HANDLE_VALID                BIT19\r
+#define EFI_PLATFORM_MEMORY2_BANK_GROUP_VALID                   BIT20\r
+#define EFI_PLATFORM_MEMORY2_BANK_ADDRESS_VALID                 BIT21\r
+///@}\r
+\r
+///\r
+/// Memory Error Type identifies the type of error that occurred in Memory\r
+/// Error section 2\r
+///@{\r
+#define EFI_PLATFORM_MEMORY2_ERROR_UNKNOWN                      0x00\r
+#define EFI_PLATFORM_MEMORY2_ERROR_NONE                         0x01\r
+#define EFI_PLATFORM_MEMORY2_ERROR_SINGLEBIT_ECC                0x02\r
+#define EFI_PLATFORM_MEMORY2_ERROR_MLTIBIT_ECC                  0x03\r
+#define EFI_PLATFORM_MEMORY2_ERROR_SINGLESYMBOL_CHIPKILL        0x04\r
+#define EFI_PLATFORM_MEMORY2_ERROR_MULTISYMBOL_CHIPKILL         0x05\r
+#define EFI_PLATFORM_MEMORY2_ERROR_MASTER_ABORT                 0x06\r
+#define EFI_PLATFORM_MEMORY2_ERROR_TARGET_ABORT                 0x07\r
+#define EFI_PLATFORM_MEMORY2_ERROR_PARITY                       0x08\r
+#define EFI_PLATFORM_MEMORY2_ERROR_WDT                          0x09\r
+#define EFI_PLATFORM_MEMORY2_ERROR_INVALID_ADDRESS              0x0A\r
+#define EFI_PLATFORM_MEMORY2_ERROR_MIRROR_BROKEN                0x0B\r
+#define EFI_PLATFORM_MEMORY2_ERROR_MEMORY_SPARING               0x0C\r
+#define EFI_PLATFORM_MEMORY2_ERROR_SCRUB_CORRECTED              0x0D\r
+#define EFI_PLATFORM_MEMORY2_ERROR_SCRUB_UNCORRECTED            0x0E\r
+#define EFI_PLATFORM_MEMORY2_ERROR_MEMORY_MAP_EVENT             0x0F\r
+///@}\r
+\r
+///\r
+/// Memory Error Section 2\r
+///\r
+typedef struct {\r
+  UINT64                    ValidFields;\r
+  EFI_GENERIC_ERROR_STATUS  ErrorStatus;\r
+  UINT64                    PhysicalAddress;      // Error physical address\r
+  UINT64                    PhysicalAddressMask;  // Grnaularity\r
+  UINT16                    Node;                 // Node #\r
+  UINT16                    Card;\r
+  UINT16                    Module;               // Module or Rank#\r
+  UINT16                    Bank;\r
+  UINT32                    Device;\r
+  UINT32                    Row;\r
+  UINT32                    Column;\r
+  UINT32                    Rank;\r
+  UINT32                    BitPosition;\r
+  UINT8                     ChipId;\r
+  UINT8                     MemErrorType;\r
+  UINT8                     Status;\r
+  UINT8                     Reserved;\r
+  UINT64                    RequestorId;\r
+  UINT64                    ResponderId;\r
+  UINT64                    TargetId;\r
+  UINT32                    CardHandle;\r
+  UINT32                    ModuleHandle;\r
+} EFI_PLATFORM_MEMORY2_ERROR_DATA;\r
+\r
 ///\r
 /// Validation bits mask indicates which of the following fields is valid\r
 /// in PCI Express Error Record.\r
@@ -1097,6 +1179,7 @@ extern EFI_GUID gEfiEventNotificationTypeDmarGuid;
 extern EFI_GUID gEfiProcessorGenericErrorSectionGuid;\r
 extern EFI_GUID gEfiProcessorSpecificErrorSectionGuid;\r
 extern EFI_GUID gEfiPlatformMemoryErrorSectionGuid;\r
+extern EFI_GUID gEfiPlatformMemory2ErrorSectionGuid;\r
 extern EFI_GUID gEfiPcieErrorSectionGuid;\r
 extern EFI_GUID gEfiFirmwareErrorSectionGuid;\r
 extern EFI_GUID gEfiPciBusErrorSectionGuid;\r
index a80b8e9bd933e8835d60a7321d9616414e6e245f..f5d4591d7d450e62f448c589b55c63659dd7be05 100644 (file)
 \r
   ## Include/Protocol/RegularExpressionProtocol.h\r
   gEfiRegexSyntaxTypePerlGuid = {0x63E60A51, 0x497D, 0xD427, {0xC4, 0xA5, 0xB8, 0xAB, 0xDC, 0x3A, 0xAE, 0xB6 }}\r
+  \r
+  ## Include/Guid/Cper.h\r
+  gEfiPlatformMemory2ErrorSectionGuid = { 0x61EC04FC, 0x48E6, 0xD813, { 0x25, 0xC9, 0x8D, 0xAA, 0x44, 0x75, 0x0B, 0x12 }}\r
 \r
   #\r
   # GUID defined in PI1.0\r