[libvirt] Seabios can't boot from a disk behind i82801b11-bridge device (was Re: [PATCH 6/7] qemu: add dmi-to-pci-bridge controller)

Gerd Hoffmann kraxel at redhat.com
Mon Aug 5 07:19:08 UTC 2013


  Hi,

>> Since pci-bridge devices themselves are not hot-pluggable, any new
>> pci-bridge controller that is added can (and will) be plugged into the
>> dmi-to-pci-bridge as long as it has empty slots available.
> 
> Sigh. (yeah, I know I've been saying that a lot lately :-)
> 
> I've just now figured out that seabios doesn't recognize any disk device
> that is connected anywhere behind the i82801b11-bridge device.

Huh?

> 1) leave this libvirt code as it is, and petition seabios to add support
> for recognizing i82801b11-bridge devices and booting from disks that are
> connected behind them

This one.  It's not that seabios has problems with PCI bridges.  It
finds then, initializes them and maps the devices behind it just fine:

PCI: map device bdf=00:1f.3  bar 4, addr 0000d000, size 00000040 [io]
PCI: map device bdf=00:02.0  bar 1, addr 0000d040, size 00000040 [io]
PCI: map device bdf=00:1f.2  bar 4, addr 0000d080, size 00000020 [io]
PCI: map device bdf=00:02.0  bar 6, addr feb00000, size 00040000 [mem]
PCI: map device bdf=00:02.0  bar 0, addr feb40000, size 00020000 [mem]
PCI: map device bdf=00:01.0  bar 6, addr feb60000, size 00010000 [mem]
PCI: map device bdf=00:1f.2  bar 5, addr feb70000, size 00001000 [mem]
PCI: map device bdf=00:01.0  bar 1, addr feb71000, size 00001000 [mem]
PCI: map device bdf=00:01.0  bar 0, addr fc000000, size 02000000 [prefmem]
PCI: map device bdf=01:00.0  bar 0, addr 0000c000, size 00000040 [io]
PCI: map device bdf=01:00.0  bar 1, addr fea00000, size 00001000 [mem]

It looks more like a simple bug in the virtio code:

found virtio-scsi at 1:0
ERROR: queue size 65535 > 128
fail to find vq for virtio-scsi 1:0

Probably easy to fix, I'll have a look later today.

cheers,
  Gerd




More information about the libvir-list mailing list