On Wed, Aug 25, 2021 at 05:55:09PM +0200, Jan Beulich wrote: > On 25.08.2021 17:47, Marek Marczykowski-Górecki wrote: > > If so, I guess the issue is the kernel trying to write directly, instead > > of via some hypercall, right? > > Indeed. Or to be precise - the kernel isn't supposed to be "writing" this > at all. It is supposed to make hypercalls which may result in such writes. > Such "mask everything" functionality imo is the job of the hypervisor > anyway when talking about PV environments; HVM is a different thing here.
Ok, I dug a bit and found why it was working before: there is
pci_mask_ignore_mask variable, that is set to 1 for Xen PV (and only
then). This bypassed __pci_msi{x,}_desc_mask_irq(), but does not bypass the
new msix_mask_all().
Adding that check back fixes the issue - no crash, the device works,
although the driver doesn't seem to enable MSI/MSI-X (but that wasn't
the case before either).
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
signature.asc
Description: PGP signature
