diff --git a/cper-parse.c b/cper-parse.c
index c357c7d..6c743a1 100644
--- a/cper-parse.c
+++ b/cper-parse.c
@@ -19,6 +19,8 @@
 #include "sections/cper-section-pci-dev.h"
 #include "sections/cper-section-firmware.h"
 #include "sections/cper-section-dmar-generic.h"
+#include "sections/cper-section-dmar-vtd.h"
+#include "sections/cper-section-dmar-iommu.h"
 
 //Private pre-definitions.
 json_object* cper_header_to_ir(EFI_COMMON_ERROR_RECORD_HEADER* header);
@@ -303,6 +305,7 @@
             descriptor->SectionOffset);
     }
 
+    //Parse section to IR based on GUID.
     json_object* result = NULL;
     if (guid_equal(&descriptor->SectionType, &gEfiProcessorGenericErrorSectionGuid))
         result = cper_section_generic_to_ir(section, descriptor);
@@ -326,10 +329,15 @@
         result = cper_section_pci_dev_to_ir(section, descriptor);
     else if (guid_equal(&descriptor->SectionType, &gEfiDMArGenericErrorSectionGuid))
         result = cper_section_dmar_generic_to_ir(section, descriptor);
-    // if (guid_equal(&descriptor->SectionType, &gEfiDirectedIoDMArErrorSectionGuid))
-    //     result = cper_section_intel_io_dma_to_ir(section);
-    // if (guid_equal(&descriptor->SectionType, &gEfiIommuDMArErrorSectionGuid))
-    //     result = cper_section_iommu_dma_to_ir(section);
+    else if (guid_equal(&descriptor->SectionType, &gEfiDirectedIoDMArErrorSectionGuid))
+        result = cper_section_dmar_vtd_to_ir(section, descriptor);
+    else if (guid_equal(&descriptor->SectionType, &gEfiIommuDMArErrorSectionGuid))
+        result = cper_section_dmar_iommu_to_ir(section, descriptor);
+    else
+    {
+        //Failed read, unknown GUID.
+        //todo: dump the binary data out to b64.
+    }
 
     //Free section memory, return result.
     free(section);
