qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled
@ 2020-06-09 14:07 Shak
  2020-06-09 15:23 ` [Bug 1882784] " Thomas Huth
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Shak @ 2020-06-09 14:07 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

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.

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: assign igd quirk

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
@ 2020-06-09 15:23 ` Thomas Huth
  2020-06-09 15:25 ` TheCatFelix
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2020-06-09 15:23 UTC (permalink / raw)
  To: qemu-devel

Hi! That info in kconfig.html is not up to date anymore, we are
generating now #defines for the Kconfig switches. And in my build tree,
I can see:

$ grep CONFIG_VFIO_IGD *-softmmu/*.h
x86_64-softmmu/config-devices.h:#define CONFIG_VFIO_IGD 1

... what's missing in that file is simply a "#include "config-devices.h"
... sorry, that fell somehow through the cracks. I'll prepare a patch
for that.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
  2020-06-09 15:23 ` [Bug 1882784] " Thomas Huth
@ 2020-06-09 15:25 ` TheCatFelix
  2020-06-09 15:46 ` Shak
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: TheCatFelix @ 2020-06-09 15:25 UTC (permalink / raw)
  To: qemu-devel

Looks similar to https://bugs.launchpad.net/qemu/+bug/1879175

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
  2020-06-09 15:23 ` [Bug 1882784] " Thomas Huth
  2020-06-09 15:25 ` TheCatFelix
@ 2020-06-09 15:46 ` Shak
  2020-06-09 19:37 ` Thomas Huth
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Shak @ 2020-06-09 15:46 UTC (permalink / raw)
  To: qemu-devel

Looks the same, although the title was misleading so I missed it.

@Thomas, I used the same patch and verified that it works (I know you
don't pick up patches here but I presume you have your own):

diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
index 2d348f8237..a633df965e 100644
--- a/hw/vfio/pci-quirks.c
+++ b/hw/vfio/pci-quirks.c
@@ -25,6 +25,7 @@
 #include "hw/qdev-properties.h"
 #include "pci.h"
 #include "trace.h"
+#include "config-devices.h"

 /*
  * List of device ids/vendor ids for which to disable

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
                   ` (2 preceding siblings ...)
  2020-06-09 15:46 ` Shak
@ 2020-06-09 19:37 ` Thomas Huth
  2020-06-10  8:03 ` Thomas Huth
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2020-06-09 19:37 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
   Importance: Undecided => High

** Changed in: qemu
       Status: New => Confirmed

** Changed in: qemu
     Assignee: (unassigned) => Thomas Huth (th-huth)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  Confirmed

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
                   ` (3 preceding siblings ...)
  2020-06-09 19:37 ` Thomas Huth
@ 2020-06-10  8:03 ` Thomas Huth
  2020-06-15 11:45 ` Thomas Huth
  2020-08-20 15:09 ` Thomas Huth
  6 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2020-06-10  8:03 UTC (permalink / raw)
  To: qemu-devel

Patch is on the list now:
https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg02567.html

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  Confirmed

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
                   ` (4 preceding siblings ...)
  2020-06-10  8:03 ` Thomas Huth
@ 2020-06-15 11:45 ` Thomas Huth
  2020-08-20 15:09 ` Thomas Huth
  6 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2020-06-15 11:45 UTC (permalink / raw)
  To: qemu-devel

Patch has been included:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=643a4eacef87a318c

** Changed in: qemu
       Status: Confirmed => Fix Committed

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  Fix Committed

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1882784] Re: Legacy IGD passthrough in QEMU 5 disabled
  2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
                   ` (5 preceding siblings ...)
  2020-06-15 11:45 ` Thomas Huth
@ 2020-08-20 15:09 ` Thomas Huth
  6 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2020-08-20 15:09 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1882784

Title:
  Legacy IGD passthrough in QEMU 5 disabled

Status in QEMU:
  Fix Released

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1882784/+subscriptions


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-08-20 15:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-09 14:07 [Bug 1882784] [NEW] Legacy IGD passthrough in QEMU 5 disabled Shak
2020-06-09 15:23 ` [Bug 1882784] " Thomas Huth
2020-06-09 15:25 ` TheCatFelix
2020-06-09 15:46 ` Shak
2020-06-09 19:37 ` Thomas Huth
2020-06-10  8:03 ` Thomas Huth
2020-06-15 11:45 ` Thomas Huth
2020-08-20 15:09 ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).