On Sun, Jul 29, 2018 at 01:49:10PM +0200, Konrad Eisele wrote:
I'm passing through a Marvell 88SE9230 card to a KVM guest under Ubuntu 18.04. The card is a Sata controller with 4 ports. The option rom of the Marvell 88SE9230 card shows on a normal boot a bios screen. When pressing CTRL-m quick enough, you can interrupt the bootprocess and enter a menue wherer you can define raid arrays.
When booting seabios inside KVM the bootprocess is very slow. There is a 1 min holdtime where the cpu is about 30%. The screen is black with only the seabios version string shown. I suspect that the passed-through Marvell 88SE9230 cards option roms causes this behaviour. Maybe the scanning for option rom cause the slow bootprocess?
In the seabios boot case no bios menue is shown, after around 1 min the boot continues.
Is it possible to disable the options rom processing? Is there some documentation about this (How can I configure it for Ubuntu) ?
Set the romfile option to the empty string (for vfio-pci, on the qemu command line) should do that (qemu will not expose the rom to the guest then).
cheers, Gerd
On Wed, 8 Aug 2018 14:11:16 +0200 Gerd Hoffmann kraxel@redhat.com wrote:
On Sun, Jul 29, 2018 at 01:49:10PM +0200, Konrad Eisele wrote:
I'm passing through a Marvell 88SE9230 card to a KVM guest under Ubuntu 18.04. The card is a Sata controller with 4 ports. The option rom of the Marvell 88SE9230 card shows on a normal boot a bios screen. When pressing CTRL-m quick enough, you can interrupt the bootprocess and enter a menue wherer you can define raid arrays.
When booting seabios inside KVM the bootprocess is very slow. There is a 1 min holdtime where the cpu is about 30%. The screen is black with only the seabios version string shown. I suspect that the passed-through Marvell 88SE9230 cards option roms causes this behaviour. Maybe the scanning for option rom cause the slow bootprocess?
In the seabios boot case no bios menue is shown, after around 1 min the boot continues.
Is it possible to disable the options rom processing? Is there some documentation about this (How can I configure it for Ubuntu) ?
Set the romfile option to the empty string (for vfio-pci, on the qemu command line) should do that (qemu will not expose the rom to the guest then).
Typically rombar=0 on the QEMU command line is how to disable the option ROM for an assigned device, or
<rom bar='off'/>
in libvirt. Thanks,
Alex
+Andrea; comments below
On 08/08/18 23:11, Alex Williamson wrote:
On Wed, 8 Aug 2018 14:11:16 +0200 Gerd Hoffmann kraxel@redhat.com wrote:
On Sun, Jul 29, 2018 at 01:49:10PM +0200, Konrad Eisele wrote:
I'm passing through a Marvell 88SE9230 card to a KVM guest under Ubuntu 18.04. The card is a Sata controller with 4 ports. The option rom of the Marvell 88SE9230 card shows on a normal boot a bios screen. When pressing CTRL-m quick enough, you can interrupt the bootprocess and enter a menue wherer you can define raid arrays.
When booting seabios inside KVM the bootprocess is very slow. There is a 1 min holdtime where the cpu is about 30%. The screen is black with only the seabios version string shown. I suspect that the passed-through Marvell 88SE9230 cards option roms causes this behaviour. Maybe the scanning for option rom cause the slow bootprocess?
In the seabios boot case no bios menue is shown, after around 1 min the boot continues.
Is it possible to disable the options rom processing? Is there some documentation about this (How can I configure it for Ubuntu) ?
Set the romfile option to the empty string (for vfio-pci, on the qemu command line) should do that (qemu will not expose the rom to the guest then).
Typically rombar=0 on the QEMU command line is how to disable the option ROM for an assigned device, or
<rom bar='off'/>
in libvirt. Thanks,
On a tangent:
Not sure about assigned devices, but for emulated devices, romfile='' "scales" better. With rombar=0, the oprom is still loaded into fw_cfg as a "genrom", and if multiple devices of the same type attempt to do that, the genroms will conflict, and QEMU will not launch:
https://bugzilla.redhat.com/show_bug.cgi?id=1425058#c19
For this reason (as well), libvirt now supports a further attribute for the <rom> element, namely @enabled. It maps to the "romfile" property:
https://bugzilla.redhat.com/show_bug.cgi?id=1425058#c34
By now I've updated all my long-term domains that used to specify <rom bar='off'/>, to <rom enabled='no'/>.
Thanks! Laszlo