From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58320) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZA70E-0006DE-Ge for qemu-devel@nongnu.org; Tue, 30 Jun 2015 21:39:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZA70A-0006or-FL for qemu-devel@nongnu.org; Tue, 30 Jun 2015 21:39:54 -0400 Received: from mga03.intel.com ([134.134.136.65]:26541) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZA70A-0006oc-4e for qemu-devel@nongnu.org; Tue, 30 Jun 2015 21:39:50 -0400 Message-ID: <559344E1.6010206@intel.com> Date: Wed, 01 Jul 2015 09:39:45 +0800 From: "Chen, Tiejun" MIME-Version: 1.0 References: <1433493901-9332-1-git-send-email-tiejun.chen@intel.com> In-Reply-To: <1433493901-9332-1-git-send-email-tiejun.chen@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [v8][RESEND][PATCH 00/10] xen: add Intel IGD passthrough List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mst@redhat.com, pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com Cc: qemu-devel@nongnu.org Ping... Thanks Tiejun On 2015/6/5 16:44, Tiejun Chen wrote: > v8: > > * Rebase on the latest qemu tree > * Cleanup one xen leftover in patch #3 > > v7: > > * Instead of "-gfx_passthru" we'd like to make that a machine > option, "-machine xxx,igd-passthru=on"" > * try to make something as common shared by others like KvmGT in > the future > * Just read those real value from host bridge pci > configuration space when create host bridge then put in dev->config. > > v6: > > * Drop introducing a new machine specific to IGD passthrough > * Try to share some codes from KVM stuff in qemu to retrive VGA BIOS > * Currently IGD drivers always need to access PCH by 1f.0. But we > don't want to poke that directly to get ID, and although in real > world different GPU should have different PCH. But actually the > different PCH DIDs likely map to different PCH SKUs. We do the > same thing for the GPU. For PCH, the different SKUs are going to > be all the same silicon design and implementation, just different > features turn on and off with fuses. The SW interfaces should be > consistent across all SKUs in a given family (eg LPT). But just > same features may not be supported. > > Most of these different PCH features probably don't matter to the > Gfx driver, but obviously any difference in display port connections > will so it should be fine with any PCH in case of passthrough. > > So currently use one PCH version, 0x8c4e, to cover all HSW(Haswell) > scenarios, 0x9cc3 for BDW(Broadwell). > * Drop igd write ops since its fine to emulate that, and we also shrink > those igd read ops as necessary. > * Rebase and cleanup all patches. > > v5: > > * Simplify to make sure its really inherited from the standard one in patch #3 > * Then drop the original patch #3 > > v4: > > * Rebase on latest tree > * Drop patch #2 > * Regenerate patches after Michael introduce patch #1 > * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE() > * Test: boot with a preinstalled winxp > ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc > > v3: > > * Drop patch #4 > * Add one patch #1 from Michael > * Rebase > * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc > > v2: > > * Fix some coding style > * New patch to separate i440fx_init > * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough > * Based on patch #2 to regenerate > * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3 > * Test: boot with a preinstalled ubuntu 14.04 > ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc > > As we discussed we need to create a separate machine to support current > IGD passthrough. > > ---------------------------------------------------------------- > Michael S. Tsirkin (1): > i440fx: make types configurable at run-time > > Tiejun Chen (9): > pc_init1: pass parameters just with types > piix: create host bridge to passthrough > hw/pci-assign: split pci-assign.c > xen, gfx passthrough: basic graphics passthrough support > xen, gfx passthrough: retrieve VGA BIOS to work > igd gfx passthrough: create a isa bridge > xen, gfx passthrough: register a isa bridge > xen, gfx passthrough: register host bridge specific to passthrough > xen, gfx passthrough: add opregion mapping > > hw/core/machine.c | 20 +++ > hw/i386/Makefile.objs | 1 + > hw/i386/kvm/pci-assign.c | 82 +--------- > hw/i386/pc_piix.c | 151 ++++++++++++++++++- > hw/i386/pci-assign-load-rom.c | 93 ++++++++++++ > hw/pci-host/piix.c | 91 +++++++++++- > hw/xen/Makefile.objs | 1 + > hw/xen/xen-host-pci-device.c | 5 + > hw/xen/xen-host-pci-device.h | 1 + > hw/xen/xen_pt.c | 32 ++++ > hw/xen/xen_pt.h | 21 ++- > hw/xen/xen_pt_config_init.c | 51 ++++++- > hw/xen/xen_pt_graphics.c | 272 ++++++++++++++++++++++++++++++++++ > include/hw/boards.h | 1 + > include/hw/i386/pc.h | 8 +- > include/hw/pci/pci-assign.h | 27 ++++ > include/hw/xen/xen.h | 1 + > qemu-options.hx | 3 + > vl.c | 10 ++ > 19 files changed, 780 insertions(+), 91 deletions(-) > create mode 100644 hw/i386/pci-assign-load-rom.c > create mode 100644 hw/xen/xen_pt_graphics.c > create mode 100644 include/hw/pci/pci-assign.h > > Thanks > Tiejun > > >