From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f174.google.com ([209.85.217.174]:35182 "EHLO mail-lb0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754021Ab2FSMgm convert rfc822-to-8bit (ORCPT ); Tue, 19 Jun 2012 08:36:42 -0400 Received: by lbbgm6 with SMTP id gm6so5702642lbb.19 for ; Tue, 19 Jun 2012 05:36:40 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Bjorn Helgaas Date: Tue, 19 Jun 2012 06:36:20 -0600 Message-ID: Subject: Re: SNB PCI root information To: Yinghai Lu Cc: Ulrich Drepper , jbarnes@virtuousgeek.org, Linux Kernel Mailing List , lenb@kernel.org, x86@kernel.org, linux-pci@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-pci-owner@vger.kernel.org List-ID: On Mon, Jun 18, 2012 at 5:40 PM, Yinghai Lu wrote: > On Mon, Jun 18, 2012 at 3:30 PM, Ulrich Drepper wrote: >> On Sat, Jun 16, 2012 at 5:56 PM, Bjorn Helgaas wrote: >>> If ACPI provides a perfectly usable generic way to describe this >>> topology and the vendor BIOS doesn't bother to use it, I'm not very >>> interested in trying to compensate for that BIOS deficiency by adding >>> a bunch of non-portable CPU-specific gunk to Linux. >> >> The problem is that all machines get this wrong.  I've tested varies >> models from Dell and HP and none of them have the _PXM entry and the >> local_cpus fields are wrong.  If there is a reasonably sane way to >> compensate for broken BIOSes it should be considered.  We all know how >> good BIOS authors are... > > please check attached one. and  you may append "pci=busnum_node=00:00,80:01" > to change node for root bus. > assume you have two root bus: 00, 80 I'm not opposed to something like this, if people think it's useful. This patch sets the node quite early, before we even look at the _PXM information in pci_acpi_scan_root(). That means if the BIOS does supply a _PXM method and the user gives this argument, the user-supplied info is silently overwritten. To me it would make more sense to handle an option like this *after* we look for _PXM info. That way it could be used to compensate for both missing and incorrect _PXM info.