mbox series

[v12,00/14] vfio-user server in QEMU

Message ID cover.1655151679.git.jag.raman@oracle.com (mailing list archive)
Headers show
Series vfio-user server in QEMU | expand

Message

Jag Raman June 13, 2022, 8:26 p.m. UTC
This is v12 of the server side changes to enable vfio-user in QEMU.

Thanks so much for reviewing this series and sharing your feedback.

We made the following changes in this series:
[PATCH v12 13/14] vfio-user: handle device interrupts
 - Renamed msi_set_irq_state() and msix_set_irq_state() as
   msi_set_mask() and msix_set_mask() respectively
 - Added missing return statement for error case in msi_set_mask()

Thank you very much!

Jagannathan Raman (14):
  qdev: unplug blocker for devices
  remote/machine: add HotplugHandler for remote machine
  remote/machine: add vfio-user property
  vfio-user: build library
  vfio-user: define vfio-user-server object
  vfio-user: instantiate vfio-user context
  vfio-user: find and init PCI device
  vfio-user: run vfio-user context
  vfio-user: handle PCI config space accesses
  vfio-user: IOMMU support for remote device
  vfio-user: handle DMA mappings
  vfio-user: handle PCI BAR accesses
  vfio-user: handle device interrupts
  vfio-user: handle reset of remote device

 configure                               |  17 +
 meson.build                             |  23 +-
 qapi/misc.json                          |  31 +
 qapi/qom.json                           |  20 +-
 include/exec/memory.h                   |   3 +
 include/hw/pci/msi.h                    |   1 +
 include/hw/pci/msix.h                   |   1 +
 include/hw/pci/pci.h                    |  13 +
 include/hw/qdev-core.h                  |  29 +
 include/hw/remote/iommu.h               |  40 +
 include/hw/remote/machine.h             |   4 +
 include/hw/remote/vfio-user-obj.h       |   6 +
 hw/core/qdev.c                          |  24 +
 hw/pci/msi.c                            |  49 +-
 hw/pci/msix.c                           |  35 +-
 hw/pci/pci.c                            |  13 +
 hw/remote/iommu.c                       | 131 ++++
 hw/remote/machine.c                     |  88 ++-
 hw/remote/vfio-user-obj.c               | 958 ++++++++++++++++++++++++
 softmmu/physmem.c                       |   4 +-
 softmmu/qdev-monitor.c                  |   4 +
 stubs/vfio-user-obj.c                   |   6 +
 tests/qtest/fuzz/generic_fuzz.c         |   9 +-
 .gitlab-ci.d/buildtest.yml              |   1 +
 .gitmodules                             |   3 +
 Kconfig.host                            |   4 +
 MAINTAINERS                             |   5 +
 hw/remote/Kconfig                       |   4 +
 hw/remote/meson.build                   |   4 +
 hw/remote/trace-events                  |  11 +
 meson_options.txt                       |   2 +
 stubs/meson.build                       |   1 +
 subprojects/libvfio-user                |   1 +
 tests/docker/dockerfiles/centos8.docker |   2 +
 34 files changed, 1528 insertions(+), 19 deletions(-)
 create mode 100644 include/hw/remote/iommu.h
 create mode 100644 include/hw/remote/vfio-user-obj.h
 create mode 100644 hw/remote/iommu.c
 create mode 100644 hw/remote/vfio-user-obj.c
 create mode 100644 stubs/vfio-user-obj.c
 create mode 160000 subprojects/libvfio-user

Comments

Stefan Hajnoczi June 14, 2022, 7:06 a.m. UTC | #1
On Mon, Jun 13, 2022 at 04:26:20PM -0400, Jagannathan Raman wrote:
> This is v12 of the server side changes to enable vfio-user in QEMU.
> 
> Thanks so much for reviewing this series and sharing your feedback.
> 
> We made the following changes in this series:
> [PATCH v12 13/14] vfio-user: handle device interrupts
>  - Renamed msi_set_irq_state() and msix_set_irq_state() as
>    msi_set_mask() and msix_set_mask() respectively
>  - Added missing return statement for error case in msi_set_mask()

