[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 00/24] vfio-user client
From: |
John Johnson |
Subject: |
[PATCH v1 00/24] vfio-user client |
Date: |
Tue, 8 Nov 2022 15:13:22 -0800 |
Hello,
This is the 6th revision of the vfio-user client implementation.
It is the first patch series (the previous revisions were RFCs)
First of all, thank you for your time reviewing the RFC versions.
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.
The libvfio-user project (https://github.com/nutanix/libvfio-user)
can be used by a remote process to handle the protocol to implement the third
part.
We also have upstreamed a patch series that implement a server using QEMU.
Contributors:
John G Johnson <john.g.johnson@oracle.com>
John Levon <john.levon@nutanix.com>
Thanos Makatos <thanos.makatos@nutanix.com>
Elena Ufimtseva <elena.ufimtseva@oracle.com>
Jagannathan Raman <jag.raman@oracle.com>
John Johnson (23):
vfio-user: add VFIO base abstract class
vfio-user: add container IO ops vector
vfio-user: add region cache
vfio-user: add device IO ops vector
vfio-user: Define type vfio_user_pci_dev_info
vfio-user: connect vfio proxy to remote server
vfio-user: define socket receive functions
vfio-user: define socket send functions
vfio-user: get device info
vfio-user: get region info
vfio-user: region read/write
vfio-user: pci_user_realize PCI setup
vfio-user: get and set IRQs
vfio-user: forward msix BAR accesses to server
vfio-user: proxy container connect/disconnect
vfio-user: dma map/unmap operations
vfio-user: add dma_unmap_all
vfio-user: secure DMA support
vfio-user: dma read/write operations
vfio-user: pci reset
vfio-user: add 'x-msg-timeout' option that specifies msg wait times
vfio-user: add coalesced posted writes
vfio-user: add trace points
Thanos Makatos (1):
vfio-user: introduce vfio-user protocol specification
MAINTAINERS | 11 +
docs/devel/index-internals.rst | 1 +
docs/devel/vfio-user.rst | 1522 ++++++++++++++++++++++++++++++++
hw/vfio/Kconfig | 10 +
hw/vfio/ap.c | 1 +
hw/vfio/ccw.c | 7 +-
hw/vfio/common.c | 648 ++++++++++++--
hw/vfio/igd.c | 23 +-
hw/vfio/meson.build | 1 +
hw/vfio/migration.c | 2 -
hw/vfio/pci-quirks.c | 19 +-
hw/vfio/pci.c | 926 ++++++++++++++-----
hw/vfio/pci.h | 29 +-
hw/vfio/platform.c | 2 +
hw/vfio/trace-events | 15 +
hw/vfio/user-protocol.h | 244 +++++
hw/vfio/user.c | 1904 ++++++++++++++++++++++++++++++++++++++++
hw/vfio/user.h | 112 +++
include/hw/vfio/vfio-common.h | 82 ++
19 files changed, 5230 insertions(+), 329 deletions(-)
create mode 100644 docs/devel/vfio-user.rst
create mode 100644 hw/vfio/user-protocol.h
create mode 100644 hw/vfio/user.c
create mode 100644 hw/vfio/user.h
--
1.8.3.1
- [PATCH v1 00/24] vfio-user client,
John Johnson <=
- [PATCH v1 04/24] vfio-user: add region cache, John Johnson, 2022/11/08
- [PATCH v1 06/24] vfio-user: Define type vfio_user_pci_dev_info, John Johnson, 2022/11/08
- [PATCH v1 09/24] vfio-user: define socket send functions, John Johnson, 2022/11/08
- [PATCH v1 03/24] vfio-user: add container IO ops vector, John Johnson, 2022/11/08
- [PATCH v1 02/24] vfio-user: add VFIO base abstract class, John Johnson, 2022/11/08
- [PATCH v1 10/24] vfio-user: get device info, John Johnson, 2022/11/08
- [PATCH v1 05/24] vfio-user: add device IO ops vector, John Johnson, 2022/11/08
- [PATCH v1 08/24] vfio-user: define socket receive functions, John Johnson, 2022/11/08
- [PATCH v1 01/24] vfio-user: introduce vfio-user protocol specification, John Johnson, 2022/11/08
- [PATCH v1 14/24] vfio-user: get and set IRQs, John Johnson, 2022/11/08