From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WlFmz-0004EQ-Od for qemu-devel@nongnu.org; Fri, 16 May 2014 06:55:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WlFmt-0001aM-L3 for qemu-devel@nongnu.org; Fri, 16 May 2014 06:54:57 -0400 Received: from mga01.intel.com ([192.55.52.88]:37873) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WlFmt-0001a9-Fw for qemu-devel@nongnu.org; Fri, 16 May 2014 06:54:51 -0400 From: Tiejun Chen Date: Fri, 16 May 2014 18:53:36 +0800 Message-Id: <1400237624-8505-1-git-send-email-tiejun.chen@intel.com> Subject: [Qemu-devel] [v2][PATCH 0/8] xen: add Intel IGD passthrough support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: anthony.perard@citrix.com, stefano.stabellini@eu.citrix.com, mst@redhat.com, Kelly.Zytaruk@amd.com Cc: peter.maydell@linaro.org, xen-devel@lists.xensource.com, weidong.han@intel.com, allen.m.kay@intel.com, qemu-devel@nongnu.org, jean.guyader@eu.citrix.com, anthony@codemonkey.ws, yang.z.zhang@Intel.com v2: * rebase on current qemu tree. * retrieve VGA bios from sysfs properly. * redefine some function name. * introduce bitmap to manage registe/runregister pci dev, and provide a common way to reserve some specific devfn. * introduce is_igd_passthrough() to make sure we touch physical host bridge only in IGD case. * We should return zero as an invalid address value while calling igd_read_opregion(). Additionally, now its also not necessary to recompile seabios with some extra steps like v1. The following patches are ported partially from Xen Qemu-traditional branch which are adding Intel IGD passthrough supporting to Qemu upstream. To pass through IGD to guest, user need to add following lines in Xen config file: gfx_passthru=1 pci=['00:02.0 2'] Now successfully boot Ubuntu 14.04 guests with IGD assigned in Haswell desktop with Latest Xen + Qemu upstream. ---------------------------------------------------------------- Tiejun Chen (5): pci: use bitmap to manage registe/runregister pci device pci: provide a way to reserve some specific devfn xen, gfx passthrough: reserve 00:02.0 for INTEL IGD xen, gfx passthrough: create intel isa bridge xen, gfx passthrough: create host bridge to passthrough Yang Zhang (3): xen, gfx passthrough: basic graphics passthrough support xen, gfx passthrough: support Intel IGD passthrough with VT-D xen, gfx passthrough: add opregion mapping hw/pci-host/piix.c | 64 ++++++++++++++++++++- hw/pci/pci.c | 23 +++++++- hw/xen/Makefile.objs | 2 +- hw/xen/xen-host-pci-device.c | 5 ++ hw/xen/xen-host-pci-device.h | 1 + hw/xen/xen_pt.c | 10 ++++ hw/xen/xen_pt.h | 12 +++- hw/xen/xen_pt_config_init.c | 45 ++++++++++++++- hw/xen/xen_pt_graphics.c | 435 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/hw/pci/pci.h | 1 + include/hw/pci/pci_bus.h | 1 + qemu-options.hx | 9 +++ vl.c | 11 +++- 13 files changed, 612 insertions(+), 7 deletions(-) create mode 100644 hw/xen/xen_pt_graphics.c Thanks Tiejun From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tiejun Chen Subject: [v2][PATCH 0/8] xen: add Intel IGD passthrough support Date: Fri, 16 May 2014 18:53:36 +0800 Message-ID: <1400237624-8505-1-git-send-email-tiejun.chen@intel.com> Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org To: anthony.perard@citrix.com, stefano.stabellini@eu.citrix.com, mst@redhat.com, Kelly.Zytaruk@amd.com Cc: peter.maydell@linaro.org, xen-devel@lists.xensource.com, weidong.han@intel.com, allen.m.kay@intel.com, qemu-devel@nongnu.org, jean.guyader@eu.citrix.com, anthony@codemonkey.ws, yang.z.zhang@Intel.com List-Id: xen-devel@lists.xenproject.org v2: * rebase on current qemu tree. * retrieve VGA bios from sysfs properly. * redefine some function name. * introduce bitmap to manage registe/runregister pci dev, and provide a common way to reserve some specific devfn. * introduce is_igd_passthrough() to make sure we touch physical host bridge only in IGD case. * We should return zero as an invalid address value while calling igd_read_opregion(). Additionally, now its also not necessary to recompile seabios with some extra steps like v1. The following patches are ported partially from Xen Qemu-traditional branch which are adding Intel IGD passthrough supporting to Qemu upstream. To pass through IGD to guest, user need to add following lines in Xen config file: gfx_passthru=1 pci=['00:02.0 2'] Now successfully boot Ubuntu 14.04 guests with IGD assigned in Haswell desktop with Latest Xen + Qemu upstream. ---------------------------------------------------------------- Tiejun Chen (5): pci: use bitmap to manage registe/runregister pci device pci: provide a way to reserve some specific devfn xen, gfx passthrough: reserve 00:02.0 for INTEL IGD xen, gfx passthrough: create intel isa bridge xen, gfx passthrough: create host bridge to passthrough Yang Zhang (3): xen, gfx passthrough: basic graphics passthrough support xen, gfx passthrough: support Intel IGD passthrough with VT-D xen, gfx passthrough: add opregion mapping hw/pci-host/piix.c | 64 ++++++++++++++++++++- hw/pci/pci.c | 23 +++++++- hw/xen/Makefile.objs | 2 +- hw/xen/xen-host-pci-device.c | 5 ++ hw/xen/xen-host-pci-device.h | 1 + hw/xen/xen_pt.c | 10 ++++ hw/xen/xen_pt.h | 12 +++- hw/xen/xen_pt_config_init.c | 45 ++++++++++++++- hw/xen/xen_pt_graphics.c | 435 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/hw/pci/pci.h | 1 + include/hw/pci/pci_bus.h | 1 + qemu-options.hx | 9 +++ vl.c | 11 +++- 13 files changed, 612 insertions(+), 7 deletions(-) create mode 100644 hw/xen/xen_pt_graphics.c Thanks Tiejun