2011-05-03 19:51:18 +02:00
|
|
|
# HG changeset patch
|
|
|
|
# User Wei Wang <wei.wang2@amd.com>
|
|
|
|
# Date 1302610857 -3600
|
|
|
|
# Node ID dbd98ab2f87facba8117bb881fa2ea5dfdb92960
|
|
|
|
# Parent 697ac895c11c6d5d82524de56796cee98fded2a5
|
|
|
|
amd iommu: Unmapped interrupt should generate IO page faults.
|
|
|
|
|
|
|
|
This helps us to debug interrupt issues.
|
|
|
|
|
|
|
|
Signed-off-by: Wei Wang <wei.wang2@amd.com>
|
|
|
|
|
2011-05-31 19:35:29 +02:00
|
|
|
Index: xen-4.1.1-testing/xen/drivers/passthrough/amd/iommu_map.c
|
|
|
|
===================================================================
|
|
|
|
--- xen-4.1.1-testing.orig/xen/drivers/passthrough/amd/iommu_map.c
|
|
|
|
+++ xen-4.1.1-testing/xen/drivers/passthrough/amd/iommu_map.c
|
2011-05-03 19:51:18 +02:00
|
|
|
@@ -327,8 +327,9 @@ void amd_iommu_set_intremap_table(u32 *d
|
|
|
|
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 :
|