I appreciate you posting the patches. I didn't author the patches, actually; John Johnson did it.
You could use your name as the author since you should be familiar with it now, and I can review the patches. Please add the following to each patch so it recognizes Oracle's contribution: Co-authored-by: John Johnson <john.g.john...@oracle.com> Thank you so much! > On Feb 19, 2025, at 9:48 AM, John Levon <john.le...@nutanix.com> wrote: > > This is the 8th revision of the vfio-user client implementation. The vfio-user > protocol allows for implementing (PCI) devices in another userspace process; > SPDK is one example, which includes a virtual NVMe implementation. > > The vfio-user framework consists of 3 parts: > 1) The VFIO user protocol specification. > 2) A client - the VFIO device in QEMU that encapsulates VFIO messages > and sends them to the server. > 3) A server - a remote process that emulates a device. > > This patchset implements parts 1 and 2. > > It has been tested against libvfio-user test servers as well as SPDK. > > Thanks for previous reviews & comments. > > Changes since v7: > > - split up pci patches for easier reviewing > - fixed lots of device ops error handling > - vfio-user code now in hw/vfio-user > - improved commit messages > - various other small cleanups > > Jagannathan Raman (20): > vfio/container: pass MemoryRegion to DMA operations > vfio: add region cache > vfio: split out VFIOKernelPCIDevice > vfio: add device IO ops vector > vfio-user: add vfio-user class and container > vfio-user: connect vfio proxy to remote server > vfio-user: implement message receive infrastructure > vfio-user: implement message send infrastructure > vfio-user: implement VFIO_USER_DEVICE_GET_INFO > vfio-user: implement VFIO_USER_DEVICE_GET_REGION_INFO > vfio-user: implement VFIO_USER_REGION_READ/WRITE > vfio-user: set up PCI in vfio_user_pci_realize() > vfio-user: implement VFIO_USER_DEVICE_GET/SET_IRQ* > vfio-user: forward MSI-X PBA BAR accesses to server > vfio-user: set up container access to the proxy > vfio-user: implement VFIO_USER_DEVICE_RESET > vfio-user: implement VFIO_USER_DMA_READ/WRITE > vfio-user: add 'no-direct-dma' option > vfio-user: add 'x-msg-timeout' option > vfio-user: add coalesced posted writes > > John Levon (7): > vfio/container: pass listener_begin/commit callbacks > vfio/container: support VFIO_DMA_UNMAP_FLAG_ALL > vfio: add vfio_attach_device_by_iommu_type() > vfio: add vfio_prepare_device() > vfio: refactor out vfio_interrupt_setup() > vfio: refactor out vfio_pci_config_setup() > vfio-user: implement VFIO_USER_DMA_MAP/UNMAP > > Thanos Makatos (1): > vfio-user: introduce vfio-user protocol specification > > MAINTAINERS | 10 +- > docs/devel/index-internals.rst | 1 + > docs/devel/vfio-user.rst | 1522 ++++++++++++++++++++++ > hw/meson.build | 1 + > hw/vfio-user/common.c | 1702 +++++++++++++++++++++++++ > hw/vfio-user/common.h | 123 ++ > hw/vfio-user/container.c | 358 ++++++ > hw/vfio-user/container.h | 24 + > hw/vfio-user/meson.build | 10 + > hw/vfio-user/pci.c | 443 +++++++ > hw/vfio-user/protocol.h | 243 ++++ > hw/vfio-user/trace-events | 18 + > hw/vfio-user/trace.h | 1 + > hw/vfio/ap.c | 4 +- > hw/vfio/ccw.c | 9 +- > hw/vfio/common.c | 137 +- > hw/vfio/container-base.c | 8 +- > hw/vfio/container.c | 78 +- > hw/vfio/helpers.c | 185 ++- > hw/vfio/igd.c | 8 +- > hw/vfio/iommufd.c | 31 +- > hw/vfio/pci.c | 591 +++++---- > hw/vfio/pci.h | 34 +- > hw/vfio/platform.c | 4 +- > hw/virtio/vhost-vdpa.c | 2 +- > include/exec/memory.h | 4 +- > include/hw/vfio/vfio-common.h | 45 +- > include/hw/vfio/vfio-container-base.h | 11 +- > meson.build | 1 + > meson_options.txt | 2 + > scripts/meson-buildoptions.sh | 4 + > system/memory.c | 7 +- > 32 files changed, 5281 insertions(+), 340 deletions(-) > create mode 100644 docs/devel/vfio-user.rst > create mode 100644 hw/vfio-user/common.c > create mode 100644 hw/vfio-user/common.h > create mode 100644 hw/vfio-user/container.c > create mode 100644 hw/vfio-user/container.h > create mode 100644 hw/vfio-user/meson.build > create mode 100644 hw/vfio-user/pci.c > create mode 100644 hw/vfio-user/protocol.h > create mode 100644 hw/vfio-user/trace-events > create mode 100644 hw/vfio-user/trace.h > > -- > 2.34.1 > >