IOMMU/PCIe Passthrough works, but! There are gotchas.

I am happy to report that the ACS patches still work with Kernel 4.10+ (Kernel 4.10+ is recommended for Ryzen due to additional functionality of the Ryzen hardware). However, it is a bit weird.

On both the ASRock Taichi X370 (Review out at youtube.com/level1techs) and the Aorus Gaming 5 from Gigabyte, the two CPU-connected PCIe x8 slots are both in IOMMU group 2. 

 

Full writeup coming in a moment! here's the patch:

Acs.patch

 

With patch applied:

Update /etc/default/grub

 

Unfortunately, b350 isn't ideal for iommu because the pcie x16 provided by the cpu apparently can't be split: