I'm pretty certain that ACS on the CPU root ports are working from the output of sudo lspci -vvv for the 3 CPU PCI bridges
00:01.0 PCI bridge: Intel Corporation Xeon E5 v3/Core i7 PCI Express Root Port 1
Capabilities: [110 v1] Access Control Services
ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
ACSCtl: SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
However I don't understand the dmesg | grep output:
pci 0000:00:1c.0: Intel PCH root port ACS workaround enabled
pci 0000:00:1c.6: Intel PCH root port ACS workaround enabled
pci 0000:00:1c.7: Intel PCH root port ACS workaround enabled
I understand that is from the PCH, but don't understand the "workaround" being used for these ports.
The IOMMU listing outputs proper isolation per device, but I wanted to make sure there is no issues for expansion slots coming from the PCH and details of the workaround.
My brief understanding is that is has to do with properly grouping the devices or something of that nature.
Thanks for listening.