On 05/04/12 15:15, Kevin O'Connor wrote: > On Fri, May 04, 2012 at 10:21:23AM +0200, Gerd Hoffmann wrote: >> seabios used to initialize root bus devices only, with this patch >> devices behind pci bridges are initialized too. This allows to boot >> from virtio devices behind pci bridges. >> >> Signed-off-by: Gerd Hoffmann >> --- >> src/pciinit.c | 3 --- >> 1 files changed, 0 insertions(+), 3 deletions(-) >> >> diff --git a/src/pciinit.c b/src/pciinit.c >> index 25b04ac..6a7a0d2 100644 >> --- a/src/pciinit.c >> +++ b/src/pciinit.c >> @@ -213,9 +213,6 @@ static void pci_bios_init_devices(void) >> { >> struct pci_device *pci; >> foreachpci(pci) { >> - if (pci_bdf_to_bus(pci->bdf) != 0) >> - // Only init devices on host bus. >> - break; > > I think this will then assign an incorrect PCI_INTERRUPT_LINE value to > non root bus devices. Attached patch should fix it if I read the specs correctly. Untested though, review appreciated. cheers, Gerd