Hi, > > For example in qemu 1.5 the nic roms got EFI support and there is a > > compat property which switches the pc-i440fx-1.4 (and older) machine > > types to the non-efi versions. Grep for pxe-e1000.rom to find the code.
Note that roms with a pci firmware standard header[1] can be chained together, then placed in the pci rom bar. This is how the efi-*.rom files are created, they are three-in-one images (bios, efi ia32, efi x64). # file pc-bios/qemu_vga.ndrv pc-bios/qemu_vga.ndrv: header for PowerPC PEF executable Hmm, so that is probably not going to work. > +static GlobalProperty compat[] = { > + { "VGA", "romfile", NDRV_VGA_FILENAME }, > +}; > + compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); I wouldn't name the variable compat (in this specific case it's not for backward compatibility), but yes, this is the idea. > manually. (In the future this same way can also be used to pass proper > FCode ROMs to OpenBIOS.) The image type (pci rom header) can be: Type Description 0 Intel x86, PC-AT compatible 1 Open Firmware standard for PCI 2 Hewlett-Packard PA RISC 3 Extensible Firmware Interface (EFI) 4-FF Reserved So having a single pci rom image with both classic vgabios (type 0) and open firmware fcode (type 1) should be possible. cheers, Gerd [1] http://read.pudn.com/downloads211/doc/comm/994029/pcifw_r3_0_updated.pdf, section 5.1