From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7oFw-00020E-MQ for qemu-devel@nongnu.org; Wed, 24 Jun 2015 13:14:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7oFs-0000dn-GH for qemu-devel@nongnu.org; Wed, 24 Jun 2015 13:14:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35523) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7oFs-0000dF-B1 for qemu-devel@nongnu.org; Wed, 24 Jun 2015 13:14:32 -0400 Message-ID: <558AE574.2090104@redhat.com> Date: Wed, 24 Jun 2015 20:14:28 +0300 From: Marcel Apfelbaum MIME-Version: 1.0 References: <1434681617-15539-1-git-send-email-lersek@redhat.com> <1434681617-15539-11-git-send-email-lersek@redhat.com> <20150624171112.GA1998@morn.localdomain> In-Reply-To: <20150624171112.GA1998@morn.localdomain> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v7 10/10] hw/pci-bridge: format special OFW unit address for PXB host List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor , Laszlo Ersek Cc: seabios@seabios.org, qemu-devel@nongnu.org, "Michael S. Tsirkin" On 06/24/2015 08:11 PM, Kevin O'Connor wrote: > On Fri, Jun 19, 2015 at 04:40:17AM +0200, Laszlo Ersek wrote: >> We have agreed that OpenFirmware device paths in the "bootorder" fw_cfg >> file should follow the pattern >> >> /pci@i0cf8,%x/... >> >> for devices that live behind an extra root bus. The extra root bus in >> question is the %x'th among the extra root buses. (In other words, %x >> gives the position of the affected extra root bus relative to the other >> extra root buses, in bus_nr order.) %x starts at 1, and is formatted in >> hex. >> >> The portion of the unit address that comes before the comma is dynamically >> taken from the main host bridge, similarly to sysbus_get_fw_dev_path(). >> >> Cc: Kevin O'Connor >> Cc: Michael S. Tsirkin >> Cc: Marcel Apfelbaum >> Signed-off-by: Laszlo Ersek >> --- >> >> Notes: >> v7: >> - implement the format that both Kevin and Michael agreed with. Example: >> /pci@i0cf8,1/pci-bridge@0/scsi@0/channel@0/disk@0,0 >> - I updated the OVMF patchset accordingly, but I won't post it until >> this QEMU patch is applied >> - Someone please write the SeaBIOS patch > > The associated SeaBIOS patch is below. > > Does anyone have a qemu command line handy to test with the PXB bus? -device pxb,id=bridge1,bus_nr=10 -netdev user,id=u -device e1000,id=net2,bus=bridge1,netdev=u Let me know if you have any issues with it. Thanks, Marcel > > -Kevin > > > --- a/src/boot.c > +++ b/src/boot.c > @@ -112,9 +112,9 @@ build_pci_path(char *buf, int max, const char *devname, struct pci_device *pci) > if (pci->parent) { > p = build_pci_path(p, max, "pci-bridge", pci->parent); > } else { > - if (pci->rootbus) > - p += snprintf(p, max, "/pci-root@%x", pci->rootbus); > p += snprintf(p, buf+max-p, "%s", FW_PCI_DOMAIN); > + if (pci->rootbus) > + p += snprintf(p, buf+max-p, ",%x", pci->rootbus); > } > > int dev = pci_bdf_to_dev(pci->bdf), fn = pci_bdf_to_fn(pci->bdf); >