Bug 1037684 - whitelist support for Intel PCH root ports without PCI ACS support
Summary: whitelist support for Intel PCH root ports without PCI ACS support
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kernel
Version: 7.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Alex Williamson
QA Contact: William Gomeringer
Depends On:
TreeView+ depends on / blocked
Reported: 2013-12-03 15:22 UTC by Alex Williamson
Modified: 2014-06-18 06:37 UTC (History)
13 users (show)

Fixed In Version: kernel-3.10.0-107.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-06-16 10:24:29 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Alex Williamson 2013-12-03 15:22:13 UTC
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):

How reproducible:

Steps to Reproduce:

Actual results:

Expected results:

Additional info:

Comment 2 Don Dugger 2014-01-20 21:37:12 UTC

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.

Comment 3 Alex Williamson 2014-02-10 18:33:08 UTC
Don, please review and provide comments or ACK to upstream patch:



Comment 4 Don Dugger 2014-02-10 18:46:11 UTC
Sorry about that, in my head I had ACK'd your patch, it works better when I actually send the email.

Comment 6 Jarod Wilson 2014-03-10 19:04:39 UTC
Patch(es) available on kernel-3.10.0-107.el7

Comment 11 Don Dugger 2014-03-31 14:46:18 UTC
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.

Comment 13 Ludek Smid 2014-06-16 10:24:29 UTC
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.

Note You need to log in before you can comment on or make changes to this bug.