[SeaBIOS] [RFC 2/2] Add Linux boot code for the fw_cfg dma interface

Gerd Hoffmann kraxel at redhat.com
Wed Aug 19 17:31:30 CET 2015


On Mi, 2015-08-19 at 09:57 +0200, Marc Marí wrote:
> On Wed, 19 Aug 2015 00:27:54 +0200
> Gerd Hoffmann <kraxel at redhat.com> wrote:
> 
> > On Di, 2015-07-21 at 18:06 +0200, Marc Marí wrote:
> > > It's probably not good to override all the ROM options. Better ways
> > > can be discussed.
> > 
> > source code for the option rom doing linux kernel (and multiboot
> > kernel) boot is in pc-bios/optionrom/ (qemu tree).  Patching that one
> > to use fw_cfg dma if available should get simliar speedups, but
> > without compatiblity issues.
> > 
> 
> The problem with patching the current ROMs, is that they are written in
> assembly. So they would need a complete rewrite in C. Writing a DMA
> guest in assembly I think it is a nightmare (but it can be done, of
> course).

Yes, doesn't look that easy.  Especially when probing for the dma fwcfg
at rumtime.  We could have just two versions of the roms and let qemu
pick the correct one depending in whenever fwcfg dma is enabled or not.

Doing this in seabios looks appealing too as seabios needs the code for
fw_cfg support anyway and it is already written in C.  It needs some
more care through so things like bootorder and pxeboot continue to work.
Maybe seabios could match the rom name (the one which appears in the
boot menu) to figure whenever it should kick a direct kernel boot.

cheers,
  Gerd






More information about the SeaBIOS mailing list