From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32787) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFLye-00026y-9w for qemu-devel@nongnu.org; Wed, 15 Jul 2015 08:39:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZFLya-0006Qp-9F for qemu-devel@nongnu.org; Wed, 15 Jul 2015 08:39:56 -0400 Received: from smtp.citrix.com ([66.165.176.89]:37158) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFLya-0006PQ-1H for qemu-devel@nongnu.org; Wed, 15 Jul 2015 08:39:52 -0400 Date: Wed, 15 Jul 2015 13:38:44 +0100 From: Stefano Stabellini In-Reply-To: <20150715150129-mutt-send-email-mst@redhat.com> Message-ID: References: <1436938670-7677-1-git-send-email-tiejun.chen@intel.com> <20150715150129-mutt-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Subject: Re: [Qemu-devel] [v10][PATCH 00/10] xen: add Intel IGD passthrough List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: ehabkost@redhat.com, Stefano Stabellini , qemu-devel@nongnu.org, pbonzini@redhat.com, Tiejun Chen , rth@twiddle.net On Wed, 15 Jul 2015, Michael S. Tsirkin wrote: > On Wed, Jul 15, 2015 at 12:46:29PM +0100, Stefano Stabellini wrote: > > Thanks Tiejun, the patch series looks OK to me now. > > > > It looks like it has all the required acks. > > Michael, are you OK with it? If so, should I add it to my queue, or do > > you want to add it to yours? > > I'm OK with the PC bits. Please merge it through your tree. OK. Added to my queue. I'll send it out after 2.4. > > On Wed, 15 Jul 2015, Tiejun Chen wrote: > > > v10: > > > > > > * Don't extern igd_passthrough_isa_bridge_create() in the > > > include/hw/xen/xen.h file. Instead, move inside the > > > include/hw/i386/pc.h file in patch #7 > > > > > > v9: > > > > > > * Rebase on the latest > > > * Inside patch #8, move is_igd_vga_passthrough(dev)) from > > > xen_igd_passthrough_isa_bridge_create() into xen_pt_initfn(). > > > * Inside patch #9, simplify pc_xen_hvm_init_pci() > > > * Michael acked them on pc side > > > * Stefano ackes then on xen side > > > > > > 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 | 139 ++++++++++++++++- > > > 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 | 36 +++++ > > > 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 | 9 +- > > > include/hw/pci/pci-assign.h | 27 ++++ > > > qemu-options.hx | 3 + > > > vl.c | 10 ++ > > > 19 files changed, 773 insertions(+), 92 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 > > > >