[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 00/17] vfio-user server in QEMU
From: |
Jagannathan Raman |
Subject: |
[PATCH v8 00/17] vfio-user server in QEMU |
Date: |
Tue, 19 Apr 2022 16:44:05 -0400 |
Hi,
This is v8 of the server side changes to enable vfio-user in QEMU.
Thank you very much for reviewing the last revision of this series!
We've made the following changes in this revision:
[PATCH v8 06/17] vfio-user: build library
- updated libvfio-user to the latest
[PATCH v8 07/17] vfio-user: define vfio-user-server object
- changed auto_shutdown to a per-instance property than
a per-class property
[PATCH v8 12/17] vfio-user: IOMMU support for remote device
- lock mutex while looking up hash table
- removed global hash table - added RemoteIommu object to
house this variable
- added unplug handler to remove per-device IOMMU entry
when a PCIDevice is unplugged
[PATCH v8 14/17] vfio-user: handle PCI BAR accesses
- refactored vfu_object_bar_rw()
- vfu_object_bar_rw() handles short sections returned by
memory_region_find()
[PATCH v8 15/17] vfio-user: handle device interrupts
- removed callbacks for msi_notify() and msix_notify()
- added callbacks for msi_send_message() and
msi(x)_get_message() operations
Thank you!
Jagannathan Raman (17):
tests/avocado: Specify target VM argument to helper routines
qdev: unplug blocker for devices
remote/machine: add HotplugHandler for remote machine
remote/machine: add vfio-user property
configure: require cmake 3.19 or newer
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
vfio-user: avocado tests for vfio-user
configure | 36 +-
meson.build | 44 +-
qapi/misc.json | 23 +
qapi/qom.json | 20 +-
include/exec/memory.h | 3 +
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 | 16 +-
hw/pci/msix.c | 10 +-
hw/pci/pci.c | 13 +
hw/remote/iommu.c | 114 +++
hw/remote/machine.c | 88 +-
hw/remote/vfio-user-obj.c | 891 +++++++++++++++++++++
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 | 2 +
.gitmodules | 3 +
Kconfig.host | 4 +
MAINTAINERS | 6 +
hw/remote/Kconfig | 4 +
hw/remote/meson.build | 4 +
hw/remote/trace-events | 11 +
meson_options.txt | 3 +
stubs/meson.build | 1 +
subprojects/libvfio-user | 1 +
tests/avocado/avocado_qemu/__init__.py | 14 +-
tests/avocado/vfio-user.py | 164 ++++
tests/docker/dockerfiles/centos8.docker | 2 +
tests/docker/dockerfiles/ubuntu2004.docker | 2 +
35 files changed, 1594 insertions(+), 24 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
create mode 100644 tests/avocado/vfio-user.py
--
2.20.1
- [PATCH v8 00/17] vfio-user server in QEMU,
Jagannathan Raman <=
[PATCH v8 13/17] vfio-user: handle DMA mappings, Jagannathan Raman, 2022/04/19
[PATCH v8 14/17] vfio-user: handle PCI BAR accesses, Jagannathan Raman, 2022/04/19