From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGQ06-0004Cb-CV for qemu-devel@nongnu.org; Tue, 05 Jan 2016 06:42:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aGQ01-0003XB-CK for qemu-devel@nongnu.org; Tue, 05 Jan 2016 06:42:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36353) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGQ01-0003Wv-6Z for qemu-devel@nongnu.org; Tue, 05 Jan 2016 06:42:01 -0500 From: Gerd Hoffmann Date: Tue, 5 Jan 2016 12:41:27 +0100 Message-Id: <1451994098-6972-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH v3 00/11] igd passthrough chipset tweaks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: igvt-g@ml01.01.org, xen-devel@lists.xensource.com, Eduardo Habkost , Stefano Stabellini , Cao jin , vfio-users@redhat.com, Gerd Hoffmann Hi, We have some code in our tree to support pci passthrough of intel graphics devices (igd) on xen, which requires some chipset tweaks for (a) the host bridge and (b) the lpc/isa-bridge to meat the expectations of the guest driver. For kvm we need pretty much the same, also the requirements for vgpu (xengt/kvmgt) are very simliar. This patch wires up the existing support for kvm. It also brings a bunch of bugfixes and cleanups. Unfortunaly the oldish laptop I had planned to use for testing turned out to have no working iommu support for igd, so this patch series still has seen very light testing only. Any testing feedback is very welcome. Testing with kvm/i440fx: Add '-M pc,igd-passthru=on' to turn on the chipset tweaks. Passthrough the igd using vfio. Testing with kvm/q35: Add '-M q35,igd-passthru=on' to turn on the the chipset tweaks. Pick up the linux kernel patch referenced in patch #11, build a custom kernel with it. Passthrough the igd using vfio. Testing with xen: Existing setups should continue working ;) Changes in v3: * Handle igd-passthrough-isa-bridge creation in machine init. * Fix xen build failure. Changes in v2: * Added igd-passthrough-isa-bridge support form kvm. * Added patch to drop has_igd_gfx_passthru. cheers, Gerd Gerd Hoffmann (11): pc: wire up TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE for !xen pc: remove has_igd_gfx_passthru global pc: move igd support code to igd.c igd: switch TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE to realize igd: TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE: call parent realize igd: use defines for standard pci config space offsets igd: revamp host config read igd: add q35 support igd: move igd-passthrough-isa-bridge to igd.c too igd: handle igd-passthrough-isa-bridge setup in realize() igd: move igd-passthrough-isa-bridge creation to machine init hw/i386/pc_piix.c | 130 +++------------------------------ hw/pci-host/Makefile.objs | 3 + hw/pci-host/igd.c | 181 ++++++++++++++++++++++++++++++++++++++++++++++ hw/pci-host/piix.c | 88 ---------------------- hw/pci-host/q35.c | 6 +- hw/xen/xen_pt.c | 14 ---- hw/xen/xen_pt.h | 5 +- include/hw/i386/pc.h | 2 +- vl.c | 10 --- 9 files changed, 204 insertions(+), 235 deletions(-) create mode 100644 hw/pci-host/igd.c -- 1.8.3.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH v3 00/11] igd passthrough chipset tweaks Date: Tue, 5 Jan 2016 12:41:27 +0100 Message-ID: <1451994098-6972-1-git-send-email-kraxel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: vfio-users-bounces-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org Errors-To: vfio-users-bounces-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org To: qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org Cc: igvt-g-y27Ovi1pjclAfugRpC6u6w@public.gmane.org, xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR@public.gmane.org, Eduardo Habkost , Stefano Stabellini , Cao jin , vfio-users-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org List-Id: xen-devel@lists.xenproject.org Hi, We have some code in our tree to support pci passthrough of intel graphics devices (igd) on xen, which requires some chipset tweaks for (a) the host bridge and (b) the lpc/isa-bridge to meat the expectations of the guest driver. For kvm we need pretty much the same, also the requirements for vgpu (xengt/kvmgt) are very simliar. This patch wires up the existing support for kvm. It also brings a bunch of bugfixes and cleanups. Unfortunaly the oldish laptop I had planned to use for testing turned out to have no working iommu support for igd, so this patch series still has seen very light testing only. Any testing feedback is very welcome. Testing with kvm/i440fx: Add '-M pc,igd-passthru=on' to turn on the chipset tweaks. Passthrough the igd using vfio. Testing with kvm/q35: Add '-M q35,igd-passthru=on' to turn on the the chipset tweaks. Pick up the linux kernel patch referenced in patch #11, build a custom kernel with it. Passthrough the igd using vfio. Testing with xen: Existing setups should continue working ;) Changes in v3: * Handle igd-passthrough-isa-bridge creation in machine init. * Fix xen build failure. Changes in v2: * Added igd-passthrough-isa-bridge support form kvm. * Added patch to drop has_igd_gfx_passthru. cheers, Gerd Gerd Hoffmann (11): pc: wire up TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE for !xen pc: remove has_igd_gfx_passthru global pc: move igd support code to igd.c igd: switch TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE to realize igd: TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE: call parent realize igd: use defines for standard pci config space offsets igd: revamp host config read igd: add q35 support igd: move igd-passthrough-isa-bridge to igd.c too igd: handle igd-passthrough-isa-bridge setup in realize() igd: move igd-passthrough-isa-bridge creation to machine init hw/i386/pc_piix.c | 130 +++------------------------------ hw/pci-host/Makefile.objs | 3 + hw/pci-host/igd.c | 181 ++++++++++++++++++++++++++++++++++++++++++++++ hw/pci-host/piix.c | 88 ---------------------- hw/pci-host/q35.c | 6 +- hw/xen/xen_pt.c | 14 ---- hw/xen/xen_pt.h | 5 +- include/hw/i386/pc.h | 2 +- vl.c | 10 --- 9 files changed, 204 insertions(+), 235 deletions(-) create mode 100644 hw/pci-host/igd.c -- 1.8.3.1