qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Why is SeaBIOS used with -kernel?


From: Kevin O'Connor
Subject: Re: [Qemu-devel] Why is SeaBIOS used with -kernel?
Date: Thu, 31 Mar 2016 18:44:32 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Thu, Mar 31, 2016 at 11:17:30PM +0100, Richard W.M. Jones wrote:
> On Thu, Mar 31, 2016 at 12:22:23PM -0400, Kevin O'Connor wrote:
> > On Thu, Mar 31, 2016 at 10:21:25AM +0100, Stefan Hajnoczi wrote:
> > > On Sat, Mar 19, 2016 at 08:31:24PM +0000, Richard W.M. Jones wrote:
> > > > Is there something I'm missing, or for Linux + -kernel could we use a
> > > > much simpler BIOS?
> > > 
> > > The data that Marc Mari collected when comparing qboot with an optimized
> > > SeaBIOS/QEMU showed that there's no need for a separate "lightweight
> > > firmware" codebase.
> 
> [http://www.seabios.org/pipermail/seabios/2015-July/009554.html]
> 
> The problem is that now we've solved the fw_cfg problem, SeaBIOS is
> again a bottleneck (but one of several, and not the biggest).
> 
> > > https://github.com/bonzini/qboot
> 
> I'm actually comparing this to the extremely minimal BIOS used by
> kvmtool (and hence by Intel Clear Containers).  That "BIOS" (it's
> hardly fair to call it that) contains only a the bare minimum calls
> necessary to service the Linux startup code.  In this scenario Linux
> is memcpy'd into the guest memory and jumped to directly, so there is
> no separate BIOS loading step at all.  The BIOS is only needed because
> Linux startup issues BIOS calls eg to get the e820 memory map and do
> some VGA mode manipulation.

I think you'll find that if you compile out some features from
SeaBIOS, it will be of a similar speed to that "minimal BIOS".  Try
this:

cd /path/to/seabios/
echo -e 
'CONFIG_USB=n\nCONFIG_DRIVES=n\nCONFIG_KEYBOARD=n\nCONFIG_MOUSE=n\nCONFIG_WRITABLE_UPPERMEMORY=y\nCONFIG_TCGBIOS=n\nCONFIG_PIRTABLE=n\nCONFIG_MPTABLE=n\nCONFIG_SMBIOS=n\nCONFIG_ACPI=n\nCONFIG_DEBUG_LEVEL=0'
 > .config
make olddefconfig
make

What time do you get with the above stripped down seabios (the
generated bios is in out/bios.bin)?

[...]
> I'd dearly love to get rid of the sgabios option ROM.  It looks like
> SeaBIOS nearly supports a full serial console now?

Last I checked, one could disable the option rom by adding "-device
VGA,romfile=" to the qemu command line.

-Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]