• Jason Gunthorpe's avatar
    iommufd/selftest: Make selftest create a more complete mock device · 65c619ae
    Jason Gunthorpe authored
    iommufd wants to use more infrastructure, like the iommu_group, that the
    mock device does not support. Create a more complete mock device that can
    go through the whole cycle of ownership, blocking domain, and has an
    iommu_group.
    
    This requires creating a real struct device on a real bus to be able to
    connect it to a iommu_group. Unfortunately we cannot formally attach the
    mock iommu driver as an actual driver as the iommu core does not allow
    more than one driver or provide a general way for busses to link to
    iommus. This can be solved with a little hack to open code the dev_iommus
    struct.
    
    With this infrastructure things work exactly the same as the normal domain
    path, including the auto domains mechanism and direct attach of hwpts.  As
    the created hwpt is now an autodomain it is no longer required to destroy
    it and trying to do so will trigger a failure.
    
    Link: https://lore.kernel.org/r/11-v3-ae9c2975a131+2e1e8-iommufd_hwpt_jgg@nvidia.comReviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    65c619ae
iommufd_fail_nth.c 14.6 KB