Hello,
owner of Gigabyte B550 AORUS ELITE V2 here.
Gigabyte support pointed me to AMD regarding IOMMU grouping.
Please would it be possible to change IOMMU grouping of B550 chipset?
Currently everything connected through chipset is under one group only.
I would like to passthrough additional NVME drives to VM's for performance's sake but it is not possible at the moment.
IOMMU Group 13 04:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset USB 3.1 XHCI Controller [1022:43ee]
IOMMU Group 13 04:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset SATA Controller [1022:43eb]
IOMMU Group 13 04:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset Switch Upstream Port [1022:43e9]
IOMMU Group 13 05:03.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
IOMMU Group 13 05:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
IOMMU Group 13 06:00.0 Non-Volatile memory controller [0108]: Micron/Crucial Technology P5 NVMe PCIe SSD[SlashP5] [c0a9:5412]
I tested with a nvme-pcie adapter only to find that all the PCIe slots except GFX one are in group 13.
Any chance of fixing this?
What group would they have to be for the B550 chipset?
You're the first I have seen to try this phenomenon and it sounds like something to look into. If you could share an NVMe drive for VRAM that would be a benefit for everyone. You have my curiosity aroused with something to look into. Any progress on your part I hope you will share.
I only run X570 AM4 boards due to some of the incapabilities of the B550 and B450 boards. It's worth the little extra $$, at least to me.
I just dove into the IOMMU groups and it appears that this is the Linux OS. That explains why I'm not familiar with it.
Still curious if you can find more info on it though.
You might check into the differences between the B series and X series boards though.
Another suggestion is to check into the brand of your board. The concept your attempting may be something more common in a server CPU and the best boards I found for that were SuperMicro. Expensive but worth the money in my opinion.
IOMMU is OS agnostic and is enabled/disabled in the UEFI settings. Yes I happen to use linux as a hypervisor. But there are other people who use different ones.
Ideally the things connected through the chipset would not be in one IOMMU group. Which right now they are. Because if you want to passthrough just NVME drive to the VM you have to passthrough the whole IOMMU group.
Which is why I am asking for this to be fixed - I am asking for some AMD engineer to separate the things connected through chipset into different IOMMU groups in AGESA firmware. Ideally separate the usb controller,sata controller and each pcie slot into one group each.
Also no I am not the first to complain about this. There are numerous threads about some point in history where new AGESA messed up IOMMU grouping. Happened for x470 and x570 also.
Just google 'new agesa iommu groups broken' to get a bit of a picture if you are interested.
Yeah I realized this after I tried all the ACS and AER related bios options but they seemed to do nothing. Super frustrating!
That IOMMU grouping is absurd, I have 5 PCIe slots, and 4 of them are in the same group as one NVME slot and onboard network card... Attempts to pass any of them result if ripping out storage and network from underneath the hypervisor.