From: Jagannathan Raman <jag.raman@oracle.com>
To: qemu-devel@nongnu.org
Cc: eduardo@habkost.net, elena.ufimtseva@oracle.com,
john.g.johnson@oracle.com, berrange@redhat.com, bleal@redhat.com,
john.levon@nutanix.com, mst@redhat.com, armbru@redhat.com,
quintela@redhat.com, f4bug@amsat.org, marcandre.lureau@gmail.com,
stefanha@redhat.com, thanos.makatos@nutanix.com,
pbonzini@redhat.com, jag.raman@oracle.com, eblake@redhat.com,
dgilbert@redhat.com
Subject: [PATCH v5 00/18] vfio-user server in QEMU
Date: Wed, 19 Jan 2022 16:41:49 -0500 [thread overview]
Message-ID: <cover.1642626515.git.jag.raman@oracle.com> (raw)
Hi,
Thank you for taking the time to provide a comprehensive feedback
of the last series of patches. We have addressed all the comments.
We are posting this v5 of the series, which incorporates all the
feedback. Kindly share your feedback for this latest series
We added the following patches to the series:
- [PATCH v5 03/18] pci: isolated address space for PCI bus
- [PATCH v5 04/18] pci: create and free isolated PCI buses
- [PATCH v5 05/18] qdev: unplug blocker for devices
- [PATCH v5 06/18] vfio-user: add HotplugHandler for remote machine
- [PATCH v5 07/18] vfio-user: set qdev bus callbacks for remote machine
We made the following changes to the existing patches:
[PATCH v5 09/18] vfio-user: define vfio-user-server object
- renamed object class member 'daemon' as 'auto_shutdown'
- set VfioUserServerProperties version to 6.3
- use SocketAddressType_str to compose error message
- refuse setting 'socket' and 'device' properties after server starts
- added VFU_OBJECT_ERROR macro to report error
[PATCH v5 10/18] vfio-user: instantiate vfio-user context
- set error variable to NULL after transferring ownership with
error_propagate()
[PATCH v5 11/18] vfio-user: find and init PCI device
- block hot-unplug of PCI device when it is attached to the server object
[PATCH v5 12/18] vfio-user: run vfio-user context
- emit a hangup event to the monitor when the client disconnects
- reset vfu_poll_fd member and disable FD handler during finalize
- add a comment to explain that attach could block
- use VFU_OBJECT_ERROR instead of setting error_abort
[PATCH v5 14/18] vfio-user: handle DMA mappings
- use pci_address_space() to access device's root memory region
- given we're using one bus per device, mapped memory regions get
destroyed automatically when device is unplugged
[PATCH v5 15/18] vfio-user: handle PCI BAR accesses
- use pci_isol_as_io() & pci_isol_as_mem() to access the device's
PCI/CPU address space. This simultaneously fixes the AddressSpace
issue noted in the last review cycle
[PATCH v5 16/18] vfio-user: handle device interrupts
- setting own IRQ handlers for each bus
- renamed vfu_object_dev_table to vfu_object_dev_to_ctx_table
- indexing into vfu_object_dev_to_ctx_table with device's
address pointer instead of devfn
- not looking up before removing from table
[PATCH v5 17/18] vfio-user: register handlers to facilitate migration
- use VFU_OBJECT_ERROR instead of setting error_abort
We dropped the following patch from previous series:
- vfio-user: IOMMU support for remote device
Thank you very much!
Jagannathan Raman (18):
configure, meson: override C compiler for cmake
tests/avocado: Specify target VM argument to helper routines
pci: isolated address space for PCI bus
pci: create and free isolated PCI buses
qdev: unplug blocker for devices
vfio-user: add HotplugHandler for remote machine
vfio-user: set qdev bus callbacks for remote machine
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: handle device interrupts
vfio-user: register handlers to facilitate migration
vfio-user: avocado tests for vfio-user
configure | 21 +-
meson.build | 44 +-
qapi/misc.json | 23 +
qapi/qom.json | 20 +-
include/hw/pci/pci.h | 12 +
include/hw/pci/pci_bus.h | 17 +
include/hw/qdev-core.h | 21 +
include/migration/vmstate.h | 2 +
migration/savevm.h | 2 +
hw/pci/msi.c | 13 +-
hw/pci/msix.c | 12 +-
hw/pci/pci.c | 186 ++++
hw/pci/pci_bridge.c | 5 +
hw/remote/machine.c | 86 ++
hw/remote/vfio-user-obj.c | 1019 ++++++++++++++++++++
migration/savevm.c | 73 ++
migration/vmstate.c | 19 +
softmmu/qdev-monitor.c | 74 +-
.gitlab-ci.d/buildtest.yml | 2 +
.gitmodules | 3 +
Kconfig.host | 4 +
MAINTAINERS | 3 +
hw/remote/Kconfig | 4 +
hw/remote/meson.build | 3 +
hw/remote/trace-events | 11 +
meson_options.txt | 2 +
subprojects/libvfio-user | 1 +
tests/avocado/avocado_qemu/__init__.py | 14 +-
tests/avocado/vfio-user.py | 225 +++++
tests/docker/dockerfiles/centos8.docker | 2 +
tests/docker/dockerfiles/ubuntu2004.docker | 2 +
31 files changed, 1912 insertions(+), 13 deletions(-)
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:[~2022-01-19 21:49 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-19 21:41 Jagannathan Raman [this message]
2022-01-19 21:41 ` [PATCH v5 01/18] configure, meson: override C compiler for cmake Jagannathan Raman
2022-01-20 13:27 ` Paolo Bonzini
2022-01-20 15:21 ` Jag Raman
2022-02-17 6:10 ` Jag Raman
2022-01-19 21:41 ` [PATCH v5 02/18] tests/avocado: Specify target VM argument to helper routines Jagannathan Raman
2022-01-25 9:40 ` Stefan Hajnoczi
2022-01-19 21:41 ` [PATCH v5 03/18] pci: isolated address space for PCI bus Jagannathan Raman
2022-01-20 0:12 ` Michael S. Tsirkin
2022-01-20 15:20 ` Jag Raman
2022-01-25 18:38 ` Dr. David Alan Gilbert
2022-01-26 5:27 ` Jag Raman
2022-01-26 9:45 ` Stefan Hajnoczi
2022-01-26 20:07 ` Dr. David Alan Gilbert
2022-01-26 21:13 ` Michael S. Tsirkin
2022-01-27 8:30 ` Stefan Hajnoczi
2022-01-27 12:50 ` Michael S. Tsirkin
2022-01-27 21:22 ` Alex Williamson
2022-01-28 8:19 ` Stefan Hajnoczi
2022-01-28 9:18 ` Stefan Hajnoczi
2022-01-31 16:16 ` Alex Williamson
2022-02-01 9:30 ` Stefan Hajnoczi
2022-02-01 15:24 ` Alex Williamson
2022-02-01 21:24 ` Jag Raman
2022-02-01 22:47 ` Alex Williamson
2022-02-02 1:13 ` Jag Raman
2022-02-02 5:34 ` Alex Williamson
2022-02-02 9:22 ` Stefan Hajnoczi
2022-02-10 0:08 ` Jag Raman
2022-02-10 8:02 ` Michael S. Tsirkin
2022-02-10 22:23 ` Jag Raman
2022-02-10 22:53 ` Michael S. Tsirkin
2022-02-10 23:46 ` Jag Raman
2022-02-10 23:17 ` Alex Williamson
2022-02-10 23:28 ` Michael S. Tsirkin
2022-02-10 23:49 ` Alex Williamson
2022-02-11 0:26 ` Michael S. Tsirkin
2022-02-11 0:54 ` Jag Raman
2022-02-11 0:10 ` Jag Raman
2022-02-02 9:30 ` Peter Maydell
2022-02-02 10:06 ` Michael S. Tsirkin
2022-02-02 15:49 ` Alex Williamson
2022-02-02 16:53 ` Michael S. Tsirkin
2022-02-02 17:12 ` Alex Williamson
2022-02-01 10:42 ` Dr. David Alan Gilbert
2022-01-26 18:13 ` Dr. David Alan Gilbert
2022-01-27 17:43 ` Jag Raman
2022-01-25 9:56 ` Stefan Hajnoczi
2022-01-25 13:49 ` Jag Raman
2022-01-25 14:19 ` Stefan Hajnoczi
2022-01-19 21:41 ` [PATCH v5 04/18] pci: create and free isolated PCI buses Jagannathan Raman
2022-01-25 10:25 ` Stefan Hajnoczi
2022-01-25 14:10 ` Jag Raman
2022-01-19 21:41 ` [PATCH v5 05/18] qdev: unplug blocker for devices Jagannathan Raman
2022-01-25 10:27 ` Stefan Hajnoczi
2022-01-25 14:43 ` Jag Raman
2022-01-26 9:32 ` Stefan Hajnoczi
2022-01-26 15:13 ` Jag Raman
2022-01-19 21:41 ` [PATCH v5 06/18] vfio-user: add HotplugHandler for remote machine Jagannathan Raman
2022-01-25 10:32 ` Stefan Hajnoczi
2022-01-25 18:12 ` Jag Raman
2022-01-26 9:35 ` Stefan Hajnoczi
2022-01-26 15:20 ` Jag Raman
2022-01-26 15:43 ` Stefan Hajnoczi
2022-01-19 21:41 ` [PATCH v5 07/18] vfio-user: set qdev bus callbacks " Jagannathan Raman
2022-01-25 10:44 ` Stefan Hajnoczi
2022-01-25 21:12 ` Jag Raman
2022-01-26 9:37 ` Stefan Hajnoczi
2022-01-26 15:51 ` Jag Raman
2022-01-19 21:41 ` [PATCH v5 08/18] vfio-user: build library Jagannathan Raman
2022-01-19 21:41 ` [PATCH v5 09/18] vfio-user: define vfio-user-server object Jagannathan Raman
2022-01-25 14:40 ` Stefan Hajnoczi
2022-01-19 21:41 ` [PATCH v5 10/18] vfio-user: instantiate vfio-user context Jagannathan Raman
2022-01-25 14:44 ` Stefan Hajnoczi
2022-01-19 21:42 ` [PATCH v5 11/18] vfio-user: find and init PCI device Jagannathan Raman
2022-01-25 14:48 ` Stefan Hajnoczi
2022-01-26 3:14 ` Jag Raman
2022-01-19 21:42 ` [PATCH v5 12/18] vfio-user: run vfio-user context Jagannathan Raman
2022-01-25 15:10 ` Stefan Hajnoczi
2022-01-26 3:26 ` Jag Raman
2022-01-19 21:42 ` [PATCH v5 13/18] vfio-user: handle PCI config space accesses Jagannathan Raman
2022-01-25 15:13 ` Stefan Hajnoczi
2022-01-19 21:42 ` [PATCH v5 14/18] vfio-user: handle DMA mappings Jagannathan Raman
2022-01-19 21:42 ` [PATCH v5 15/18] vfio-user: handle PCI BAR accesses Jagannathan Raman
2022-01-19 21:42 ` [PATCH v5 16/18] vfio-user: handle device interrupts Jagannathan Raman
2022-01-25 15:25 ` Stefan Hajnoczi
2022-01-19 21:42 ` [PATCH v5 17/18] vfio-user: register handlers to facilitate migration Jagannathan Raman
2022-01-25 15:48 ` Stefan Hajnoczi
2022-01-27 17:04 ` Jag Raman
2022-01-28 8:29 ` Stefan Hajnoczi
2022-01-28 14:49 ` Thanos Makatos
2022-02-01 3:49 ` Jag Raman
2022-02-01 9:37 ` Stefan Hajnoczi
2022-01-19 21:42 ` [PATCH v5 18/18] vfio-user: avocado tests for vfio-user Jagannathan Raman
2022-01-26 4:25 ` Philippe Mathieu-Daudé via
2022-01-26 15:12 ` Jag Raman
2022-01-25 16:00 ` [PATCH v5 00/18] vfio-user server in QEMU Stefan Hajnoczi
2022-01-26 5:04 ` Jag Raman
2022-01-26 9:56 ` Stefan Hajnoczi
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.1642626515.git.jag.raman@oracle.com \
--to=jag.raman@oracle.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=elena.ufimtseva@oracle.com \
--cc=f4bug@amsat.org \
--cc=john.g.johnson@oracle.com \
--cc=john.levon@nutanix.com \
--cc=marcandre.lureau@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
--cc=thanos.makatos@nutanix.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.