[vfio-users] IGD passthrough on UEFI platforms

Alex Williamson alex.williamson at redhat.com
Wed Jan 3 14:00:39 UTC 2018


On Wed, 3 Jan 2018 10:09:49 +0200
Dmitry Fleytman <dmitry.fleytman at gmail.com> wrote:

> Hello All,
> 
> We're evaluating possibility of using IGD passthrough in legacy mode using Apple laptops, like Macbook Air as a h/w platform.
> 
> Apple laptops are using UEFI boot, according to lspci the options rom is disabled:
> [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
> 
> As a result when trying to launch QEMU IGD passthrough, the following error is encountered:
> qemu-system-x86_64: -device vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2: IGD device 0000:00:02.0 has no ROM, legacy mode disabled
> 
> We tried to supply VBIOS binaries dumped from another platform with the same graphics adaptor, but that did not work either:  “legacy mode disabled” error disappeared but the picture did not show up on the screen.
> 
> Therefore, we would like to ask a number of questions:
> 
>   - What in your opinion would be the best way to make IGD passthrough working on hardware like this?
>   - For UEFI only OSes, like MacOS, what are the missing parts required to support UEFI VM with IGD passthrough?
> 
> Your thoughts are welcome,

You're on the right track with providing a ROM from another system, but
IGD ROMs don't typically "just work", try rom-fixer on it to fix the
device ID and checksum and make sure rom-parser reports a legacy ROM
section:

https://github.com/awilliam/rom-parser

I've made IGD assignment work on a UEFI Lenovo laptop by temporarily
booting a legacy OS, dumping the IGD ROM, booting back to UEFI, fixing
the ROM, then passing it to QEMU via the file option.  Thanks,

Alex




More information about the vfio-users mailing list