[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:
https://www.mail-archive.com/address@hidden/msg663667.html
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