Hi,
On 12/5/19 10:25 AM, Jerry Snitselaar wrote:
It seems that iommu pci bus probe didn't enumerate device [01:00.2] and
[02:00.0], the corresponding context entries were not setup. Hence dma
fault generated when devices access the memory.
Do these two devices show in "lspci" output? How do these devices get
enumerated by the system?
Best regards,
baolu
They are there in the output, but it seems out of order:
[ 23.446201] pci 0000:01:00.0: Adding to iommu group 25
[ 23.448949] pci 0000:01:00.0: Using iommu dma mapping
[ 23.450807] pci 0000:01:00.1: Adding to iommu group 25
[ 23.452666] pci 0000:01:00.1: DMAR: Device uses a private identity
domain.
[ 23.455063] pci 0000:01:00.2: Adding to iommu group 25
[ 23.456881] pci 0000:01:00.4: Adding to iommu group 25
[ 23.458693] pci 0000:01:00.4: DMAR: Device uses a private identity
domain.
Oh, yes!
So device 01:00.0 01:00.1 01:00.2 01:00.4 share a single group. The
default domain for this group has been set to DMA although iommu=pt has
been set. As the result, .0 .2 use DMA, but .1, .4 use IDENTITY. This is
not a valid configuration since all devices in a group should use a same
domain.
Do you mind posting the "lspci -vvv" output of these devices? I want to
figure out why these devices request different domain type.
Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu