[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