> From: Liu, Yi L <[email protected]>
> Sent: Monday, October 9, 2023 4:51 PM
> 
> @@ -2071,6 +2083,43 @@ TEST_F(iommufd_device_pasid, pasid_attach)
> 
> IOMMU_HWPT_ALLOC_DATA_SELFTEST,
>                                          &data, sizeof(data));
> 
> +             if (variant->pasid) {
> +                     uint32_t new_hwpt_id = 0;
> +
> +                     ASSERT_EQ(0,
> +                               test_cmd_pasid_check_domain(self->fd,
> +                                                           self->stdev_id,
> +                                                           variant->pasid,
> +                                                           self->hwpt_id,
> +                                                           &result));
> +                     EXPECT_EQ(1, result);
> +                     test_cmd_hwpt_alloc(self->device_id, self->ioas_id,
> +                                         0, &new_hwpt_id);
> +                     test_cmd_mock_domain_replace(self->stdev_id,
> +                                                  new_hwpt_id);
> +                     ASSERT_EQ(0,
> +                               test_cmd_pasid_check_domain(self->fd,
> +                                                           self->stdev_id,
> +                                                           variant->pasid,
> +                                                           new_hwpt_id,
> +                                                           &result));
> +                     EXPECT_EQ(1, result);
> +
> +                     /*
> +                      * Detach hwpt from variant->pasid, and check if the
> +                      * variant->pasid has null domain
> +                      */
> +                     test_cmd_pasid_detach(variant->pasid);
> +                     ASSERT_EQ(0,
> +                               test_cmd_pasid_check_domain(self->fd,
> +                                                           self->stdev_id,
> +                                                           variant->pasid,
> +                                                           0, &result));
> +                     EXPECT_EQ(1, result);
> +
> +                     test_ioctl_destroy(new_hwpt_id);
> +             }
> +

I wonder whether above better reuses the device attach/replace cases
given default_pasid is hidden inside iommufd_device. this pasid_attach
case is more for testing user pasids on a iommufd_device which hasn't
yet been supported by SIOV device?

Reply via email to