diff --git a/cper-parse.c b/cper-parse.c
index eaef4a1..d20a66f 100644
--- a/cper-parse.c
+++ b/cper-parse.c
@@ -309,6 +309,8 @@
         result = cper_section_arm_to_ir(section, descriptor);
     else if (guid_equal(&descriptor->SectionType, &gEfiPlatformMemoryErrorSectionGuid))
         result = cper_section_platform_memory_to_ir(section, descriptor);
+    else if (guid_equal(&descriptor->SectionType, &gEfiPlatformMemoryError2SectionGuid))
+        result = cper_section_platform_memory2_to_ir(section, descriptor);
     // if (guid_equal(&descriptor->SectionType, &gEfiPcieErrorSectionGuid))
     //     result = cper_section_pcie_to_ir(section);
     // if (guid_equal(&descriptor->SectionType, &gEfiFirmwareErrorSectionGuid))
diff --git a/sections/cper-section-memory.c b/sections/cper-section-memory.c
index 13f97c2..5f78eed 100644
--- a/sections/cper-section-memory.c
+++ b/sections/cper-section-memory.c
@@ -24,23 +24,6 @@
     json_object* error_status = cper_generic_error_status_to_ir(&memory_error->ErrorStatus);
     json_object_object_add(section_ir, "errorStatus", error_status);
 
-    //Miscellaneous numeric fields.
-    json_object_object_add(section_ir, "physicalAddress", json_object_new_uint64(memory_error->PhysicalAddress));
-    json_object_object_add(section_ir, "physicalAddressMask", json_object_new_uint64(memory_error->PhysicalAddressMask));
-    json_object_object_add(section_ir, "node", json_object_new_uint64(memory_error->Node));
-    json_object_object_add(section_ir, "card", json_object_new_uint64(memory_error->Card));
-    json_object_object_add(section_ir, "moduleRank", json_object_new_uint64(memory_error->ModuleRank));
-    json_object_object_add(section_ir, "device", json_object_new_uint64(memory_error->Device));
-    json_object_object_add(section_ir, "row", json_object_new_uint64(memory_error->Row));
-    json_object_object_add(section_ir, "column", json_object_new_uint64(memory_error->Column));
-    json_object_object_add(section_ir, "bitPosition", json_object_new_uint64(memory_error->BitPosition));
-    json_object_object_add(section_ir, "requestorID", json_object_new_uint64(memory_error->RequestorId));
-    json_object_object_add(section_ir, "responderID", json_object_new_uint64(memory_error->ResponderId));
-    json_object_object_add(section_ir, "targetID", json_object_new_uint64(memory_error->TargetId));
-    json_object_object_add(section_ir, "rankNumber", json_object_new_uint64(memory_error->RankNum));
-    json_object_object_add(section_ir, "cardSmbiosHandle", json_object_new_uint64(memory_error->CardHandle));
-    json_object_object_add(section_ir, "moduleSmbiosHandle", json_object_new_uint64(memory_error->ModuleHandle));
-
     //Bank.
     json_object* bank = json_object_new_object();
     json_object_object_add(bank, "address", json_object_new_uint64(memory_error->Bank & 0xFF));
@@ -61,6 +44,23 @@
     json_object_object_add(extended, "chipIdentification", json_object_new_int(memory_error->Extended >> 5));
     json_object_object_add(section_ir, "extended", extended);
 
+    //Miscellaneous numeric fields.
+    json_object_object_add(section_ir, "physicalAddress", json_object_new_uint64(memory_error->PhysicalAddress));
+    json_object_object_add(section_ir, "physicalAddressMask", json_object_new_uint64(memory_error->PhysicalAddressMask));
+    json_object_object_add(section_ir, "node", json_object_new_uint64(memory_error->Node));
+    json_object_object_add(section_ir, "card", json_object_new_uint64(memory_error->Card));
+    json_object_object_add(section_ir, "moduleRank", json_object_new_uint64(memory_error->ModuleRank));
+    json_object_object_add(section_ir, "device", json_object_new_uint64(memory_error->Device));
+    json_object_object_add(section_ir, "row", json_object_new_uint64(memory_error->Row));
+    json_object_object_add(section_ir, "column", json_object_new_uint64(memory_error->Column));
+    json_object_object_add(section_ir, "bitPosition", json_object_new_uint64(memory_error->BitPosition));
+    json_object_object_add(section_ir, "requestorID", json_object_new_uint64(memory_error->RequestorId));
+    json_object_object_add(section_ir, "responderID", json_object_new_uint64(memory_error->ResponderId));
+    json_object_object_add(section_ir, "targetID", json_object_new_uint64(memory_error->TargetId));
+    json_object_object_add(section_ir, "rankNumber", json_object_new_uint64(memory_error->RankNum));
+    json_object_object_add(section_ir, "cardSmbiosHandle", json_object_new_uint64(memory_error->CardHandle));
+    json_object_object_add(section_ir, "moduleSmbiosHandle", json_object_new_uint64(memory_error->ModuleHandle));
+
     return section_ir;
 }
 
