Commit 4ed4791a authored by Jason Gunthorpe's avatar Jason Gunthorpe
Browse files

iommufd/selftest: Add a selftest for iommufd_device_attach() with a hwpt argument

This can now be covered since we have a full struct device.

Link: https://lore.kernel.org/r/12-v3-ae9c2975a131+2e1e8-iommufd_hwpt_jgg@nvidia.com


Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 65c619ae
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -187,6 +187,7 @@ FIXTURE(iommufd_ioas)
	int fd;
	uint32_t ioas_id;
	uint32_t stdev_id;
	uint32_t hwpt_id;
	uint64_t base_iova;
};

@@ -212,7 +213,8 @@ FIXTURE_SETUP(iommufd_ioas)
	}

	for (i = 0; i != variant->mock_domains; i++) {
		test_cmd_mock_domain(self->ioas_id, &self->stdev_id, NULL);
		test_cmd_mock_domain(self->ioas_id, &self->stdev_id,
				     &self->hwpt_id);
		self->base_iova = MOCK_APERTURE_START;
	}
}
@@ -259,6 +261,16 @@ TEST_F(iommufd_ioas, ioas_destroy)
	}
}

TEST_F(iommufd_ioas, hwpt_attach)
{
	/* Create a device attached directly to a hwpt */
	if (self->stdev_id) {
		test_cmd_mock_domain(self->hwpt_id, NULL, NULL);
	} else {
		test_err_mock_domain(ENOENT, self->hwpt_id, NULL, NULL);
	}
}

TEST_F(iommufd_ioas, ioas_area_destroy)
{
	/* Adding an area does not change ability to destroy */