Date: Tue, 16 Jul 2013 19:07:24 GMT From: Chris Main <chris.main@tenasys.com> To: freebsd-gnats-submit@FreeBSD.org Subject: i386/180599: PCIe chipset test is not valid on recent Intel platforms Message-ID: <201307161907.r6GJ7OOd061444@oldred.freebsd.org> Resent-Message-ID: <201307161910.r6GJA04Q014310@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307161907.r6GJ7OOd061444>