@@ -70,7 +70,50 @@
     EFI_PLATFORM_MEMORY2_ERROR_DATA* memory_error = (EFI_PLATFORM_MEMORY2_ERROR_DATA*)section;
     json_object* section_ir = json_object_new_object();
 
-    //... todo
+    //Validation bits.
+    json_object* validation = bitfield_to_ir(memory_error->ValidFields, 22, MEMORY_ERROR_2_VALID_BITFIELD_NAMES);
+    json_object_object_add(section_ir, "validationBits", validation);
 
+    //Error status.
+    json_object* error_status = cper_generic_error_status_to_ir(&memory_error->ErrorStatus);
+    json_object_object_add(section_ir, "errorStatus", error_status);
+
+    //Bank.
+    json_object* bank = json_object_new_object();
+    json_object_object_add(bank, "address", json_object_new_uint64(memory_error->Bank & 0xFF));
+    json_object_object_add(bank, "group", json_object_new_uint64(memory_error->Bank >> 8));
+    json_object_object_add(section_ir, "bank", bank);
+
+    //Memory error type.
+    json_object* memory_error_type = integer_to_readable_pair(memory_error->MemErrorType, 16,
+        MEMORY_ERROR_TYPES_KEYS,
+        MEMORY_ERROR_TYPES_VALUES,
+        "Unknown (Reserved)");
+    json_object_object_add(section_ir, "memoryErrorType", memory_error_type);
+
+    //Status.
+    json_object* status = json_object_new_object();
+    json_object_object_add(status, "value", json_object_new_int(memory_error->Status));
+    json_object_object_add(status, "state", json_object_new_string(memory_error->Status & 0b1 == 0 ? "Corrected" : "Uncorrected"));
+    json_object_object_add(section_ir, "status", status);
+
+    //Miscellaneous numeric fields.
+    json_object_object_add(section_ir, "physicalAddress", json_object_new_uint64(memory_error->PhysicalAddress));
+    json_object_object_add(section_ir, "physicalAddressMask", json_object_new_uint64(memory_error->PhysicalAddressMask));
+    json_object_object_add(section_ir, "node", json_object_new_uint64(memory_error->Node));
+    json_object_object_add(section_ir, "card", json_object_new_uint64(memory_error->Card));
+    json_object_object_add(section_ir, "module", json_object_new_uint64(memory_error->Module));
+    json_object_object_add(section_ir, "device", json_object_new_uint64(memory_error->Device));
+    json_object_object_add(section_ir, "row", json_object_new_uint64(memory_error->Row));
+    json_object_object_add(section_ir, "column", json_object_new_uint64(memory_error->Column));
+    json_object_object_add(section_ir, "rank", json_object_new_uint64(memory_error->Rank));
+    json_object_object_add(section_ir, "bitPosition", json_object_new_uint64(memory_error->BitPosition));
+    json_object_object_add(section_ir, "chipID", json_object_new_uint64(memory_error->ChipId));
+    json_object_object_add(section_ir, "requestorID", json_object_new_uint64(memory_error->RequestorId));
+    json_object_object_add(section_ir, "responderID", json_object_new_uint64(memory_error->ResponderId));
+    json_object_object_add(section_ir, "targetID", json_object_new_uint64(memory_error->TargetId));
+    json_object_object_add(section_ir, "cardSmbiosHandle", json_object_new_uint64(memory_error->CardHandle));
+    json_object_object_add(section_ir, "moduleSmbiosHandle", json_object_new_uint64(memory_error->ModuleHandle));
+    
     return section_ir;
 }
\ No newline at end of file
diff --git a/sections/cper-section-memory.h b/sections/cper-section-memory.h
index bed02c9..541619c 100644
--- a/sections/cper-section-memory.h
+++ b/sections/cper-section-memory.h
@@ -1,5 +1,5 @@
-#ifndef CPER_SECTION_ARM_H
-#define CPER_SECTION_ARM_H
+#ifndef CPER_SECTION_MEMORY_H
+#define CPER_SECTION_MEMORY_H
 
 #include "json.h"
 #include "../edk/Cper.h"
@@ -15,6 +15,11 @@
     "Multi-bit ECC", "Single-symbol ChipKill ECC", "Multi-symbol ChipKill ECC", "Master Abort", \
     "Target Abort", "Parity Error", "Watchdog Timeout", "Invalid Address", "Mirror Broken", \
     "Memory Sparing", "Scrub Corrected Error", "Scrub Uncorrected Error", "Physical Memory Map-out Event"}
+#define MEMORY_ERROR_2_VALID_BITFIELD_NAMES (const char*[]) \
+    {"errorStatusValid", "physicalAddressValid", "physicalAddressMaskValid", "nodeValid", "cardValid", "moduleValid", \
+    "bankValid", "deviceValid", "rowValid", "columnValid", "rankValid", "bitPositionValid", "chipIDValid", \
+    "memoryErrorTypeValid", "statusValid", "requestorIDValid", "responderIDValid", "targetIDValid", "cardHandleValid", \
+    "moduleHandleValid", "bankGroupValid", "bankAddressValid"}
 
 json_object* cper_section_platform_memory_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor);
 json_object* cper_section_platform_memory2_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor);
