We accept writes to mask the function as per MSI-X spec:
246 if (msix->mxc.fm != new_msix.mxc.fm) {
247 msix->mxc.fm = new_msix.mxc.fm;
248 if (msix->mxc.fm) {
249 vfu_log(vfu_ctx, LOG_DEBUG, "all MSI-X vectors masked");
250 } else {
251 vfu_log(vfu_ctx, LOG_DEBUG,
252 "vector's mask bit determines whether vector is masked");
253 }
254 }
However, that's all we ever do. While in theory, library users could check this field themselves prior to vfu_irq_trigger(), we should probably do this in the library, along with correctly handling PBA (as per #806).
SPDK at least doesn't respect this
We accept writes to mask the function as per MSI-X spec:
However, that's all we ever do. While in theory, library users could check this field themselves prior to
vfu_irq_trigger(), we should probably do this in the library, along with correctly handling PBA (as per #806).SPDK at least doesn't respect this