[SeaBIOS] [Qemu-devel] insmod virtio-blk is broken in qemu 1.0

Richard W.M. Jones rjones at redhat.com
Sat Dec 17 17:35:45 CET 2011


On Sat, Dec 17, 2011 at 10:24:07AM -0600, Anthony Liguori wrote:
> On 12/17/2011 09:25 AM, Richard W.M. Jones wrote:
> >On Sat, Dec 17, 2011 at 09:22:45AM -0600, Anthony Liguori wrote:
> >>I've even further narrowed it down to the presents or lack of '-vga
> >>cirrus'.  If you add '-vga cirrus' to the above command line, the
> >>guest will boot successfully.
> >
> >Confirmed: Adding -vga cirrus to the command line cures it too.
> >
> >That's a strange one :-)
> 
> vga sticks out a bit because it's one of the few places where we
> treat device memory as ram as a performance optimization.
> 
> The only time vga has been touched in between v0.15 and v1.0 was
> during the introduction of the memory API.
> 
> It's this commit:
> 
> commit d67c3f2cd92aed2247bfa8a9da61a902b7b2ff09
> Author: Gerd Hoffmann <kraxel at redhat.com>
> Date:   Wed Aug 10 17:34:13 2011 +0200
> 
>     seabios: update to master
> 
>     commit 8e301472e324b6d6496d8b4ffc66863e99d7a505
> 
>     user visible changes in seabios:
>       * ahci is enabled by default (and thus in this build).
>       * bootorder support for ahci.
>       * two-pass pci allocator (orders bars by size for better packing).
> 
>     Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
> 
> :040000 040000 76eb0c81b76563b55cb2bb5c484ccd48b8cfcded
> 5ec0d65d3a763a5566fe1f4c86269cad6d671020 M	pc-bios
> :040000 040000 a5a7ea6e297c1e7490b0a2c28a06ce56e5be9449
> 78adb664d3ea82f1a4dd5ec239887ac5b0168a7f M	roms
> 
> It can be reproduced by using virtio and -vga none with a number of
> PCI devices.  The line below is what I used to bisect and reproduce
> 100% of the time.  It's a 64-bit Fedora 15 guest.
> 
> $ qemu-system-x86_64 -drive
> file=/home/anthony/images/fedora.img,if=none,snapshot=on,id=hd0
> -device virtio-balloon-pci,addr=03.0 -device
> virtio-blk-pci,addr=04.0,drive=hd0 -kernel
> ~/vmlinuz-2.6.38.6-26.rc1.fc15.x86_64 -initrd
> ~/initramfs-2.6.38.6-26.rc1.fc15.x86_64.img -append
> "root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root
> rd_LVM_LV=VolGroup/lv_swap ro console=ttyS0 selinux=0" -nographic
> -nodefconfig -m 1G -no-reboot -no-hpet -device virtio-serial
> -chardev socket,path=/tmp/foo.sock,id=channel0,server,nowait -device
> virtserialport,chardev=channel0,name=org.libguestfs.channel.0
> -nodefaults -serial stdio -enable-kvm
> 
> My guess it that it has something to do with the changes to the PCI
> allocator. I've confirmed reverting this commit fixes the problem.

Confirmed: reverting this patch fixes it for me.

Note that we suspected this patch before, way back in September:
https://lists.gnu.org/archive/html/qemu-devel/2011-09/msg03830.html

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/



More information about the SeaBIOS mailing list