On Mi, 2015-08-19 at 09:57 +0200, Marc MarĂ wrote:
On Wed, 19 Aug 2015 00:27:54 +0200 Gerd Hoffmann kraxel@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