Re: [RFC PATCH] iommu/arm-smmu-v3: Allow nested attach for PCI bridges without vDEVICE
Jason Gunthorpe <[email protected]>
| Newsgroups | dev.linux.lists.regressions,dev.linux.lists.iommu,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Aug 14, 2026 at 10:07:09AM +0000, Dmitry Malkin wrote:
> IOMMU groups can contain passed-through endpoints and host PCI bridges.
> QEMU creates vDEVICEs for the endpoints, but not for bridges that are
> not visible to the guest.
But why exactly do you have pci bridges in your groups? That isn't
entirely normal?
> Since f0ea207ed781 ("iommu/arm-smmu-v3: Introduce struct
> arm_smmu_vmaster"), group-wide translated-domain attachment therefore
> fails when the first bridge is visited:
>
> pcieport 0009:00:00.0:
> missing vDEVICE association for translated nested domain:
> cfg=5 ret=-2
>
> vfio-pci 0009:03:00.0:
> VFIO_DEVICE_ATTACH_IOMMUFD_PT attach failed for pt_id 19: -ENOENT
>
> The same configuration worked with Linux 6.14.
Hmm, but without a viommu we shouldn't have this vmaster stuff
activating in the first place, I thought?
+ if (new_domain->type == IOMMU_DOMAIN_NESTED) {
+ ret = arm_smmu_attach_prepare_vmaster(
+ state, to_smmu_nested_domain(new_domain));
That should only be happening if the VMM is setting up vIOMMU.
And vIOMMU wasn't supported in 6.14, so if it "worked" the VMM was
doing something quite different - not seeing this as a regression
If viommu should support multi-device groups, I'm not sure. I want to
know why you even have multi-device groups in the first place because
that is not normal at all.
Jason