From: "Longpeng(Mike)" via <qemu-devel@nongnu.org>
To: <stefanha@redhat.com>, <mst@redhat.com>, <jasowang@redhat.com>,
<sgarzare@redhat.com>
Cc: <cohuck@redhat.com>, <pbonzini@redhat.com>,
<arei.gonglei@huawei.com>, <yechuan@huawei.com>,
<huangzhichao@huawei.com>, <qemu-devel@nongnu.org>,
<xiehong@huawei.com>, Longpeng <longpeng2@huawei.com>
Subject: [PATCH v9 0/5] add generic vDPA device support
Date: Sat, 12 Nov 2022 22:40:08 +0800 [thread overview]
Message-ID: <20221112144013.1349-1-longpeng2@huawei.com> (raw)
From: Longpeng <longpeng2@huawei.com>
Hi guys,
With the generic vDPA device, QEMU won't need to touch the device
types any more, such like vfio.
We can use the generic vDPA device as follow:
-device vhost-vdpa-device-pci,vhostdev=/dev/vhost-vdpa-X
Or
-M microvm -m 512m -smp 2 -kernel ... -initrd ... -device \
vhost-vdpa-device,vhostdev=/dev/vhost-vdpa-x
Changes v9 -> v8:
- rename vhost-vdpa-device.rst to vhost-vdpa-generic-device.rst [Jason, Stefano]
- emphasize the vhost-vDPA generic device in doc [Jason]
Changes v8 -> v7:
- add migration blocker. [Michael]
Changes v6 -> v7:
(v6: https://mail.gnu.org/archive/html/qemu-devel/2022-05/msg02821.html)
- rebase. [Jason]
- add documentation . [Stefan]
Changes v5 -> v6:
Patch 2:
- Turn to the original approach in the RFC to initialize the
virtio_pci_id_info array. [Michael]
https://lore.kernel.org/all/20220105005900.860-2-longpeng2@huawei.com/
Patch 3:
- Fix logical error of exception handler around the post_init.
[Stefano]
- Fix some coding style warnings. [Stefano]
Patch 4:
- Fix some coding style warnings. [Stefano]
Changes v4 -> v5:
Patch 3:
- remove vhostfd [Jason]
- support virtio-mmio [Jason]
Changes v3 -> v4:
v3: https://www.mail-archive.com/qemu-devel@nongnu.org/msg877015.html
- reorganize the series [Stefano]
- fix some typos [Stefano]
- fix logical error in vhost_vdpa_device_realize [Stefano]
Changes v2 -> v3
Patch 4 & 5:
- only call vdpa ioctls in vdpa-dev.c [Stefano, Longpeng]
- s/VQS_NUM/VQS_COUNT [Stefano]
- check both vdpa_dev_fd and vdpa_dev [Stefano]
Patch 6:
- move all steps into vhost_vdpa_device_unrealize. [Stefano]
Changes RFC -> v2
Patch 1:
- rename 'pdev_id' to 'trans_devid' [Michael]
- only use transitional device id for the devices
listed in the spec [Michael]
- use macros to make the id_info table clearer [Longpeng]
- add some modern devices in the id_info table [Longpeng]
Patch 2:
- remove the GET_VECTORS_NUM command [Jason]
Patch 4:
- expose vdpa_dev_fd as a QOM preperty [Stefan]
- introduce vhost_vdpa_device_get_u32 as a common
function to make the code clearer [Stefan]
- fix the misleading description of 'dc->desc' [Stefano]
Patch 5:
- check returned number of virtqueues [Stefan]
Patch 6:
- init s->num_queues [Stefano]
- free s->dev.vqs [Stefano]
Longpeng (Mike) (5):
virtio: get class_id and pci device id by the virtio id
vdpa: add vdpa-dev support
vdpa: add vdpa-dev-pci support
vdpa-dev: mark the device as unmigratable
docs: Add generic vhost-vdpa device documentation
.../devices/vhost-vdpa-generic-device.rst | 46 +++
hw/virtio/Kconfig | 5 +
hw/virtio/meson.build | 2 +
hw/virtio/vdpa-dev-pci.c | 102 +++++
hw/virtio/vdpa-dev.c | 377 ++++++++++++++++++
hw/virtio/virtio-pci.c | 88 ++++
include/hw/virtio/vdpa-dev.h | 43 ++
include/hw/virtio/virtio-pci.h | 5 +
8 files changed, 668 insertions(+)
create mode 100644 docs/system/devices/vhost-vdpa-generic-device.rst
create mode 100644 hw/virtio/vdpa-dev-pci.c
create mode 100644 hw/virtio/vdpa-dev.c
create mode 100644 include/hw/virtio/vdpa-dev.h
--
2.23.0
next reply other threads:[~2022-11-12 14:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-12 14:40 Longpeng(Mike) via [this message]
2022-11-12 14:40 ` [PATCH v9 1/5] virtio: get class_id and pci device id by the virtio id Longpeng(Mike) via
2022-11-12 14:40 ` [PATCH v9 2/5] vdpa: add vdpa-dev support Longpeng(Mike) via
2022-11-12 14:40 ` [PATCH v9 3/5] vdpa: add vdpa-dev-pci support Longpeng(Mike) via
2022-11-12 14:40 ` [PATCH v9 4/5] vdpa-dev: mark the device as unmigratable Longpeng(Mike) via
2022-11-12 14:40 ` [PATCH v9 5/5] docs: Add generic vhost-vdpa device documentation Longpeng(Mike) via
2022-11-14 4:17 ` Jason Wang
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=20221112144013.1349-1-longpeng2@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=arei.gonglei@huawei.com \
--cc=cohuck@redhat.com \
--cc=huangzhichao@huawei.com \
--cc=jasowang@redhat.com \
--cc=longpeng2@huawei.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=sgarzare@redhat.com \
--cc=stefanha@redhat.com \
--cc=xiehong@huawei.com \
--cc=yechuan@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).