On 08/04/2010 12:20 AM, Gerd Hoffmann wrote:
  Hi,

We're already doing bulk data transfer over fw_cfg as we need to do it
to transfer roms and potentially a boot splash.

Why do we need to transfer roms? These are devices on the memory bus or
pci bus, it just needs to be there at the right address.

Indeed.  We do that in most cases.  The exceptions are:

  (1) -M somethingold.  PCI devices don't have a pci rom bar then by
      default because they didn't not have one in older qemu versions,
      so we need some other way to pass the option rom to seabios.

What did we do back then?  before we had the fwcfg interface?

  (2) vgabios.bin.  vgabios needs patches to make loading via pci rom
      bar work (vgabios-cirrus.bin works fine already).  I have patches
      in the queue to do that.

So not an issue.

  (3) roms not associated with a PCI device:  multiboot, extboot,
      -option-rom command line switch, vgabios for -M isapc.

We could lay those out in high memory (4GB-512MB) and have the bios copy them from there. I believe that's what real hardware does - the flash chip is mapped there (the reset vector is at 4GB-16) and shadowed at the end of the 1MB 8086 range.


--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


Reply via email to