]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/pci/dmar.c
Merge branch 'misc-2.6.32' into release
[karo-tx-linux.git] / drivers / pci / dmar.c
index 4484ac089772770ca281f91073e93069ac350b3d..5f6b915d0d82d432b1018670091e6a1ccd060e6a 100644 (file)
 #include <linux/timer.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
+#include <linux/tboot.h>
 #include <linux/dmi.h>
 
-#undef PREFIX
-#define PREFIX "DMAR:"
+#define PREFIX "DMAR: "
 
 /* No locks are needed as DMA remapping hardware unit
  * list is constructed at boot time and hotplug of
@@ -414,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;