i386/180599: PCIe chipset test is not valid on recent Intel platforms
Chris Main
chris.main at tenasys.com
Tue Jul 16 19:10:00 UTC 2013
>Number: 180599
>Category: i386
>Synopsis: PCIe chipset test is not valid on recent Intel platforms
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Jul 16 19:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Chris Main
>Release: 9.1
>Organization:
TenAsys
>Environment:
(various)
>Description:
It is not possible to set up MSI interrupts on devices which appear before a PCI Express root complex on Intel series 7/series 8 chipsets because the pci_msi_blacklisted() test fails (in dev/pci.c)
The reason is that the method for setting the pcie_chipset variable is no longer valid. Most devices in a PCI Express system no longer have the PCI Express capability registers, unless they are PCI Express root complexes or PCI Express plug-in cards.
An example is the XHCI controller in the 7-series chipset, which occurs at pci0:0:20:0 and has no PCI Express capability register, but is MSI-capable. Because none of the preceding devices have the PCI Express capability either, the MSI test fails.
>How-To-Repeat:
Boot FreeBSD on such a system and use pciconf to demonstrate that the XHCI has been set up with an IRQ and not MSI.
>Fix:
Need a different method to determine system PCI Express property
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list