[vfio-users] IGD Rom file is not anymore readable

Manuel Ullmann ullman.alias at posteo.de
Fri Mar 31 14:59:50 UTC 2017


> Run rom-fixer on your dumped ROM and it will prompt for updating the
> PCI vendor ID, device ID, and checksum.  Use lspci -n to determine the
> correct device ID for your IGD.  Thanks,
>
> Alex
Thanks a lot, that got it back to booting. Would the rom fixer also be
appropriate for fixing ROMs of a dedicated card, which were read by
sysfs (might make GPU-Z usage obsolete for some users)?

> What has changed that you can no longer read the ROM?

Difficult question, I’m quite uncertain. Most likely I have freed some
I/O addresses, that weren’t supposed to be freed.

When I attached a new monitor via DisplayPort, the BIOS ignored the
setting of the primary video port, while the DVI monitor was still
attached. This depends on an enabled legacy (MBR) boot. Eventually I
managed to disable the DVI port signal and thus had to reset BIOS
configuration.

Since VFIO couldn’t get a hand on the IGD on my first tries, until I
freed some I/O addresses labeled BOOTFB with an out-of-tree kernel
module posted in qemu-devel, I had some hardcoded addresses freed before
VM start. Unfortunately the last address changed either by the BIOS
reconfiguration or the different output, so I unintentionally freed a
few addresses of the IGD address space, likely overwriting ROM or other
non-volatile memory permanently. I prefixed the module loading with
iomem parsing afterwards, searching for BOOTFB, but that was too late.

Anyway, I also don’t have BOOTFB addresses anymore and didn’t manage to
get tham back with BIOS configuration changes, so that saves me the
kernel tainting and as long as both i915 and vfio-passthrough work, I’m
satisfied.

Thanks,
Manuel

PS: Sorry, forgot the wide reply.




More information about the vfio-users mailing list