[vfio-users] DELL OptiPlex IGD passthrough - option ROM call does not return

Alex Williamson alex.williamson at redhat.com
Mon Aug 28 20:34:17 UTC 2017


On Mon, 28 Aug 2017 14:16:42 -0600
Gert Rosenboom <gertrosenboom at gmail.com> wrote:

> Hi,
> 
> I have been trying to pass through both Skylake and Kaby Lake IGD on a DELL
> OptiPlex Micro PC. Using the seabios monitor, I found that __callrom() in
> roms/seabios/src/optionsroms.c does not return. However, the exact same
> qemu configuration works fine on two other non-DELL PC motherboards with
> identical Skylake and Kaby Lake processors.
> 
> I am on kernel 4.11.1, qemu 2.10.0-rc3 and IGD is the primary and only
> graphics device.
> 
> This is my first post so I am not sure what additional information to
> provide at this point.

My guess would be that the host system is booted in UEFI mode, which
doesn't leave a legacy BIOS option ROM available for the IGD.  Solution
is to boot the host system from a live CD image in CSM mode, dump the
IGD ROM (see https://github.com/awilliam/rom-parser using 0000:00:02.0
as the device), save that ROM somewhere you can get to it later, then
use the rom-fixer half of the above rom-parser to fix the device ID and
checksum of the ROM image (make a backup first).  Then use a line like
<rom bar='on' file='/path/to/file.rom'/> in your XML (as documented at
libvirt.org) to specify the file rather than the device.  Thanks,

Alex




More information about the vfio-users mailing list