[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