From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58705) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z33aW-0006dH-Lr for qemu-devel@nongnu.org; Thu, 11 Jun 2015 10:36:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z33aT-00044e-GL for qemu-devel@nongnu.org; Thu, 11 Jun 2015 10:36:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z33aT-000431-5I for qemu-devel@nongnu.org; Thu, 11 Jun 2015 10:36:09 -0400 Message-ID: <55799CD6.1060506@redhat.com> Date: Thu, 11 Jun 2015 17:36:06 +0300 From: Marcel Apfelbaum MIME-Version: 1.0 References: <1434029828-31954-1-git-send-email-marcel@redhat.com> <20150611135841.GA7998@morn.localdomain> <55799751.1030904@redhat.com> <20150611142425.GA10763@morn.localdomain> In-Reply-To: <20150611142425.GA10763@morn.localdomain> Content-Type: text/plain; charset=windows-1252; format=flowed 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: seabios@seabios.org, lersek@redhat.com, qemu-devel@nongnu.org, mst@redhat.com On 06/11/2015 05:24 PM, Kevin O'Connor wrote: > On Thu, Jun 11, 2015 at 05:12:33PM +0300, Marcel Apfelbaum wrote: >> On 06/11/2015 04:58 PM, Kevin O'Connor wrote: >>> On Thu, Jun 11, 2015 at 04:37:08PM +0300, Marcel Apfelbaum wrote: >>>> The fixes solves the following issue: >>>> The PXB device exposes a new pci root bridge with the >>>> fw path: /pci-root@4/..., in which 4 is the root bus number. >>>> Before this patch the fw path was wrongly computed: >>>> /pci-root@1/pci@i0cf8/... >>>> Fix the above issues: Correct the bus number and remove the >>>> extra host bridge description. >>> >>> Why is that wrong? The previous path looks correct to me. >> The prev path includes both the extra root bridge and *then* the usual host bridge. >> /pci-root@1/pci@i0cf8/ ... >> ^ new ^ regular ^ devices >> >> Since the new pci root bridge (and bus) is on "paralel" with the regular one. >> it is not correct to add it to the path. >> >> The architecture is: >> //devices... >> /extra root bridge/devices... >> /extra root bridge/devices... >> And not >> /extra root bridge///devices > > Your patch changed both the "/extra root bridge/devices..." part and > the "@1" part. The change of the "@1" in "/pci-root@1/" is not > correct IMO. Why? @1 should be the unit address which is the text representation of the physical address, in our case the slot. Since the bus number in our case is 4, I think /pci-root@4/ is the 'correct' address. > > Does open-firmware have any examples for PCI paths and in particular > PCI paths when there are multiple root-buses? Maybe Laszlo can say more, but we both agreed that this would be the berst representation of extra root buses on both OVMF and Seabios. > > It's possible to replace the "pci@i0cf8" with "pci-root@1" but that > seems odd as the extra root bus is accessible via io accesses to > 0x0cf8. While this is true, /pci-root@[...]/ may represent also other kind of host bridges not only PXBs. But we can change this of course, as long as OVMF can also work with it. > > Another option would be to place the pci-root@1 behind the pci@i0cf8 > as in "/pci@i0cf8/pci-root@1/...". Or, the root bus could be appended > to the host bridge as in "/pci@i0cf8,1/...". The latest representation makes sense to me, but "/pci@i0cf8,4/...", after comma the bus number. Laszlo, will this work for OVMF? Thanks, Marcel > > -Kevin >