[SeaBIOS] [RFC 2/2] Add Linux boot code for the fw_cfg dma interface
markmb at redhat.com
Wed Aug 19 17:39:37 CET 2015
On Wed, 19 Aug 2015 19:31:30 +0200
Gerd Hoffmann <kraxel at redhat.com> wrote:
> 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.
Have you looked at the other email thread?:
There's some work missing, but a basic sketch of this ROM problem is
More information about the SeaBIOS