Hi,
Basically, if there is some way for SeaBIOS to walk a list of "files" in the "qemu cfg" space, then it should be straight forward to enhance the existing code in seabios to extract and deploy roms in addition to those found in the PCI bar.
I think using fw_config is the only sane way to make it work, especially in case we switch vga bios load to pci bar too.
base address for vga bios is 0xc0000 base address for option roms is 0xc8000
If the vga bios is larger than 0x08000 bytes then the first option rom has to be loaded at a higher address. Which is actually the case, check 'info roms':
addr=00000000000c0000 size=0x008c00 mem=ram name="vgabios-cirrus.bin" addr=00000000000c9000 size=0x00dc00 mem=ram name="pxe-virtio.bin" addr=00000000fffe0000 size=0x020000 mem=rom name="bios.bin"
Thus having qemu load -- say -- linuxboot.bin and seabios load vgabios-cirrus.bin and pxe-virtio.bin simply isn't going to work. qemu has no idea what address linuxboot.bin can be loaded at (without introducing dirty hacks).
cheers, Gerd