[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