03451953c7
ISM device firmware stores unique state information that can
can cause a wholesale unmap of the associated IOMMU (e.g. when
we get a termination signal for QEMU) to trigger firmware errors
because firmware believes we are attempting to invalidate entries
that are still in-use by the guest OS (when in fact that guest is
in the process of being terminated or rebooted).
To alleviate this, register both a shutdown notifier (for unexpected
termination cases e.g. virsh destroy) as well as a reset callback
(for cases like guest OS reboot). For each of these scenarios, trigger
PCI device reset; this is enough to indicate to firmware that the IOMMU
is no longer in-use by the guest OS, making it safe to invalidate any
associated IOMMU entries.
Fixes:
|
||
---|---|---|
.. | ||
3270-ccw.h | ||
adapter.h | ||
ap-bridge.h | ||
ap-device.h | ||
css-bridge.h | ||
css.h | ||
ebcdic.h | ||
event-facility.h | ||
ioinst.h | ||
pv.h | ||
s390_flic.h | ||
s390-ccw.h | ||
s390-pci-bus.h | ||
s390-pci-clp.h | ||
s390-pci-inst.h | ||
s390-pci-kvm.h | ||
s390-pci-vfio.h | ||
s390-virtio-ccw.h | ||
sclp.h | ||
storage-attributes.h | ||
storage-keys.h | ||
tod.h | ||
vfio-ccw.h |