[lkml]   [2010]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v4 0/5] PCI: try "pci=use_crs" again
On Wed, Feb 17, 2010 at 01:19:47PM -0700, Bjorn Helgaas wrote:
> Historically, Linux has assumed a single PCI host bridge, with that bridge
> claiming all the address space left after RAM and legacy devices are taken out.
> If the system contains multiple host bridges, we can no longer operate under
> that assumption. We have to know what parts of the address space are claimed
> by each bridge so that when we assign resources to a PCI device, we take them
> from a range claimed by the upstream host bridge.
> On x86 and ia64, we use ACPI to enumerate all the PCI host bridges in the
> system, and part of the host bridge description is the "_CRS" (current resource
> settings" property, which lists the address space used by the bridge. On x86,
> we currently ignore most of the _CRS information. This patch series changes
> this, so we will use _CRS to learn about the host bridge windows.
> Since most x86 machines with multiple host bridges are relatively new, this
> series only turns this on for machines with BIOS dates of 2008 or newer.

I just tried your changes on an IBM x3850 with a 12/01/2008 BIOS
date. After booting without pci=use_crs I observed the expected
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
message. I then loaded 'acpiphp' and was able to successfully
hot-remove and hot-add PCI-X and PCIe cards. Without pci=use_crs
a hot-add operation would have previously caused a machine check.

Tested-by: Gary Hade <>


Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503 IBM T/L: 775-4503

 \ /
  Last update: 2010-02-19 02:01    [W:0.039 / U:4.252 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site