[SeaBIOS] [seabios patch 1/5] pci: init all devices

Kevin O'Connor kevin at koconnor.net
Sat May 12 20:16:57 CEST 2012


On Fri, May 04, 2012 at 05:35:10PM +0200, Gerd Hoffmann wrote:
> 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 <kraxel at redhat.com>
> >> ---
> >>  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.

I committed this patch.

-Kevin



More information about the SeaBIOS mailing list