[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/vfio: Move the IGD quirk code to a separate file

From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] hw/vfio: Move the IGD quirk code to a separate file
Date: Tue, 14 Jan 2020 18:10:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 1/14/20 5:17 PM, Thomas Huth wrote:
The IGD quirk code defines a separate device, the so-called
"vfio-pci-igd-lpc-bridge" which shows up as a user-creatable
device in all QEMU binaries that include the vfio code. This
is a little bit unfortunate for two reasons: First, this device
is completely useless in binaries like qemu-system-s390x.
Second we also would like to disable it in downstream RHEL
which currently requires some extra patches there since the
device does not have a proper Kconfig-style switch yet.

So it would be good if the device could be disabled more easily,
thus let's move the code to a separate file instead and introduce
a proper Kconfig switch for it which gets only enabled by default
if we also have CONFIG_PC_PCI enabled.

Signed-off-by: Thomas Huth <address@hidden>
  hw/vfio/Kconfig       |   5 +
  hw/vfio/Makefile.objs |   1 +
  hw/vfio/igd.c         | 616 ++++++++++++++++++++++++++++++++++++++++++
  hw/vfio/pci-quirks.c  | 614 +----------------------------------------
  hw/vfio/pci.h         |  17 ++
  5 files changed, 642 insertions(+), 611 deletions(-)
  create mode 100644 hw/vfio/igd.c

diff --git a/hw/vfio/Kconfig b/hw/vfio/Kconfig
index f0eaa75ce7..7cdba0560a 100644
--- a/hw/vfio/Kconfig
+++ b/hw/vfio/Kconfig
@@ -36,3 +36,8 @@ config VFIO_AP
      default y
      select VFIO
      depends on LINUX && S390_CCW_VIRTIO
+config VFIO_IGD
+    bool
+    default y if PC_PCI

With the details from Alex here:

I'm tempted to use:

    default y if XEN
    depends on PC_PCI

Watch out the Xen Kconfig seems fragile, yesterday using --enable-xen --disable-tcg I hit this build error:

  LINK    i386-softmmu/qemu-system-i386
/usr/bin/ld: hw/xen/xen_pt.o: in function `xen_igd_passthrough_isa_bridge_create': /home/phil/source/qemu/hw/xen/xen_pt.c:701: undefined reference to `igd_passthrough_isa_bridge_create'

+    depends on VFIO_PCI
diff --git a/hw/vfio/Makefile.objs b/hw/vfio/Makefile.objs
index abad8b818c..9bb1c09e84 100644
--- a/hw/vfio/Makefile.objs
+++ b/hw/vfio/Makefile.objs
@@ -5,3 +5,4 @@ obj-$(CONFIG_VFIO_PLATFORM) += platform.o
  obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o
  obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o
  obj-$(CONFIG_VFIO_AP) += ap.o
+obj-$(CONFIG_VFIO_IGD) += igd.o

reply via email to

[Prev in Thread] Current Thread [Next in Thread]