From: "Longpeng(Mike)" via <qemu-devel@nongnu.org>
To: <stefanha@redhat.com>, <mst@redhat.com>, <cohuck@redhat.com>
Cc: <pbonzini@redhat.com>, <arei.gonglei@huawei.com>,
<yechuan@huawei.com>, <huangzhichao@huawei.com>,
<qemu-devel@nongnu.org>, Longpeng <longpeng2@huawei.com>
Subject: [PATCH v2 00/10] add generic vDPA device support
Date: Mon, 17 Jan 2022 20:43:21 +0800 [thread overview]
Message-ID: <20220117124331.1642-1-longpeng2@huawei.com> (raw)
From: Longpeng <longpeng2@huawei.com>
Hi guys,
This patchset tries to support the generic vDPA device, the previous
disscussion can be found here [1].
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,vdpa-dev=/dev/vhost-vdpa-X
I've done some simple tests on Huawei's offloading card (net, 0.95)
and vdpa_sim_blk (1.0);
The kernel part:
https://lkml.org/lkml/2022/1/17/239
Changes RFC -> v1
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) (10):
virtio: get class_id and pci device id by the virtio id
update linux headers
vdpa: add the infrastructure of vdpa-dev
vdpa-dev: implement the instance_init/class_init interface
vdpa-dev: implement the realize interface
vdpa-dev: implement the unrealize interface
vdpa-dev: implement the get_config/set_config interface
vdpa-dev: implement the get_features interface
vdpa-dev: implement the set_status interface
vdpa-dev: mark the device as unmigratable
hw/virtio/Kconfig | 5 +
hw/virtio/meson.build | 2 +
hw/virtio/vdpa-dev-pci.c | 99 ++++++++++
hw/virtio/vdpa-dev.c | 357 +++++++++++++++++++++++++++++++++++
hw/virtio/virtio-pci.c | 77 ++++++++
hw/virtio/virtio-pci.h | 5 +
include/hw/virtio/vdpa-dev.h | 29 +++
linux-headers/linux/vhost.h | 7 +
8 files changed, 581 insertions(+)
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-01-17 13:05 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-17 12:43 Longpeng(Mike) via [this message]
2022-01-17 12:43 ` [PATCH v2 01/10] virtio: get class_id and pci device id by the virtio id Longpeng(Mike) via
2022-01-17 12:43 ` [PATCH v2 02/10] update linux headers Longpeng(Mike) via
2022-01-17 12:43 ` [PATCH v2 03/10] vdpa: add the infrastructure of vdpa-dev Longpeng(Mike) via
2022-01-17 12:43 ` [PATCH v2 04/10] vdpa-dev: implement the instance_init/class_init interface Longpeng(Mike) via
2022-01-19 11:23 ` Stefano Garzarella
2022-03-05 6:06 ` longpeng2--- via
2022-03-07 8:10 ` Stefano Garzarella
2022-03-07 8:55 ` longpeng2--- via
2022-03-07 9:13 ` Stefano Garzarella
2022-03-07 9:25 ` longpeng2--- via
2022-01-17 12:43 ` [PATCH v2 05/10] vdpa-dev: implement the realize interface Longpeng(Mike) via
2022-01-19 11:30 ` Stefano Garzarella
2022-03-05 7:07 ` longpeng2--- via
2022-03-07 8:23 ` Stefano Garzarella
2022-03-07 11:13 ` longpeng2--- via
2022-03-07 12:14 ` Stefano Garzarella
2022-03-08 3:19 ` longpeng2--- via
2022-03-08 8:41 ` Stefano Garzarella
2022-03-08 9:42 ` longpeng2--- via
2022-03-08 11:55 ` Stefano Garzarella
2022-01-17 12:43 ` [PATCH v2 06/10] vdpa-dev: implement the unrealize interface Longpeng(Mike) via
2022-01-19 11:36 ` Stefano Garzarella
2022-03-05 7:11 ` longpeng2--- via
2022-01-17 12:43 ` [PATCH v2 07/10] vdpa-dev: implement the get_config/set_config interface Longpeng(Mike) via
2022-01-17 12:43 ` [PATCH v2 08/10] vdpa-dev: implement the get_features interface Longpeng(Mike) via
2022-01-17 12:43 ` [PATCH v2 09/10] vdpa-dev: implement the set_status interface Longpeng(Mike) via
2022-01-17 12:43 ` [PATCH v2 10/10] vdpa-dev: mark the device as unmigratable Longpeng(Mike) via
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=20220117124331.1642-1-longpeng2@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=arei.gonglei@huawei.com \
--cc=cohuck@redhat.com \
--cc=huangzhichao@huawei.com \
--cc=longpeng2@huawei.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=stefanha@redhat.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).