vt-d: Disable VT-d table output on DMA page faults
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 16 Jul 2008 10:15:14 +0000 (11:15 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 16 Jul 2008 10:15:14 +0000 (11:15 +0100)
Printing VT-d tables requires map_domain_page() which can not be
called from interrupt context (on x86_32).

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
xen/drivers/passthrough/vtd/iommu.c

index 94b24f38456be491e9f94af7b1a22c9f29764a68..8155121188aac5296f652023086e94643338f4dc 100644 (file)
@@ -719,9 +719,11 @@ static int iommu_page_fault_do_one(struct iommu *iommu, int type,
             PCI_SLOT(source_id & 0xFF), PCI_FUNC(source_id & 0xFF), addr,
             fault_reason, iommu->reg);
 
+#ifndef __i386__ /* map_domain_page() cannot be used in this context */
     if ( fault_reason < 0x20 )
         print_vtd_entries(iommu, (source_id >> 8),
                           (source_id & 0xff), (addr >> PAGE_SHIFT));
+#endif
 
     return 0;
 }