REPLACE
Summary:
Introduction
Introduction goes here
$ journalctl -k -b 0 | grep "iommu" | grep "group" Jan 25 21:04:37 fedora kernel: pci 0000:c4:00.5: Adding to iommu group 0 .. Jan 25 21:04:37 fedora kernel: pci 0000:c4:00.5: Adding to iommu group 21
SHould be in a group by itelf
for g in /sys/kernel/iommu_groups/*; do
echo "IOMMU Group ${g##*/}:"
for d in $g/devices/*; do
echo -e "\t$(lspci -nns ${d##*/})"
done
done
Result:
IOMMU Group 15: 03:00.0 Network controller [0280]: MEDIATEK Corp. MT7902 802.11ax PCIe Wireless Network Adapter [Filogic 310] [14c3:7902]
The "Reset" check
Since you are doing kernel development on real hardware, you should check if your specific PCI device supports Function Level Reset (FLR). This allows QEMU to reset the hardware back to a clean state when the VM restarts.
Run this (replace 01:00.0 with your device's ID):
Bash
sudo lspci -vv -s 03:00.0 | grep -i "Capabilities: \[.*\] Express" -A 15 | grep -i "FLR" ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 75W TEE-IO- RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
Conclusion
Wrap it up here.