From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v6 14/14] x86: extend the map and unmap iommu_ops to support grant references Date: Wed, 12 Sep 2018 16:28:54 +0000 Message-ID: <2517e4e243e148749cf8b1fba2c23fcb@AMSPEX02CL03.citrite.net> References: <20180823094711.21376-1-paul.durrant@citrix.com> <20180823094711.21376-15-paul.durrant@citrix.com> <5B991ED502000078001E7DE3@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g080g-0007e0-8K for xen-devel@lists.xenproject.org; Wed, 12 Sep 2018 16:28:58 +0000 In-Reply-To: <5B991ED502000078001E7DE3@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , Julien Grall , xen-devel , Ian Jackson List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMTIgU2VwdGVtYmVyIDIwMTggMTU6MTMKPiBUbzog UGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiBDYzogSnVsaWVuIEdyYWxs IDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT47IEFuZHJldyBDb29wZXIKPiA8QW5kcmV3LkNvb3BlcjNA Y2l0cml4LmNvbT47IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+OyBHZW9yZ2UKPiBEdW5s YXAgPEdlb3JnZS5EdW5sYXBAY2l0cml4LmNvbT47IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBj aXRyaXguY29tPjsKPiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ OyB4ZW4tZGV2ZWwgPHhlbi0KPiBkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz47IEtvbnJhZCBS emVzenV0ZWsgV2lsawo+IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPjsgVGltIChYZW4ub3JnKSA8 dGltQHhlbi5vcmc+Cj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NiAxNC8xNF0geDg2OiBleHRlbmQg dGhlIG1hcCBhbmQgdW5tYXAgaW9tbXVfb3BzCj4gdG8gc3VwcG9ydCBncmFudCByZWZlcmVuY2Vz Cj4gCj4gPj4+IE9uIDIzLjA4LjE4IGF0IDExOjQ3LCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+ IHdyb3RlOgo+ID4gK2ludAo+ID4gK2FjcXVpcmVfZ3JlZl9mb3JfaW9tbXUoc3RydWN0IGRvbWFp biAqZCwgZ3JhbnRfcmVmX3QgZ3JlZiwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg cmVhZG9ubHksIG1mbl90ICptZm4pCj4gPiArewo+ID4gKyAgICBzdHJ1Y3QgZG9tYWluICpjdXJy ZCA9IGN1cnJlbnQtPmRvbWFpbjsKPiA+ICsgICAgc3RydWN0IGdyYW50X3RhYmxlICpndCA9IGQt PmdyYW50X3RhYmxlOwo+ID4gKyAgICBncmFudF9lbnRyeV9oZWFkZXJfdCAqc2hhaDsKPiA+ICsg ICAgc3RydWN0IGFjdGl2ZV9ncmFudF9lbnRyeSAqYWN0Owo+ID4gKyAgICB1aW50MTZfdCAqc3Rh dHVzOwo+ID4gKyAgICBpbnQgcmM7Cj4gPiArCj4gPiArICAgIGdyYW50X3JlYWRfbG9jayhndCk7 Cj4gPiArCj4gPiArICAgIHJjID0gLUVOT0VOVDsKPiA+ICsgICAgaWYgKCBncmVmID4gbnJfZ3Jh bnRfZW50cmllcyhndCkgKQo+IAo+ID49IChhbHNvIGluIHRoZSByZWxlYXNlIGNvdW50ZXJwYXJ0 KQo+IAoKWWVzLCBnb29kIHBvaW50LgoKPiA+ICsgICAgICAgIGdvdG8gdW5sb2NrOwo+ID4gKwo+ ID4gKyAgICBhY3QgPSBhY3RpdmVfZW50cnlfYWNxdWlyZShndCwgZ3JlZik7Cj4gPiArICAgIHNo YWggPSBzaGFyZWRfZW50cnlfaGVhZGVyKGd0LCBncmVmKTsKPiA+ICsgICAgc3RhdHVzID0gKCBn dC0+Z3RfdmVyc2lvbiA9PSAyICkgPwo+IAo+IFN0cmF5IGJsYW5rcy4gRnVydGhlciBkb3duIGlu IGEgc2ltaWxhciBjb25zdHJ1Y3QgeW91IGV2ZW4gb21pdCB0aGUKPiBwYXJlbnRoZXNlcywgd2hp Y2ggeW91IGNvdWxkIGFzIHdlbGwgZG8gaGVyZSB0b28uIEFnYWluIGFsc28gYmVsb3cuCgpPay4K Cj4gCj4gPiArICAgICAgICAmc3RhdHVzX2VudHJ5KGd0LCBncmVmKSA6Cj4gPiArICAgICAgICAm c2hhaC0+ZmxhZ3M7Cj4gCj4gVGhlIHdob2xlIHRoaW5nIGRvZXMgbm90IGZpdCBvbiBhIGxpbmU/ CgpJJ2xsIGNoZWNrLgoKPiAKPiA+ICsgICAgcmMgPSAtRUFDQ0VTOwo+ID4gKyAgICBpZiAoIChz aGFoLT5mbGFncyAmIEdURl90eXBlX21hc2spICE9IEdURl9wZXJtaXRfYWNjZXNzIHx8Cj4gPiAr ICAgICAgICAgKHNoYWgtPmZsYWdzICYgR1RGX3N1Yl9wYWdlKSApCj4gPiArICAgICAgICBnb3Rv IHJlbGVhc2U7Cj4gCj4gU28gdHJhbnNpdGl2ZSBncmFudHMgYXJlIG9rYXkgZGVzcGl0ZSB0aGVy ZSBiZWluZyBubyBzcGVjaWFsCj4gaGFuZGxpbmcgYW55d2hlcmUgaW4gdGhlIGZ1bmN0aW9uPwo+ IAoKTm8sIHRoZXkgZG8gbmVlZCB0byBiZSBhdm9pZGVkLgoKPiA+ICsgICAgcmMgPSAtRVJBTkdF Owo+ID4gKyAgICBpZiAoIGFjdC0+cGluICYmICgoYWN0LT5kb21pZCAhPSBjdXJyZC0+ZG9tYWlu X2lkKSB8fAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAoYWN0LT5waW4gJiAweDgwODA4MDgw VSkgIT0gMCkgKQo+IAo+IFlvdSB3YW50IHRvIGNoZWNrIG9ubHkgdHdvIG9mIHRoZSBmb3VyIHRv cCBiaXRzLCBhcyB5b3Ugb25seSBhZGQgaW4KPiBHTlRQSU5fZGV2e3Isd31faW5jIGJlbG93Lgo+ IAoKVHJ1ZS4KCj4gPiArICAgICAgICBnb3RvIHJlbGVhc2U7Cj4gPiArCj4gPiArICAgIHJjID0g LUVJTlZBTDsKPiA+ICsgICAgaWYgKCAhYWN0LT5waW4gfHwKPiA+ICsgICAgICAgICAoIXJlYWRv bmx5ICYmICEoYWN0LT5waW4gJiBHTlRQSU5fZGV2d19tYXNrKSkgKSB7Cj4gPiArICAgICAgICBp ZiAoIF9zZXRfc3RhdHVzKGd0LT5ndF92ZXJzaW9uLCBjdXJyZC0+ZG9tYWluX2lkLCByZWFkb25s eSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgMCwgc2hhaCwgYWN0LCBzdGF0dXMpICE9 IEdOVFNUX29rYXkgKQo+ID4gKyAgICAgICAgICAgIGdvdG8gcmVsZWFzZTsKPiA+ICsgICAgfQo+ IAo+IFBsZWFzZSBjb21iaW5lIHRoZSB0d28gaWYoKS1zLgo+IAoKT2suCgo+ID4gKyAgICBpZiAo ICFhY3QtPnBpbiApCj4gPiArICAgIHsKPiA+ICsgICAgICAgIGdmbl90IGdmbiA9IGd0LT5ndF92 ZXJzaW9uID09IDEgPwo+ID4gKyAgICAgICAgICAgIF9nZm4oc2hhcmVkX2VudHJ5X3YxKGd0LCBn cmVmKS5mcmFtZSkgOgo+ID4gKyAgICAgICAgICAgIF9nZm4oc2hhcmVkX2VudHJ5X3YyKGd0LCBn cmVmKS5mdWxsX3BhZ2UuZnJhbWUpOwo+ID4gKyAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFn ZTsKPiA+ICsKPiA+ICsgICAgICAgIHJjID0gIGdldF9wYWdlZF9nZm4oZCwgZ2ZuLCByZWFkb25s eSwgTlVMTCwgJnBhZ2UpOwo+ID4gKyAgICAgICAgaWYgKCByYyApCj4gPiArICAgICAgICAgICAg Z290byBjbGVhcjsKPiA+ICsKPiA+ICsgICAgICAgIGFjdF9zZXRfZ2ZuKGFjdCwgZ2ZuKTsKPiA+ ICsgICAgICAgIGFjdC0+bWZuID0gcGFnZV90b19tZm4ocGFnZSk7Cj4gPiArICAgICAgICBhY3Qt PmRvbWlkID0gY3VycmQtPmRvbWFpbl9pZDsKPiA+ICsgICAgICAgIGFjdC0+c3RhcnQgPSAwOwo+ ID4gKyAgICAgICAgYWN0LT5sZW5ndGggPSBQQUdFX1NJWkU7Cj4gPiArICAgICAgICBhY3QtPmlz X3N1Yl9wYWdlID0gZmFsc2U7Cj4gPiArICAgICAgICBhY3QtPnRyYW5zX2RvbWFpbiA9IGQ7Cj4g PiArICAgICAgICBhY3QtPnRyYW5zX2dyZWYgPSBncmVmOwo+ID4gKyAgICB9Cj4gPiArICAgIGVs c2UKPiA+ICsgICAgewo+ID4gKyAgICAgICAgQVNTRVJUKG1mbl92YWxpZChhY3QtPm1mbikpOwo+ ID4gKyAgICAgICAgaWYgKCAhZ2V0X3BhZ2UobWZuX3RvX3BhZ2UoYWN0LT5tZm4pLCBkKSApCj4g PiArICAgICAgICAgICAgZ290byBjbGVhcjsKPiA+ICsgICAgfQo+IAo+IERvbid0IHlvdSBhbHNv IG5lZWQgdG8gYWxzbyBhY3F1aXJlIGEgd3JpdGUgcmVmIGhlcmUgaWYgIXJlYWRvbmx5Pwo+IAoK WWVzLCBwZXJoYXBzIEkgc2hvdWxkIGRvIGEgZ2V0X3BhZ2VfdHlwZSgpIGluIGlvbW11b3BfbWFw KCkgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwYWdlIGNvbWVzIGZyb20gYSBnZm4gb3IgYSBn cmVmIGxvb2t1cC4KCiAgUGF1bAoKPiBKYW4KPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs