From: Jagannathan Raman <jag.raman@oracle.com>
To: qemu-devel@nongnu.org
Cc: elena.ufimtseva@oracle.com, john.g.johnson@oracle.com,
thuth@redhat.com, jag.raman@oracle.com, bleal@redhat.com,
swapnil.ingle@nutanix.com, john.levon@nutanix.com,
philmd@redhat.com, wainersm@redhat.com,
alex.williamson@redhat.com, thanos.makatos@nutanix.com,
marcandre.lureau@gmail.com, stefanha@redhat.com,
crosa@redhat.com, pbonzini@redhat.com, alex.bennee@linaro.org
Subject: [PATCH v4 00/14] vfio-user server in QEMU
Date: Wed, 15 Dec 2021 10:35:24 -0500 [thread overview]
Message-ID: <cover.1639549843.git.jag.raman@oracle.com> (raw)
Based-on: <cover.1636057885.git.john.g.johnson@oracle.com>
Hi,
Thank you very much for reviewing the patches in the previous revision!
We have addressed your comments. We added the support for MSI/x and
IOMMU in this series.
Please share your feedback for the latest series - appreciate your time.
Please the list below for changes since last revision:
[PATCH v4 02/14] tests/avocado: Specify target VM argument to helper routines
- New in this series
[PATCH v4 03/14] vfio-user: build library
- Added VFIO_USER_SERVER Kconfig option and vfio_user_server option to
the configure script. VFIO_USER_SERVER depends on MULTIPROCESS
- Reverted to enabling multiprocess by default. As such, tagging distros
in the multiprocess acceptance test for multiprocess is not
necessary - reverted them.
[PATCH v4 04/14] vfio-user: define vfio-user-server object
- Using qapi_free_SocketAddress to free SocketAddress
- Changed object name to x-vfio-user-server
- Removed max_devs class variable. This is not needed anymore as we added
IOMMU support in this series
[PATCH v4 05/14] vfio-user: instantiate vfio-user context
- Redesigned init code to abort QEMU during startup upon error, whereas
synchronously report the error and continue running QEMU during hotplug
- Added qemu_remove_machine_init_done_notifier() in object finalize
- Removed NULL initialization of o->vfu_ctx
[PATCH v4 07/14] vfio-user: run vfio-user context
- Addressed comment about hot plug from this patch, in patch 4
- poll for fd to become readable instead of busy spinning alone
[PATCH v4 11/14] vfio-user: IOMMU support for remote device
- New in this series
[PATCH v4 12/14] handle device interrupts
- Added support for MSI/MSI-x interrupts
- refactored INTx handling code to leverage the hash table used by
the MSI code
- Added a hash table to lookup vfio-user context by PCI device
function index
[PATCH v4 13/14] vfio-user: register handlers to facilitate migration
- Compute the size of the migration data when registering for migration
BAR. This alleviates the need to hard code a sufficiently large value
for the migration BAR.
[PATCH v4 14/14] vfio-user: avocado tests for vfio-user
- Corrected the object’s name in the test
- Added tests for hotplug and migration cases
Thank you very much!
Jagannathan Raman (14):
configure, meson: override C compiler for cmake
tests/avocado: Specify target VM argument to helper routines
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: handle DMA mappings
vfio-user: handle PCI BAR accesses
vfio-user: IOMMU support for remote device
vfio-user: handle device interrupts
vfio-user: register handlers to facilitate migration
vfio-user: avocado tests for vfio-user
configure | 21 +-
meson.build | 44 +-
qapi/qom.json | 20 +-
include/hw/pci/pci.h | 8 +
include/hw/remote/iohub.h | 1 +
include/hw/remote/iommu.h | 24 +
include/migration/vmstate.h | 2 +
migration/savevm.h | 2 +
hw/pci/msi.c | 13 +-
hw/pci/msix.c | 12 +-
hw/pci/pci.c | 2 +-
hw/remote/iohub.c | 7 +
hw/remote/iommu.c | 117 +++
hw/remote/machine.c | 5 +
hw/remote/vfio-user-obj.c | 957 +++++++++++++++++++++
migration/savevm.c | 73 ++
migration/vmstate.c | 19 +
.gitlab-ci.d/buildtest.yml | 2 +
.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 +
subprojects/libvfio-user | 1 +
tests/avocado/avocado_qemu/__init__.py | 10 +-
tests/avocado/vfio-user.py | 225 +++++
tests/docker/dockerfiles/centos8.docker | 2 +
tests/docker/dockerfiles/ubuntu2004.docker | 2 +
30 files changed, 1591 insertions(+), 11 deletions(-)
create mode 100644 include/hw/remote/iommu.h
create mode 100644 hw/remote/iommu.c
create mode 100644 hw/remote/vfio-user-obj.c
create mode 160000 subprojects/libvfio-user
create mode 100644 tests/avocado/vfio-user.py
--
2.20.1
next reply other threads:[~2021-12-15 16:20 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 15:35 Jagannathan Raman [this message]
2021-12-15 15:35 ` [PATCH v4 01/14] configure, meson: override C compiler for cmake Jagannathan Raman
2021-12-15 15:35 ` [PATCH v4 02/14] tests/avocado: Specify target VM argument to helper routines Jagannathan Raman
2021-12-15 15:54 ` Philippe Mathieu-Daudé
2021-12-15 22:04 ` Beraldo Leal
2021-12-16 21:28 ` Jag Raman
2021-12-15 15:35 ` [PATCH v4 03/14] vfio-user: build library Jagannathan Raman
2021-12-15 15:35 ` [PATCH v4 04/14] vfio-user: define vfio-user-server object Jagannathan Raman
2021-12-16 9:33 ` Stefan Hajnoczi
2021-12-17 2:17 ` Jag Raman
2021-12-16 9:58 ` Stefan Hajnoczi
2021-12-17 2:31 ` Jag Raman
2021-12-17 8:28 ` Stefan Hajnoczi
2021-12-15 15:35 ` [PATCH v4 05/14] vfio-user: instantiate vfio-user context Jagannathan Raman
2021-12-16 9:55 ` Stefan Hajnoczi
2021-12-16 21:32 ` Jag Raman
2021-12-15 15:35 ` [PATCH v4 06/14] vfio-user: find and init PCI device Jagannathan Raman
2021-12-16 10:39 ` Stefan Hajnoczi
2021-12-17 3:12 ` Jag Raman
2021-12-15 15:35 ` [PATCH v4 07/14] vfio-user: run vfio-user context Jagannathan Raman
2021-12-16 11:17 ` Stefan Hajnoczi
2021-12-17 17:59 ` Jag Raman
2021-12-20 8:29 ` Stefan Hajnoczi
2021-12-21 3:04 ` Jag Raman
2022-01-05 10:38 ` Thanos Makatos
2022-01-06 13:35 ` Stefan Hajnoczi
2022-01-10 17:56 ` John Levon
2022-01-11 9:36 ` Stefan Hajnoczi
2022-01-11 13:12 ` Jag Raman
2021-12-15 15:35 ` [PATCH v4 08/14] vfio-user: handle PCI config space accesses Jagannathan Raman
2021-12-16 11:30 ` Stefan Hajnoczi
2021-12-16 11:47 ` John Levon
2021-12-16 16:00 ` Stefan Hajnoczi
2021-12-15 15:35 ` [PATCH v4 09/14] vfio-user: handle DMA mappings Jagannathan Raman
2021-12-16 13:24 ` Stefan Hajnoczi
2021-12-17 19:11 ` Jag Raman
2021-12-15 15:35 ` [PATCH v4 10/14] vfio-user: handle PCI BAR accesses Jagannathan Raman
2021-12-16 14:10 ` Stefan Hajnoczi
2021-12-17 19:12 ` Jag Raman
2021-12-15 15:35 ` [PATCH v4 11/14] vfio-user: IOMMU support for remote device Jagannathan Raman
2021-12-16 14:40 ` Stefan Hajnoczi
2021-12-17 20:00 ` Jag Raman
2021-12-20 14:36 ` Stefan Hajnoczi
2021-12-21 4:32 ` Jag Raman
2022-01-06 13:10 ` Stefan Hajnoczi
2021-12-15 15:35 ` [PATCH v4 12/14] vfio-user: handle device interrupts Jagannathan Raman
2021-12-16 15:56 ` Stefan Hajnoczi
2021-12-15 15:35 ` [PATCH v4 13/14] vfio-user: register handlers to facilitate migration Jagannathan Raman
2021-12-15 15:35 ` [PATCH v4 14/14] vfio-user: avocado tests for vfio-user Jagannathan Raman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1639549843.git.jag.raman@oracle.com \
--to=jag.raman@oracle.com \
--cc=alex.bennee@linaro.org \
--cc=alex.williamson@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=elena.ufimtseva@oracle.com \
--cc=john.g.johnson@oracle.com \
--cc=john.levon@nutanix.com \
--cc=marcandre.lureau@gmail.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=swapnil.ingle@nutanix.com \
--cc=thanos.makatos@nutanix.com \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.