From: Keir Fraser Date: Wed, 16 Jul 2008 10:15:14 +0000 (+0100) Subject: vt-d: Disable VT-d table output on DMA page faults X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14188^2~10 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d45e39c59085e0ca93317bff5551a0e8a4d7efbb;p=xen.git vt-d: Disable VT-d table output on DMA page faults Printing VT-d tables requires map_domain_page() which can not be called from interrupt context (on x86_32). Signed-off-by: Espen Skoglund --- diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 94b24f3845..8155121188 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -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; }