From: Wei Wang Date: Tue, 12 Apr 2011 12:20:57 +0000 (+0100) Subject: amd iommu: Unmapped interrupt should generate IO page faults. X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9dc2af3fd6d30f349d4410d33046feb35174d30c;p=xen.git amd iommu: Unmapped interrupt should generate IO page faults. This helps us to debug interrupt issues. Signed-off-by: Wei Wang --- diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c index a65e01ac1f..06e65ab9ff 100644 --- a/xen/drivers/passthrough/amd/iommu_map.c +++ b/xen/drivers/passthrough/amd/iommu_map.c @@ -327,8 +327,9 @@ void amd_iommu_set_intremap_table(u32 *dte, u64 intremap_ptr, u8 int_valid) set_field_in_reg_u32(0xB, entry, IOMMU_DEV_TABLE_INT_TABLE_LENGTH_MASK, IOMMU_DEV_TABLE_INT_TABLE_LENGTH_SHIFT, &entry); - /* ignore unmapped interrupts */ - set_field_in_reg_u32(IOMMU_CONTROL_ENABLED, entry, + + /* unmapped interrupt results io page faults*/ + set_field_in_reg_u32(IOMMU_CONTROL_DISABLED, entry, IOMMU_DEV_TABLE_INT_TABLE_IGN_UNMAPPED_MASK, IOMMU_DEV_TABLE_INT_TABLE_IGN_UNMAPPED_SHIFT, &entry); set_field_in_reg_u32(int_valid ? IOMMU_CONTROL_ENABLED :