viafb: split viafb_set_start_addr up
[deliverable/linux.git] / drivers / pci / dmar.c
index 7b287cb38b7ad76b562d1fd3684b1bca676e4bb7..ab99783dccec9570c7aecd9e8141490a97cadc14 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/timer.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
+#include <linux/tboot.h>
 
 #undef PREFIX
 #define PREFIX "DMAR:"
@@ -413,6 +414,12 @@ parse_dmar_table(void)
         */
        dmar_table_detect();
 
+       /*
+        * ACPI tables may not be DMA protected by tboot, so use DMAR copy
+        * SINIT saved in SinitMleData in TXT heap (which is DMA protected)
+        */
+       dmar_tbl = tboot_get_dmar_table(dmar_tbl);
+
        dmar = (struct acpi_table_dmar *)dmar_tbl;
        if (!dmar)
                return -ENODEV;
This page took 0.024673 seconds and 5 git commands to generate.