[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC 6/7] vhost-vdpa: init iommufd function in vhost_vdpa start
|
From: |
Cindy Lu |
|
Subject: |
[RFC 6/7] vhost-vdpa: init iommufd function in vhost_vdpa start |
|
Date: |
Wed, 3 May 2023 17:13:36 +0800 |
Add support for iommufd, init the vdpa_iommufd in vdpa_start
in this step, driver will bind to the iommufd device
and attach the default ASID(asid 0) to iommufd
Signed-off-by: Cindy Lu <lulu@redhat.com>
---
hw/virtio/vhost-vdpa.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
index 85240926b2..6c01e3b44f 100644
--- a/hw/virtio/vhost-vdpa.c
+++ b/hw/virtio/vhost-vdpa.c
@@ -1158,6 +1158,24 @@ static int vhost_vdpa_dev_start(struct vhost_dev *dev,
bool started)
trace_vhost_vdpa_dev_start(dev, started);
if (started) {
+ if ((v->enable_iommufd) && (vhost_vdpa_first_dev(dev))) {
+ struct vdpa_iommufd *vdpa_iommufd;
+
+ vdpa_backend_iommufd_ops_class_init(v);
+
+ if (dev->vdev->iommufd_ptr == NULL) {
+ vdpa_iommufd = g_malloc(sizeof(VDPAIOMMUFDState));
+
+ vdpa_iommufd->iommufd = g_malloc(sizeof(IOMMUFDBackend));
+ dev->vdev->iommufd_ptr = vdpa_iommufd;
+
+ qemu_mutex_init(&vdpa_iommufd->iommufd->lock);
+ iommufd_backend_connect(vdpa_iommufd->iommufd, NULL);
+
+ v->ops->attach_device(v, dev->vdev->dma_as, NULL);
+ }
+ }
+
vhost_vdpa_host_notifiers_init(dev);
ok = vhost_vdpa_svqs_start(dev);
if (unlikely(!ok)) {
--
2.34.3
- [RFC 0/7] vhost-vdpa: add support for iommufd, Cindy Lu, 2023/05/03
- [RFC 1/7] vhost: introduce new UAPI to support IOMMUFD, Cindy Lu, 2023/05/03
- [RFC 3/7] virtio : add a ptr for vdpa_iommufd in VirtIODevice, Cindy Lu, 2023/05/03
- [RFC 2/7] qapi: support iommufd in vdpa, Cindy Lu, 2023/05/03
- [RFC 6/7] vhost-vdpa: init iommufd function in vhost_vdpa start,
Cindy Lu <=
- [RFC 4/7] net/vhost-vdpa: Add the check for iommufd, Cindy Lu, 2023/05/03
- [RFC 5/7] vhost-vdpa: Add the iommufd support in the map/unmap function, Cindy Lu, 2023/05/03
- [RFC 7/7] vhost-vdpa-iommufd: Add iommufd support for vdpa, Cindy Lu, 2023/05/03
- Re: [RFC 0/7] vhost-vdpa: add support for iommufd, Jason Wang, 2023/05/04