Hi Alex,
you once wrote this comment in device-assignment.c, msix_mmio_write:
if (!msix_masked(&orig) && msix_masked(entry)) {
/*
* Vector masked, disable it
*
* XXX It's not clear if we can or should actually attempt
* to mask or disable the interrupt. KVM doesn't have
* support for pending bits and kvm_assign_set_msix_entry
* doesn't modify the device hardware mask. Interrupts
* while masked are simply not injected to the guest, so
* are lost. Can we get away with always injecting an
* interrupt on unmask?
*/
I'm wondering what made you think that we won't inject if the vector is
masked like this (ie. in the shadow MSI-X table). Can you recall the
details?
I'm trying to refactor this code to make the KVM interface a bit more
encapsulating the kernel interface details, not fixing anything. Still,
I would also like to avoid introducing regressions.
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html