Thanks, applied to my block tree:
https://gitlab.com/stefanha/qemu/commits/block

Stefan
Jag Raman June 14, 2022, 2:37 p.m. UTC | #2
> On Jun 14, 2022, at 3:06 AM, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> 
> On Mon, Jun 13, 2022 at 04:26:20PM -0400, Jagannathan Raman wrote:
>> This is v12 of the server side changes to enable vfio-user in QEMU.
>> 
>> Thanks so much for reviewing this series and sharing your feedback.
>> 
>> We made the following changes in this series:
>> [PATCH v12 13/14] vfio-user: handle device interrupts
>> - Renamed msi_set_irq_state() and msix_set_irq_state() as
>>   msi_set_mask() and msix_set_mask() respectively
>> - Added missing return statement for error case in msi_set_mask()
> 
> Thanks, applied to my block tree:
> https://gitlab.com/stefanha/qemu/commits/block

Thank you very much, Stefan! :)

> 
> Stefan
Stefan Hajnoczi June 14, 2022, 4:27 p.m. UTC | #3
On Tue, Jun 14, 2022 at 02:37:02PM +0000, Jag Raman wrote:
> > On Jun 14, 2022, at 3:06 AM, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> > 
> > On Mon, Jun 13, 2022 at 04:26:20PM -0400, Jagannathan Raman wrote:
> >> This is v12 of the server side changes to enable vfio-user in QEMU.
> >> 
> >> Thanks so much for reviewing this series and sharing your feedback.
> >> 
> >> We made the following changes in this series:
> >> [PATCH v12 13/14] vfio-user: handle device interrupts
> >> - Renamed msi_set_irq_state() and msix_set_irq_state() as
> >>   msi_set_mask() and msix_set_mask() respectively
> >> - Added missing return statement for error case in msi_set_mask()
> > 
> > Thanks, applied to my block tree:
> > https://gitlab.com/stefanha/qemu/commits/block
> 
> Thank you very much, Stefan! :)

You're welcome! Thanks for the persistence in getting the vfio-user
server into QEMU.

I have mirrored libvfio-user here:
https://gitlab.com/qemu-project/libvfio-user

The QEMU project's policy is to mirror dependencies so full source code
can be provided even in the event that dependencies become unavailable.
The mirror is currently manually updated, so please ping me if you want
newer commits.

Thanks,
Stefan
Stefan Hajnoczi June 15, 2022, 8:21 a.m. UTC | #4
On Tue, 14 Jun 2022 at 17:38, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> On Tue, Jun 14, 2022 at 02:37:02PM +0000, Jag Raman wrote:
> > > On Jun 14, 2022, at 3:06 AM, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> > >
> > > On Mon, Jun 13, 2022 at 04:26:20PM -0400, Jagannathan Raman wrote:
> > >> This is v12 of the server side changes to enable vfio-user in QEMU.
> > >>
> > >> Thanks so much for reviewing this series and sharing your feedback.
> > >>
> > >> We made the following changes in this series:
> > >> [PATCH v12 13/14] vfio-user: handle device interrupts
> > >> - Renamed msi_set_irq_state() and msix_set_irq_state() as
> > >>   msi_set_mask() and msix_set_mask() respectively
> > >> - Added missing return statement for error case in msi_set_mask()
> > >
> > > Thanks, applied to my block tree:
> > > https://gitlab.com/stefanha/qemu/commits/block
> >
> > Thank you very much, Stefan! :)
>
> You're welcome! Thanks for the persistence in getting the vfio-user
> server into QEMU.
>
> I have mirrored libvfio-user here:
> https://gitlab.com/qemu-project/libvfio-user
>
> The QEMU project's policy is to mirror dependencies so full source code
> can be provided even in the event that dependencies become unavailable.
> The mirror is currently manually updated, so please ping me if you want
> newer commits.

I have semi-automated the mirroring. As long as I use my laptop the
repo will be kept up-to-date. :)

Stefan