From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51160) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQgLI-0005v1-1Y for qemu-devel@nongnu.org; Tue, 02 Feb 2016 14:10:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQgLE-0005dJ-Qa for qemu-devel@nongnu.org; Tue, 02 Feb 2016 14:10:23 -0500 Received: from mga11.intel.com ([192.55.52.93]:18826) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQgLE-0005cz-He for qemu-devel@nongnu.org; Tue, 02 Feb 2016 14:10:20 -0500 From: "Kay, Allen M" Date: Tue, 2 Feb 2016 19:10:17 +0000 Message-ID: <003AAFE53969E14CB1F09B6FD68C3CD47BB6CB3B@ORSMSX106.amr.corp.intel.com> References: <1451994098-6972-1-git-send-email-kraxel@redhat.com> <1454009759.7183.7.camel@redhat.com> <003AAFE53969E14CB1F09B6FD68C3CD47BB669D2@ORSMSX106.amr.corp.intel.com> <1454036094.23148.9.camel@redhat.com> <003AAFE53969E14CB1F09B6FD68C3CD47BB67D8B@ORSMSX106.amr.corp.intel.com> In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [iGVT-g] [vfio-users] [PATCH v3 00/11] igd passthrough chipset tweaks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Tian, Kevin" , Alex Williamson , Gerd Hoffmann , "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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVGlhbiwgS2V2aW4NCj4g U2VudDogTW9uZGF5LCBGZWJydWFyeSAwMSwgMjAxNiAxMTowOCBQTQ0KPiBUbzogS2F5LCBBbGxl biBNOyBBbGV4IFdpbGxpYW1zb247IEdlcmQgSG9mZm1hbm47IHFlbXUtZGV2ZWxAbm9uZ251Lm9y Zw0KPiBDYzogaWd2dC1nQG1sMDEuMDEub3JnOyB4ZW4tZGV2ZWxAbGlzdHMueGVuc291cmNlLmNv bTsgRWR1YXJkbyBIYWJrb3N0Ow0KPiBTdGVmYW5vIFN0YWJlbGxpbmk7IENhbyBqaW47IHZmaW8t dXNlcnNAcmVkaGF0LmNvbQ0KPiBTdWJqZWN0OiBSRTogW2lHVlQtZ10gW3ZmaW8tdXNlcnNdIFtQ QVRDSCB2MyAwMC8xMV0gaWdkIHBhc3N0aHJvdWdoIGNoaXBzZXQNCj4gdHdlYWtzDQo+IA0KPiA+ IEZyb206IEtheSwgQWxsZW4gTQ0KPiA+IFNlbnQ6IFNhdHVyZGF5LCBKYW51YXJ5IDMwLCAyMDE2 IDU6NTggQU0NCj4gPg0KPiA+IEZpcnN0IG9mIGFsbCwgSSB3b3VsZCBsaWtlIHRvIGNsYXJpZnkg SSdtIHRhbGtpbmcgYWJvdXQgZ2VuZXJhbCBJR0QNCj4gPiBwYXNzdGhyb3VnaCBjYXNlIC0gbm90 IHNwZWNpZmljIHRvIEtWTUdULiAgSW4gSUdEIHBhc3N0aHJvdWdoDQo+ID4gY29uZmlndXJhdGlv biwgb25lIG9mIHRoZSBmb2xsb3dpbmcgd2lsbCBoYXBwZW4gd2hlbiB0aGUgZHJpdmVyIGFjY2Vz c2VzDQo+IE9wUmVnaW9uOg0KPiA+DQo+ID4gMSkgSWYgdGhlIGh5cGVydmlzb3Igc2V0cyB1cCBP cFJlZ2lvbiBHUEEvSFBBIG1hcHBpbmcsIGVpdGhlciBieQ0KPiA+IHByZS1tYXAgaXQgKGkuZS4g WGVuKSBvciBtYXAgaXQgZHVyaW5nIEVQVCBwYWdlIGZhdWx0IChpLmUuIEtWTSksDQo+ID4gZ3Vl c3QgY2FuIHN1Y2Nlc3NmdWxseSByZWFkIHRoZSBjb250ZW50IG9mIHRoZSBPcFJlZ2lvbiBhbmQg Y2hlY2sgdGhlIElEDQo+IHN0cmluZy4gIEluIHRoaXMgY2FzZSwgZXZlcnl0aGluZyB3b3JrcyBm aW5lLg0KPiA+DQo+ID4gMikgaWYgdGhlIGh5cGVydmlzb3IgZG9lcyBub3Qgc2V0dXAgT3BSZWdp b24gR1BBL0hQQSBtYXBwaW5nIGF0IGFsbCwNCj4gPiB0aGVuIGd1ZXN0IGRyaXZlcidzIGF0dGVt cHQgdG8gc2V0dXAgR1ZBL0dQQSBtYXBwaW5nIHdpbGwgZmFpbCwgd2hpY2gNCj4gPiBjYXVzZXMg dGhlIGRyaXZlciB0byBmYWlsLiAgSW4gdGhpcyBjYXNlLCBndWVzdCBkcml2ZXIgd29uJ3QgaGF2 ZSB0aGUNCj4gPiBvcHBvcnR1bml0eSB0byBsb29rIGludG8gdGhlIGNvbnRlbnQgb2YgT3BSZWdp b24gbWVtb3J5IGFuZCBjaGVjayB0aGUgSUQNCj4gc3RyaW5nLg0KPiA+DQo+IA0KPiBHdWVzdCBt YXBwaW5nIG9mIEdWQS0+R1BBIGNhbiBhbHdheXMgc3VjY2VlZCByZWdhcmRsZXNzIG9mIHdoZXRo ZXINCj4gR1BBLT5IUEEgaXMgdmFsaWQuIEZhaWx1cmUgd2lsbCBoYXBwZW4gb25seSB3aGVuIHRo ZSBHVkEgaXMgYWN0dWFsbHkNCj4gYWNjZXNzZWQgYnkgZ3Vlc3QuDQo+IA0KDQpUaGF0IGlzIHRo ZSBkYXRhIGZyb20gdGVhbSBkZWJ1Z2dlZCBJR0QgcGFzc3Rocm91Z2ggb24gYSBjbG9zZWQgc291 cmNlIGh5cGVydmlzb3IgdGhhdCBkb2VzIG5vdCBtYXAgT3BSZWdpb24gd2l0aCBFUFQuICBUaGUg ZW5kIHJlc3VsdCBpcyB0aGUgc2FtZSAtZHJpdmVyIGNhbm5vdCBhY2Nlc3MgaW5zaWRlIG9mIE9w UmVnaW9uIHdpdGhvdXQgZmFpbGluZy4NCg0KPiBJIGRvbid0IHVuZGVyc3RhbmQgMikuIElmIGh5 cGVydmlzb3IgZG9lc24ndCB3YW50IHRvIHNldHVwIG1hcHBpbmcsIHRoZXJlIGlzDQo+IG5vIGNo YW5jZSBmb3IgZ3Vlc3QgZHJpdmVyIHRvIGdldCBvcHJlZ2lvbiBjb250ZW50LCByaWdodD8NCg0K VGhhdCB3YXMgcHJlY2lzZWx5IHRoZSBwb2ludCBJIHdhcyB0cnlpbmcgdG8gbWFrZS4gIEFzIGEg cmVzdWx0LCBndWVzdCBkcml2ZXIgbmVlZHMgc29tZSBpbmRpY2F0aW9uIGZyb20gdGhlIGh5cGVy dmlzb3IgdGhhdCB0aGUgYWRkcmVzcyBhdCAweEZDIGNvbnRhaW5zIEdQQSB0aGF0IGNhbiBiZSBz YWZlbHkgYWNjZXNzZWQgYnkgdGhlIGRyaXZlciB3aXRob3V0IGNhdXNpbmcgdW5yZWNvdmVyYWJs ZSBmYWlsdXJlIG9uIGh5cGVydmlzb3JzIHRoYXQgZG9lcyBub3QgbWFwIE9wUmVnaW9uIC0gYnkg bGVhdmluZyBIUEEgYWRkcmVzcyBhdCAweEZDLg0KDQpBbGxlbg0K From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kay, Allen M" Subject: Re: [iGVT-g] [PATCH v3 00/11] igd passthrough chipset tweaks Date: Tue, 2 Feb 2016 19:10:17 +0000 Message-ID: <003AAFE53969E14CB1F09B6FD68C3CD47BB6CB3B@ORSMSX106.amr.corp.intel.com> References: <1451994098-6972-1-git-send-email-kraxel@redhat.com> <1454009759.7183.7.camel@redhat.com> <003AAFE53969E14CB1F09B6FD68C3CD47BB669D2@ORSMSX106.amr.corp.intel.com> <1454036094.23148.9.camel@redhat.com> <003AAFE53969E14CB1F09B6FD68C3CD47BB67D8B@ORSMSX106.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US 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: "Tian, Kevin" , Alex Williamson , Gerd Hoffmann , "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 > -----Original Message----- > From: Tian, Kevin > Sent: Monday, February 01, 2016 11:08 PM > To: Kay, Allen M; Alex Williamson; Gerd Hoffmann; 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 > Subject: RE: [iGVT-g] [vfio-users] [PATCH v3 00/11] igd passthrough chipset > tweaks > > > From: Kay, Allen M > > Sent: Saturday, January 30, 2016 5:58 AM > > > > First of all, I would like to clarify I'm talking about general IGD > > passthrough case - not specific to KVMGT. In IGD passthrough > > configuration, one of the following will happen when the driver accesses > OpRegion: > > > > 1) If the hypervisor sets up OpRegion GPA/HPA mapping, either by > > pre-map it (i.e. Xen) or map it during EPT page fault (i.e. KVM), > > guest can successfully read the content of the OpRegion and check the ID > string. In this case, everything works fine. > > > > 2) if the hypervisor does not setup OpRegion GPA/HPA mapping at all, > > then guest driver's attempt to setup GVA/GPA mapping will fail, which > > causes the driver to fail. In this case, guest driver won't have the > > opportunity to look into the content of OpRegion memory and check the ID > string. > > > > Guest mapping of GVA->GPA can always succeed regardless of whether > GPA->HPA is valid. Failure will happen only when the GVA is actually > accessed by guest. > That is the data from team debugged IGD passthrough on a closed source hypervisor that does not map OpRegion with EPT. The end result is the same -driver cannot access inside of OpRegion without failing. > I don't understand 2). If hypervisor doesn't want to setup mapping, there is > no chance for guest driver to get opregion content, right? That was precisely the point I was trying to make. As a result, guest driver needs some indication from the hypervisor that the address at 0xFC contains GPA that can be safely accessed by the driver without causing unrecoverable failure on hypervisors that does not map OpRegion - by leaving HPA address at 0xFC. Allen