On Thu, Jun 11, 2015 at 03:41:35PM +0300, Marcel Apfelbaum wrote: > 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. > > Signed-off-by: Marcel Apfelbaum <mar...@redhat.com>
I would like a unit test for various paths, they are part of guest ABI so we can never change them. Could you add a unit test please? Also can you please quote the open firmware spec text that says this is the correct format? > --- > Laszlo worked on supporting pxb for OVMF and discovered > that there is a problem when booting devices from a PXB. > > This is a link to the latest QEMU series: > https://www.mail-archive.com/qemu-devel@nongnu.org/msg302493.html > > Thanks, > Marcel > > src/boot.c | 1 - > src/hw/pci.c | 2 +- > 2 files changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/boot.c b/src/boot.c > index ec59c37..a3bb13b 100644 > --- a/src/boot.c > +++ b/src/boot.c > @@ -114,7 +114,6 @@ build_pci_path(char *buf, int max, const char *devname, > struct pci_device *pci) > } else { > if (pci->rootbus) > p += snprintf(p, max, "/pci-root@%x", pci->rootbus); > - p += snprintf(p, buf+max-p, "%s", FW_PCI_DOMAIN); > } > > int dev = pci_bdf_to_dev(pci->bdf), fn = pci_bdf_to_fn(pci->bdf); > diff --git a/src/hw/pci.c b/src/hw/pci.c > index 0379b55..9e77af4 100644 > --- a/src/hw/pci.c > +++ b/src/hw/pci.c > @@ -133,7 +133,7 @@ pci_probe_devices(void) > if (bus != lastbus) > rootbuses++; > lastbus = bus; > - rootbus = rootbuses; > + rootbus = bus; > if (bus > MaxPCIBus) > MaxPCIBus = bus; > } else { > -- > 2.1.0