26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
|
# 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>
|
||
|
|
||
|
--- 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 *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 :
|