From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wmks5-0006lJ-Jk for qemu-devel@nongnu.org; Tue, 20 May 2014 10:18:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wmkrx-0005DP-Bf for qemu-devel@nongnu.org; Tue, 20 May 2014 10:18:25 -0400 Received: from userp1050.oracle.com ([156.151.31.82]:46119) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wmkrw-0005Ca-6d for qemu-devel@nongnu.org; Tue, 20 May 2014 10:18:17 -0400 Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by userp1050.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s4KDe3Eq012046 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 20 May 2014 13:40:03 GMT Date: Tue, 20 May 2014 09:39:33 -0400 From: Konrad Rzeszutek Wilk Message-ID: <20140520133922.GA3045@localhost.localdomain> References: <1400237624-8505-1-git-send-email-tiejun.chen@intel.com> <1400237624-8505-7-git-send-email-tiejun.chen@intel.com> <20140516143511.GE3154@phenom.dumpdata.com> <20140519133400.GA3152@phenom.dumpdata.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [Xen-devel] [v2][PATCH 6/8] xen, gfx passthrough: support Intel IGD passthrough with VT-D List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Chen, Tiejun" Cc: "peter.maydell@linaro.org" , "xen-devel@lists.xensource.com" , "mst@redhat.com" , "stefano.stabellini@eu.citrix.com" , "Kay, Allen M" , "Kelly.Zytaruk@amd.com" , "qemu-devel@nongnu.org" , "anthony.perard@citrix.com" , "anthony@codemonkey.ws" , "Zhang, Yang Z" On Tue, May 20, 2014 at 05:13:45AM +0000, Chen, Tiejun wrote: > > -----Original Message----- > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] > > Sent: Monday, May 19, 2014 9:34 PM > > To: Zhang, Yang Z > > Cc: Chen, Tiejun; anthony.perard@citrix.com; stefano.stabellini@eu.citrix.com; > > mst@redhat.com; Kelly.Zytaruk@amd.com; peter.maydell@linaro.org; > > xen-devel@lists.xensource.com; weidong.han@intel.com; Kay, Allen M; > > qemu-devel@nongnu.org; jean.guyader@eu.citrix.com; > > anthony@codemonkey.ws > > Subject: Re: [Xen-devel] [v2][PATCH 6/8] xen, gfx passthrough: support Intel > > IGD passthrough with VT-D > > > > On Mon, May 19, 2014 at 12:58:50AM +0000, Zhang, Yang Z wrote: > > > Konrad Rzeszutek Wilk wrote on 2014-05-16: > > > > On Fri, May 16, 2014 at 06:53:42PM +0800, Tiejun Chen wrote: > > > > > Some registers of Intel IGD are mapped in host bridge, so it needs > > > > > to passthrough these registers of physical host bridge to guest > > > > > because emulated host bridge in guest doesn't have these mappings. > > > > > > Thanks for your review for the whole series patch. > > > > Sure thing! > > > > .. snip.. > > > > > +write_default: > > > > > + pci_default_write_config(pci_dev, config_addr, val, len); > > > > > > > > > > > > and we just allow it through. But what happens if the guest decides > > > > to change the BAR sizes? Or fiddle with the GTT? > > > > > > > > Ouch. That really looks dangerous - or maybe I am too paranoid? > > > > > > > > > > I do not quite understand your concern. We only pass through PAVPC to > > physical host bridge. The others are handled by current logic. We don't change > > any of it. So what problem will be exposed by this patch? > > > > Ah, I assumed that pci_default_write_config would be writting everything > > without any checks. But it looks to be doing the right thing and just sets the > > emulated values. > > > > Could we just add comment saying that it writes to the emulated values? That > > way it won't trip folks. > > diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c > index 1342f4f..5e5e3d5 100644 > --- a/hw/xen/xen_pt_graphics.c > +++ b/hw/xen/xen_pt_graphics.c > @@ -367,6 +367,7 @@ void igd_pci_write(PCIDevice *pci_dev, uint32_t config_addr, > case 0x58: /* PAVPC Offset */ > break; > default: > + /* Just sets the emulated values. */ > goto write_default; > } > > @@ -427,6 +428,7 @@ uint32_t igd_pci_read(PCIDevice *pci_dev, uint32_t config_addr, int len) > case 0xa8: /* SNB: base of GTT stolen memory */ > break; > default: > + /* Just gets the emulated values. */ > goto read_default; Thanks! > } > > Thanks > Tiejun