On Mon, Jul 14, 2025 at 04:59:28PM +0100, Shameer Kolothum wrote: > +bool iommufd_backend_alloc_vdev(IOMMUFDBackend *be, uint32_t dev_id, > + uint32_t viommu_id, uint64_t virt_id, > + uint32_t *out_vdev_id, Error **errp) > +{ > + int ret, fd = be->fd; > + struct iommu_vdevice_alloc alloc_vdev = { > + .size = sizeof(alloc_vdev), > + .viommu_id = viommu_id, > + .dev_id = dev_id, > + .virt_id = virt_id, > + }; > + > + ret = ioctl(fd, IOMMU_VDEVICE_ALLOC, &alloc_vdev); > + > + trace_iommufd_backend_alloc_vdev(fd, dev_id, viommu_id, virt_id, > + alloc_vdev.out_vdevice_id, ret); > + > + if (ret) { > + error_setg_errno(errp, errno, "IOMMU_VDEVICE_ALLOC failed"); > + return false; > + } > + > + *out_vdev_id = alloc_vdev.out_vdevice_id;
g_assert(out_vdev_id); Thanks Nicolin