Iommu groups for x8 slot

Hello, please separate the pcie expansion card slots into separate iommu groupsm My HBA is not functional in the Debian 12 (6.1.44-cix) image. I would like to run it in a VM on mainline kernel via passthrough.

Great if you can also separate the x2 e key and x4 m key m.2 slots too!

Currently these are the only devices using the Iommu, can someone explain what is even the point of putting the disp-controllers behind iommu?

$ ls -l /sys/kernel/iommu_groups/*/devices/*
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/0/devices/armcb_ispmem -> ../../../../devices/platform/armcb_ispmem
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/1/devices/14010000.disp-controller -> ../../../../devices/platform/soc@0/14010000.disp-controller
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/2/devices/14260000.aipu -> ../../../../devices/platform/soc@0/14260000.aipu
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/3/devices/14080000.disp-controller -> ../../../../devices/platform/soc@0/14080000.disp-controller
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/4/devices/140f0000.disp-controller -> ../../../../devices/platform/soc@0/140f0000.disp-controller
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/5/devices/14160000.disp-controller -> ../../../../devices/platform/soc@0/14160000.disp-controller
lrwxrwxrwx 1 root root 0 Mar 20 14:01 /sys/kernel/iommu_groups/6/devices/141d0000.disp-controller -> ../../../../devices/platform/soc@0/141d0000.disp-controller
1 Like
maz@cosmic-debris:~$ ls -l /sys/kernel/iommu_groups/*/devices/*
lrwxrwxrwx 1 root root 0 Mar 21 09:13 /sys/kernel/iommu_groups/0/devices/0000:90:00.0 -> ../../../../devices/pci0000:90/0000:90:00.0
lrwxrwxrwx 1 root root 0 Mar 21 09:13 /sys/kernel/iommu_groups/0/devices/0000:91:00.0 -> ../../../../devices/pci0000:90/0000:90:00.0/0000:91:00.0
lrwxrwxrwx 1 root root 0 Mar 21 09:13 /sys/kernel/iommu_groups/1/devices/0000:30:00.0 -> ../../../../devices/pci0000:30/0000:30:00.0
lrwxrwxrwx 1 root root 0 Mar 21 09:13 /sys/kernel/iommu_groups/1/devices/0000:31:00.0 -> ../../../../devices/pci0000:30/0000:30:00.0/0000:31:00.0
lrwxrwxrwx 1 root root 0 Mar 21 09:13 /sys/kernel/iommu_groups/2/devices/0000:00:00.0 -> ../../../../devices/pci0000:00/0000:00:00.0
lrwxrwxrwx 1 root root 0 Mar 21 09:13 /sys/kernel/iommu_groups/2/devices/0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:00.0/0000:01:00.0

On my box, only PCIe is described as routed to to the SMMU. But I’m also not using anything else, and sticking to an upstream kernel.

Note that in general, you cannot “make” things appear in different IOMMU groups. Doing so requires that each device provides the correct signals to the SMMU so that they can use different sets of page tables.
This is defined at integration time, and not by software.

1 Like