Re: [PATCH 2/5] iommu: Add blocking_domain_ops field in iommu_ops

From: Joerg Roedel
Date: Fri May 20 2022 - 04:45:38 EST


On Mon, May 16, 2022 at 09:57:56AM +0800, Lu Baolu wrote:
> const struct iommu_domain_ops *default_domain_ops;
> + const struct iommu_domain_ops *blocking_domain_ops;

I don't understand why extra domain-ops are needed for this. I think it
would be more straight-forward to implement allocation of
IOMMU_DOMAIN_BLOCKED domains in each driver and let the details be
handled in the set_dev() call-back. The IOMMU driver can make sure DMA
is blocked for a device when it encounters a IOMMU_DOMAIN_BLOCKED
domain.

For IOMMUs that have no explicit way to block DMA could just use an
unmanaged domain with an empty page-table.

Regards,

Joerg