From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH 2/7] iommu: make use of type-safe BFN and MFN in exported functions Date: Fri, 16 Mar 2018 10:26:08 +0000 Message-ID: <2ba06491433e443d9d225de95094d311@AMSPEX02CL03.citrite.net> References: <20180212104714.1922-1-paul.durrant@citrix.com> <20180212104714.1922-3-paul.durrant@citrix.com> <5AAAA30A02000078001B2447@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewmZ0-0005w8-Uk for xen-devel@lists.xenproject.org; Fri, 16 Mar 2018 10:26:18 +0000 In-Reply-To: <5AAAA30A02000078001B2447@prv-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: Kevin Tian , Stefano Stabellini , Wei Liu , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , Julien Grall , Jun Nakajima , "xen-devel@lists.xenproject.org" , Ian Jackson List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMTUgTWFyY2ggMjAxOCAxNTo0NQo+IFRvOiBQYXVs IER1cnJhbnQgPFBhdWwuRHVycmFudEBjaXRyaXguY29tPgo+IENjOiBKdWxpZW4gR3JhbGwgPGp1 bGllbi5ncmFsbEBhcm0uY29tPjsgQW5kcmV3IENvb3Blcgo+IDxBbmRyZXcuQ29vcGVyM0BjaXRy aXguY29tPjsgV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT47IEdlb3JnZQo+IER1bmxhcCA8 R2VvcmdlLkR1bmxhcEBjaXRyaXguY29tPjsgSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGNpdHJp eC5jb20+Owo+IEp1biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT47IEtldmluIFRp YW4KPiA8a2V2aW4udGlhbkBpbnRlbC5jb20+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxs aW5pQGtlcm5lbC5vcmc+OyB4ZW4tCj4gZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IEtvbnJh ZCBSemVzenV0ZWsgV2lsawo+IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPjsgVGltIChYZW4ub3Jn KSA8dGltQHhlbi5vcmc+Cj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzddIGlvbW11OiBtYWtlIHVz ZSBvZiB0eXBlLXNhZmUgQkZOIGFuZCBNRk4gaW4KPiBleHBvcnRlZCBmdW5jdGlvbnMKPiAKPiA+ Pj4gT24gMTIuMDIuMTggYXQgMTE6NDcsIDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4gd3JvdGU6 Cj4gPiBUaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBkZWNsYXJhdGlvbiBvZiB0aGUgZW50cnkgcG9p bnRzIHRvIHRoZSBJT01NVQo+ID4gc3ViLXN5c3RlbSB0byB1c2UgYmZuX3QgYW5kIG1mbl90IGlu IHBsYWNlIG9mIHVuc2lnbmVkIGxvbmcuIEEKPiBzdWJzZXF1ZW50Cj4gPiBwYXRjaCB3aWxsIHNp bWlsYXJseSBtb2RpZnkgdGhlIG1ldGhvZHMgaW4gdGhlIGlvbW11X29wcyBzdHJ1Y3R1cmUuCj4g Pgo+ID4gTk9URTogU2luY2UgKHdpdGggdGhpcyBwYXRjaCBhcHBsaWVkKSBiZm5fdCBpcyBub3cg aW4gdXNlLCB0aGUgcGF0Y2ggYWxzbwo+ID4gICAgICAgaW50cm9kdWNlcyB0aGUgJ2NzY29wZS9n cmVwIGZvZGRlcicgdG8gYWxsb3cgdGhlIHR5cGUgZGVjbGFyYXRpb24gdG8KPiA+ICAgICAgIGJl IGVhc2lseSBmb3VuZC4KPiAKPiBBaCwgaGVyZSB3ZSBnby4gQnV0IEkgY29udGludWUgdG8gdGhp bmsgdGhpcyBiZWxvbmcgaW4gcGF0Y2ggMS4KPiAKCk9rLiBJIGRlYmF0ZWQgaXQgd2l0aCBteXNl bGYgd2hlbiBJIHdyb3RlIHRoZSBvcmlnaW5hbCBwYXRjaGVzLiBJJ2xsIG1vdmUgdGhlIHJlbGV2 YW50IGh1bmtzLgoKPiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCj4gPiArKysgYi94ZW4vYXJj aC94ODYvbW0uYwo+ID4gQEAgLTI2NzYsMTMgKzI2NzYsMTIgQEAgc3RhdGljIGludCBfZ2V0X3Bh Z2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvCj4gKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKPiA+ ICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQgPSBwYWdlX2dldF9vd25lcihwYWdlKTsKPiA+ICAg ICAgICAgIGlmICggZCAmJiBpc19wdl9kb21haW4oZCkgJiYgdW5saWtlbHkobmVlZF9pb21tdShk KSkgKQo+ID4gICAgICAgICAgewo+ID4gLSAgICAgICAgICAgIGdmbl90IGdmbiA9IF9nZm4obWZu X3RvX2dtZm4oZCwgbWZuX3gocGFnZV90b19tZm4ocGFnZSkpKSk7Cj4gPiArICAgICAgICAgICAg YmZuX3QgYmZuID0gX2JmbihtZm5fdG9fZ21mbihkLCBtZm5feChwYWdlX3RvX21mbihwYWdlKSkp KTsKPiA+Cj4gPiAgICAgICAgICAgICAgaWYgKCAoeCAmIFBHVF90eXBlX21hc2spID09IFBHVF93 cml0YWJsZV9wYWdlICkKPiA+IC0gICAgICAgICAgICAgICAgaW9tbXVfcmV0ID0gaW9tbXVfdW5t YXBfcGFnZShkLCBnZm5feChnZm4pKTsKPiA+ICsgICAgICAgICAgICAgICAgaW9tbXVfcmV0ID0g aW9tbXVfdW5tYXBfcGFnZShkLCBiZm4pOwo+ID4gICAgICAgICAgICAgIGVsc2UgaWYgKCB0eXBl ID09IFBHVF93cml0YWJsZV9wYWdlICkKPiA+IC0gICAgICAgICAgICAgICAgaW9tbXVfcmV0ID0g aW9tbXVfbWFwX3BhZ2UoZCwgZ2ZuX3goZ2ZuKSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWZuX3gocGFnZV90b19tZm4ocGFnZSkpLAo+ID4gKyAgICAg ICAgICAgICAgICBpb21tdV9yZXQgPSBpb21tdV9tYXBfcGFnZShkLCBiZm4sIHBhZ2VfdG9fbWZu KHBhZ2UpLAo+IAo+IEFsb25nIHRoZSBsaW5lcyBvZiB3aGF0IEkndmUgc2FpZCBlYXJsaWVyIGFi b3V0IG1peGluZyBhZGRyZXNzIHNwYWNlcywKPiB0aGlzIHdvdWxkIHBlcmhhcHMgbm90IHNvIG11 Y2ggbmVlZCBhIGNvbW1lbnQgKGl0J3MgYSAxOjEgbWFwcGluZwo+IGFmdGVyIGFsbCksIGJ1dCBy YXRoZXIgbWFraW5nIG1vcmUgb2J2aW91cyB0aGF0IGl0J3MgYSAxOjEgbWFwcGluZy4KPiBUaGlz IGluIHBhcnRpY3VsYXIgd291bGQgbWVhbiB0byBtZSB0byBsYXRjaCBwYWdlX3RvX21mbihwYWdl KSBpbnRvCj4gYSAobmV1dHJhbGx5IG5hbWVkLCBlLmcuICJmcmFtZSIpIGxvY2FsIHZhcmlhYmxl LCBhbmQgdXNlIHRoZSByZXN1bHQgaW4KPiBhIHdheSB0aGF0IG1ha2VzIG9idmlvdXNseSBlc3Bl Y2lhbGx5IG9uIHRoZSAibWFwIiBwYXRoIHRoYXQgdGhpcwo+IHJlYWxseSByZXF1ZXN0cyBhIDE6 MSBtYXBwaW5nLiBCeSBpbXBsaWNhdGlvbiBmcm9tIHRoZSAxOjEgbWFwcGluZwo+IGl0J2xsIHRo ZW4gKGhvcGVmdWxseSkgYmUgY2xlYXIgdG8gdGhlIHJlYWRlciB0aGF0IHdoaWNoIGV4YWN0IG5h bWUKPiBzcGFjZSBpcyB1c2VkIGRvZXNuJ3QgcmVhbGx5IG1hdHRlci4KCk9rLCBJJ2xsIHJlLXBo cmFzZSB0aGluZ3MgaW4gdjIuCgo+IAo+ID4gLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQu Ywo+ID4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwo+ID4gQEAgLTg3MywxMiArODcz LDE0IEBAIG91dDoKPiA+ICAgICAgICAgICAgICBpZiAoIGlvbW11X2ZsYWdzICkKPiA+ICAgICAg ICAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApCj4gPiAgICAg ICAgICAgICAgICAgIHsKPiA+IC0gICAgICAgICAgICAgICAgICAgIHJjID0gaW9tbXVfbWFwX3Bh Z2UoZCwgZ2ZuICsgaSwgbWZuX3gobWZuKSArIGksIGlvbW11X2ZsYWdzKTsKPiA+ICsgICAgICAg ICAgICAgICAgICAgIHJjID0gaW9tbXVfbWFwX3BhZ2UoZCwgX2JmbihnZm4gKyBpKSwgbWZuX2Fk ZChtZm4sIGkpLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp b21tdV9mbGFncyk7Cj4gPiAgICAgICAgICAgICAgICAgICAgICBpZiAoIHVubGlrZWx5KHJjKSAp Cj4gPiAgICAgICAgICAgICAgICAgICAgICB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg d2hpbGUgKCBpLS0gKQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJZiBzdGF0 ZW1lbnQgdG8gc2F0aXNmeSBfX211c3RfY2hlY2suICovCj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlmICggaW9tbXVfdW5tYXBfcGFnZShwMm0tPmRvbWFpbiwgZ2ZuICsgaSkgKQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGlvbW11X3VubWFwX3BhZ2UocDJt LT5kb21haW4sCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfYmZuKGdmbiArIGkpKSApCj4gCj4gVGhlIGZ1bmRhbWVudGFsIGlzc3VlIG9mIG1p eGVkIGFkZHJlc3Mgc3BhY2VzIGNvbnRpbnVlcyAuLi4KPiAKCkknbGwgYWRkIGFwcHJvcHJpYXRl bHkgYW4gYXBwcm9wcmlhdGVseSBuYW1lZCBzdGFjayB2YXJpYWJsZS4KCj4gPiBAQCAtNzgxLDE0 ICs3ODEsMTQgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFpbiAqZCwKPiBn Zm5fdCBnZm4sIG1mbl90IG1mbiwKPiA+ICAgICAgICAgIHsKPiA+ICAgICAgICAgICAgICBmb3Ig KCBpID0gMDsgaSA8ICgxIDw8IHBhZ2Vfb3JkZXIpOyBpKysgKQo+ID4gICAgICAgICAgICAgIHsK PiA+IC0gICAgICAgICAgICAgICAgcmMgPSBpb21tdV9tYXBfcGFnZShkLCBtZm5feChtZm5fYWRk KG1mbiwgaSkpLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl94 KG1mbl9hZGQobWZuLCBpKSksCj4gPiArICAgICAgICAgICAgICAgIHJjID0gaW9tbXVfbWFwX3Bh Z2UoZCwgX2JmbihtZm5feChtZm4pICsgaSksCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWZuX2FkZChtZm4sIGkpLAo+IAo+IFBsZWFzZSBjaGVjayB3aGV0aGVyIHNv bWUgbGluZSB3cmFwcGluZyBjYW4gbm93IGJlIGF2b2lkZWQsIGxpa2UKPiBhcHBhcmVudGx5IGhl cmUuCj4gCgpPay4KCj4gPiBAQCAtMTE2NCw3ICsxMTY0LDkgQEAgaW50IHNldF9pZGVudGl0eV9w Mm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwKPiB1bnNpZ25lZCBsb25nIGdmbl9sLAo+ID4gICAg ICB7Cj4gPiAgICAgICAgICBpZiAoICFuZWVkX2lvbW11KGQpICkKPiA+ICAgICAgICAgICAgICBy ZXR1cm4gMDsKPiA+IC0gICAgICAgIHJldHVybiBpb21tdV9tYXBfcGFnZShkLCBnZm5fbCwgZ2Zu X2wsCj4gSU9NTVVGX3JlYWRhYmxlfElPTU1VRl93cml0YWJsZSk7Cj4gPiArCj4gPiArICAgICAg ICByZXR1cm4gaW9tbXVfbWFwX3BhZ2UoZCwgX2JmbihnZm5fbCksIF9tZm4oZ2ZuX2wpLAo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZXxJT01NVUZfd3Jp dGFibGUpOwo+IAo+IFBsZWFzZSBhZGQgc3BhY2VzIGFyb3VuZCB8IGFzIHlvdSB0b3VjaCB0aGlz IChhbHNvIGVsc2V3aGVyZSkuCj4gCgpPay4KCj4gPiBAQCAtMTI1NCw3ICsxMjU2LDggQEAgaW50 IGNsZWFyX2lkZW50aXR5X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLAo+IHVuc2lnbmVkIGxv bmcgZ2ZuX2wpCj4gPiAgICAgIHsKPiA+ICAgICAgICAgIGlmICggIW5lZWRfaW9tbXUoZCkgKQo+ ID4gICAgICAgICAgICAgIHJldHVybiAwOwo+ID4gLSAgICAgICAgcmV0dXJuIGlvbW11X3VubWFw X3BhZ2UoZCwgZ2ZuX2wpOwo+ID4gKwo+ID4gKyAgICAgICAgcmV0dXJuIGlvbW11X3VubWFwX3Bh Z2UoZCwgX2JmbihnZm5fbCkpOwo+ID4gICAgICB9Cj4gCj4gTm8gcmVhbCBuZWVkIGZvciB0aGUg ZXh0cmEgYmxhbmsgbGluZSBoZXJlLCBhcyB0aGlzIGlzbid0IHRoZSBtYWluIHJldHVybgo+IHBv aW50Lgo+IAoKT2suCgogIFBhdWwKCj4gSmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8veGVuLWRldmVs