On Mon, Apr 25, 2022 at 05:40:01PM +0000, Jag Raman wrote: > > On Apr 25, 2022, at 6:27 AM, Stefan Hajnoczi <stefa...@redhat.com> wrote: > > > > On Tue, Apr 19, 2022 at 04:44:20PM -0400, Jagannathan Raman wrote: > >> +static MSIMessage vfu_object_msi_prepare_msg(PCIDevice *pci_dev, > >> + unsigned int vector) > >> +{ > >> + MSIMessage msg; > >> + > >> + msg.address = 0; > >> + msg.data = vector; > >> + > >> + return msg; > >> +} > >> + > >> +static void vfu_object_msi_trigger(PCIDevice *pci_dev, MSIMessage msg) > >> +{ > >> + vfu_ctx_t *vfu_ctx = pci_dev->irq_opaque; > >> + > >> + vfu_irq_trigger(vfu_ctx, msg.data); > >> +} > > > > Why did you switch to vfu_object_msi_prepare_msg() + > > vfu_object_msi_trigger() in this revision? > > We previously did not do this switch because the server didn’t get updates > to the MSIx table & PBA. > > The latest client version (which is not part of this series) forwards accesses > to the MSIx table & PBA over to the server. It also reads the PBA set by the > server. These change make it possible for the server to make this switch.
Interesting. That's different from kernel VFIO. Before vfio-user commits to a new approach it would be worth checking with Alex that he agrees with the design. I remember sending an email asking about why VFIO MSI-X PBA does not offer the full semantics described in the PCIe spec but didn't get a response from Alex (Message-Id: YkMWp0lUJAHhivJA@stefanha-x1.localdomain). Stefan
signature.asc
Description: PGP signature