From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39365) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4KTh-0002mA-UQ for qemu-devel@nongnu.org; Sun, 14 Jun 2015 22:50:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4KTc-0003jE-Vx for qemu-devel@nongnu.org; Sun, 14 Jun 2015 22:50:25 -0400 Received: from gate.crashing.org ([63.228.1.57]:34954) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4KTc-0003j7-Mv for qemu-devel@nongnu.org; Sun, 14 Jun 2015 22:50:20 -0400 Message-ID: <1434336608.3803.45.camel@kernel.crashing.org> From: Benjamin Herrenschmidt Date: Mon, 15 Jun 2015 12:50:08 +1000 In-Reply-To: <20150614215955.GA6017@morn.localdomain> References: <5579D4D0.6010906@redhat.com> <20150611192427.GB28252@morn.localdomain> <557AA59E.6050509@redhat.com> <20150612130326.GA3622@morn.localdomain> <557AFE80.4040402@redhat.com> <20150612184009.GA3963@morn.localdomain> <20150614140322-mutt-send-email-mst@redhat.com> <20150614145022.GC10633@morn.localdomain> <20150614195525-mutt-send-email-mst@redhat.com> <1434317958.3803.38.camel@kernel.crashing.org> <20150614215955.GA6017@morn.localdomain> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH V2] pci: fixes to allow booting from extra root pci buses. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: "Michael S. Tsirkin" , seabios@seabios.org, qemu-devel@nongnu.org, Gerd Hoffmann , Marcel Apfelbaum , Laszlo Ersek On Sun, 2015-06-14 at 17:59 -0400, Kevin O'Connor wrote: > There are x86 systems with multiple separate PCI root buses where one > can access the pci config space of all the buses using the same 0x0cf8 > IO space. During system setup, the multiple PCI root buses are each > configured to only respond to PCI config accesses within its range of > bus numbers. So if "root1" is configured for bus ids between 64-128, > then it will only forward the request if the bus id in the request is > between 64-128. > > I suspect in your PPC example that the separate root buses all had > separate io/memory space as well and thus were completely separate. > (That is, they don't share the equivalent of IO 0x0cf8.) If so, > that's different from how the x86 qemu code and the x86 systems I was > discussing above work. Correct, my point is that qemu shouldn't be made to rely on the stable bus numbers. Why not use the mmconfig address instead ? That way you can factor the bus number in via an offset if it's relevant or provide a completely different address if the busses are separate. Ben.