Description of problem:
Many Intel PCH root ports lack PCI ACS support. This causes all of the devices downstream of the root ports to be placed into the same IOMMU group. Even worse, the PCH root ports are a multifunction device resulting in all devices downstream from every function being placed in the same IOMMU group. This makes VFIO all but unusable for such devices. There are numerous examples of this problem, but the X79 chipset is one of the more important examples.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Here is the public list of PCI IDs for PCH root ports that can utilize the ACS workaround:
Ibexpaek PCH - 3b42, 3b43, 3b44, 3b45, 3b46, 3b47, 3b48, 3b49, 3b4a, 3b4b, 3b4c, 3b4d, 3b4e, 3b4f, 3b50, 3b51
Cougarpoint PCH - 1c10, 1c11, 1c12, 1c13, 1c14, 1c15, 1c16, 1c17, 1c18, 1c19, 1c1a, 1c1b, 1c1c, 1c1d, 1c1e, 1c1f, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e1a, 1e1b, 1e1c, 1e1d, 1e1e, 1e1f
Lynxpoint-H PCH - 8c10, 8c11, 8c12, 8c13, 8c14, 8c15, 8c16, 8c17, 8c18, 8c19, 8c1a, 8c1b, 8c1c, 8c1d, 8c1e, 8c1f
Lynxpoint-LP PCH - 9c10, 9c11, 9c12, 9c13, 9c14, 9c15, 9c16, 9c17, 9c18, 9c19, 9c1a, 9c1b
Wildcatpoint PCH - 9c90, 9c91, 9c92, 9c93, 9c94, 9c95, 9c96, 9c97, 9c98, 9c99, 9c9a, 9c9b
Note that this is not necessarily an exhaustive list yet, this is just the best I have so far, but it should be sufficient to start with.
Don, please review and provide comments or ACK to upstream patch:
Sorry about that, in my head I had ACK'd your patch, it works better when I actually send the email.
Patch(es) available on kernel-3.10.0-107.el7
I've been able to track down the PCI IDs for X79 root ports:
1d10, 1d12, 1d14, 1d16, 1d18, 1d1a, 1d1c, 1d1e
Note that these root ports provide the same isolation as the other ports we listed in this BZ 1037684 and the same quirk applies.
This request was resolved in Red Hat Enterprise Linux 7.0.
Contact your manager or support representative in case you have further questions about the request.