[SeaBIOS] Marvell 88SE9230 passthrough in KVM takes long time to boot

Konrad Eisele eiselekd at gmail.com
Sun Jul 29 21:43:27 CEST 2018

> You could try playing with the etc/pci-optionrom-exec setting.
> See QEMU's -fw_cfg command line option.  You'll need to pass in a
> binary integer zero or binary integer one to control that setting.
I tried the pci-optionrom-exec option but it has the effect that
the screen stays black:

$dd if=/dev/zero of=/tmp/pci-optionrom-exec bs=1 count=4
$qemu-system-x86_64 -hda testimg.img -cdrom FreeNAS-11.2-BETA1.iso -boot d
-device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0x7 -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -fw_cfg
(the vfio_pci device is 0000:01:00.0 is the SATA card)

There is no seabios version printed out, still the cpu is at 100%. I also
recompiled seabios 1.11 with standard qemu options and disabled
the OPTIONROM config setting. This had the same effect as when
running with pci-optionrom-exec==0 (black screen).

I then recompiled the  seabios 1.11 with the standard qemu options only
copied it to /usr/lib/qemu/bios.bin and changed /usr/bin/kvm (which
libvirtd is calling at boot)
qemu-system-x86_64 -enable-kvm -bios /usr/lib/qemu/bios.bin "$@"
This gave me a workaround:
It seems like the baked in seabios 1.10 sets the SATA card into a state
that even if I start qemu with "-bios /usr/lib/qemu/bios.bin" next time it
will hang.
Never using seabios 1.10 and only seabios 1.11 seems to make it work (no
1min hang)...
Not shure what was wrong in the first place though..
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/seabios/attachments/20180729/36a54ad9/attachment.html>

More information about the SeaBIOS mailing list