diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2013-04-18 15:29:45 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-04-18 15:29:45 +0200 |
commit | f4537b51116009bfb8359681a758ef5860cfd0db (patch) | |
tree | 65a57acf6ba40807f6c4c3e410fe78f578c512bd | |
parent | 4ea05d169a56b3010f8f4a48557471c457bb0654 (diff) | |
download | xen-f4537b51116009bfb8359681a758ef5860cfd0db.tar.gz xen-f4537b51116009bfb8359681a758ef5860cfd0db.tar.bz2 xen-f4537b51116009bfb8359681a758ef5860cfd0db.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>
master commit: 53fd1d8458de01169dfb56feb315f02c2b521a86
master date: 2013-04-16 10:34:32 +0200
-rw-r--r-- | xen/drivers/passthrough/iommu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c index cf506e2ecd..5e8ac40410 100644 --- a/xen/drivers/passthrough/iommu.c +++ b/xen/drivers/passthrough/iommu.c @@ -436,7 +436,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; } /* |