[vfio-users] How does bios rom file work?

Nick S nick.kvmhv at gmail.com
Sat Jan 6 23:27:00 UTC 2018


I realized that I don't quite understand how does the ROM file that we can
pass in QEMU command line work. I have three cards of the same model but
coming from the different vendors. When I extract ROMs from these cards, I
get different files. The card on the boot slot gives a much smaller file
and other two cards give files of slightly different sizes:

-rw-rw-r--  1 nick nick 118784 Dec 14 21:53 vbiosrx480_03.rom
-rw-rw-r--  1 nick nick  58880 Dec 14 21:53 vbiosrx480_04.rom
-rw-rw-r--  1 nick nick 118272 Dec 14 19:57 vbiosrx480_06.rom

I am also seeing the following error in dmesg:
[Sat Jan  6 09:26:58 2018] vfio-pci 0000:04:00.0: Invalid PCI ROM header
signature: expecting 0xaa55, got 0xffff
[Sat Jan  6 09:26:58 2018] vfio-pci 0000:04:00.0: Invalid PCI ROM header
signature: expecting 0xaa55, got 0xffff

But other than that the card actually works without issues. So, the
questions I have are:

1) What is the significance of this ROM file and why is it needed?
2) What would happen if I apply some changes to it? For example, I can edit
it in Polaris bios editor. If I change the memory timings and use that
changed file, will it take effect when this GPU is assigned to a VM or
would the actual flashed bios take precedence?
3) What should I expect if I use bios from one maker of, say, Radeon 480 RX
on the same model another maker (i.e. Sapphire vs AMD)?

Thank you,
Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20180106/39712ba9/attachment.htm>


More information about the vfio-users mailing list