]> git.ipfire.org Git - thirdparty/qemu.git/commit
vfio: Fix MSI-X vector expansion
authorAlex Williamson <alex.williamson@redhat.com>
Tue, 5 Aug 2014 19:05:52 +0000 (13:05 -0600)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 26 Aug 2014 21:48:12 +0000 (16:48 -0500)
commitdfd480822234169ec3a5c3b0f78030de5c2cbb92
treed365c96d36e80da1d0260c820dec4d9dc4dd4d31
parent5f26e63b17c03bac019c21f63a693c2d207ccacc
vfio: Fix MSI-X vector expansion

When new MSI-X vectors are enabled we need to disable MSI-X and
re-enable it with the correct number of vectors.  That means we need
to reprogram the eventfd triggers for each vector.  Prior to f4d45d47
vector->use tracked whether a vector was masked or unmasked and we
could always pick the KVM path when available for unmasked vectors.
Now vfio doesn't track mask state itself and vector->use and virq
remains configured even for masked vectors.  Therefore we need to ask
the MSI-X code whether a vector is masked in order to select the
correct signaling path.  As noted in the comment, MSI relies on
hardware to handle masking.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Cc: qemu-stable@nongnu.org # QEMU 2.1
(cherry picked from commit c048be5cc92ae201c339d46984476c4629275ed6)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/misc/vfio.c