aboutsummaryrefslogtreecommitdiffstats
path: root/xen/drivers/passthrough
diff options
context:
space:
mode:
authorAndrew Cooper <andrew.cooper3@citrix.com>2013-04-16 10:34:32 +0200
committerJan Beulich <jbeulich@suse.com>2013-04-16 10:34:32 +0200
commit53fd1d8458de01169dfb56feb315f02c2b521a86 (patch)
treeebad11575cf7fbcd0cb6600b2e754bf0d5dd1511 /xen/drivers/passthrough
parentf03b5006f7e6e396746a56f5f563fb0f55cabc44 (diff)
downloadxen-53fd1d8458de01169dfb56feb315f02c2b521a86.tar.gz
xen-53fd1d8458de01169dfb56feb315f02c2b521a86.tar.bz2
xen-53fd1d8458de01169dfb56feb315f02c2b521a86.zip
iommu/crash: Interrupt remapping is also disabled on crash
This fixes a regression side-effect caused by: IOMMU: properly check whether interrupt remapping is enabled git: fae0372140befb88d890a30704a8ec058c902af8 hg: 26742:e1ec14bad0cb On the crash path in nmi_shootdown_cpus(), we shut down the IOMMU, then disable the IOAPIC. On systems which support interrupt remapping, the variable iommu_intremap remains set, meaning that disable_IO_APIC() issues interrupt remapping invalidate requests. IOAPIC interrupt remapping used to be conditional on iommu_enabled, but is now conditional on iommu_intremap, following the above changeset. This behaviour can be fixed by also indicating that interrupt remapping is not enabled after shutting down the IOMMU. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Diffstat (limited to 'xen/drivers/passthrough')
-rw-r--r--xen/drivers/passthrough/iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index c5906abd88..93ad1224de 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -603,7 +603,7 @@ void iommu_crash_shutdown(void)
const struct iommu_ops *ops = iommu_get_ops();
if ( iommu_enabled )
ops->crash_shutdown();
- iommu_enabled = 0;
+ iommu_enabled = iommu_intremap = 0;
}
int iommu_do_domctl(