amd iommu: Unmapped interrupt should generate IO page faults.
authorWei Wang <wei.wang2@amd.com>
Tue, 12 Apr 2011 12:20:57 +0000 (13:20 +0100)
committerWei Wang <wei.wang2@amd.com>
Tue, 12 Apr 2011 12:20:57 +0000 (13:20 +0100)
This helps us to debug interrupt issues.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
xen/drivers/passthrough/amd/iommu_map.c

index a65e01ac1f5b222c71e4c5c55c4f1eafeb47273f..06e65ab9ffee7ccbb8af85099e64686279cf5404 100644 (file)
@@ -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 :