blob: e1ecf9c4e1d461c14f8a69dbb053418aca297f73 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
Legacy IGD passthrough in QEMU 5 disabled
Bug with tag v5.0.0, or commit fdd76fecdde1ad444ff4deb7f1c4f7e4a1ef97d6
As of QEMU 5 Legacy IGD PT is no longer working.
Host is a Xeon E3-1226 v3 and my method to test is to run the following:
./qemu-system-x86_64 \
-device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1f' \
-device 'vfio-pci,host=00:02.0,addr=02.0' \
-L '/usr/share/kvm' \
-nographic \
-vga none \
-nodefaults
in the hope of seeing a "IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0" error.
The culprit appears to be this commit:
https://github.com/qemu/qemu/commit/29d62771c81d8fd244a67c14a1d968c268d3fb19
Specifically the following block in pci-quirks.c:
#ifdef CONFIG_VFIO_IGD
vfio_probe_igd_bar4_quirk(vdev, nr);
#endif
as the kconfig variable CONFIG_VFIO_IGD doesn't appear to be available outside of makefiles as described here: https://qemu.weilnetz.de/doc/devel/kconfig.html. I can confirm that the igd code is being pulled in as removing this check, as would defining the variable I presume, makes Legacy IGD PT work again (ie I see the expected "existing devices" error).
I first spotted this in Proxmox, but have confirmed the bug by building QEMU sources.
|