Hello,
I know about the possibility to set the option ROM of a PCIDevice with the
romfile property (that we can set on command line or in a device's init
method) but is there a way to set it depending on the machine that uses
the device? If this is not currently possible what would be needed to
allow this?
I'm asking because some cards may have different option ROMs on different
platforms: e.g. gfx cards need different ROM on Mac than on PC due to
using different firmware (and CPU arch). For Mac machines emulated by QEMU
OpenBIOS now patches in a driver that it downloads via FW_CFG but it could
use an FCode ROM (or the driver directly passed as the ROM image) instead
which would be a simpler solution and more like how real hardware works.
Also sam460ex firmware has a BIOS emulator for using PC option ROMs but
that can't run QEMU vgabios binaries (as these are i386 real mode and it
can only run x86 real mode) so we may need a way to specify a different
ROM if the card is used in sam460ex.
So I'm looking for a way for board code to set romfile when the device is
added to the board. Should the normal way of setting a property work for
this or is that too late by then to change ROM of the device? (Also this
may need to work together with the -vga option to ensure card has the
right ROM on different machines even if added by -vga.)
Regards,
BALATON Zoltan
- [Qemu-devel] Machine specific option ROMs BALATON Zoltan
-