From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: Re: [RFC PATCH 2/9] iommu: Add ability to map/unmap the number of pages Date: Fri, 28 Apr 2017 13:16:32 +0300 Message-ID: References: <1489608329-7275-1-git-send-email-olekstysh@gmail.com> <1489608329-7275-3-git-send-email-olekstysh@gmail.com> <58D2A9F402000078001465E6@prv-mh.provo.novell.com> <58D39E520200007800146A52@prv-mh.provo.novell.com> <5902FBF20200007800154FD9@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d42x2-0000OF-EY for xen-devel@lists.xenproject.org; Fri, 28 Apr 2017 10:16:36 +0000 Received: by mail-it0-f45.google.com with SMTP id g66so34262301ite.1 for ; Fri, 28 Apr 2017 03:16:34 -0700 (PDT) In-Reply-To: <5902FBF20200007800154FD9@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Stefano Stabellini , Oleksandr Andrushchenko , al1img , Andrii Anisov , Volodymyr Babchuk , Julien Grall , xen-devel@lists.xenproject.org, Artem Mygaiev List-Id: xen-devel@lists.xenproject.org SGksIEphbi4KClRoYW5rIHlvdSBmb3IgeW91ciByZXBseS4KCk9uIEZyaSwgQXByIDI4LCAyMDE3 IGF0IDk6MjMgQU0sIEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6Cj4KPiA+ Pj4gT24gMjcuMDQuMTcgYXQgMTg6NTYsIDxvbGVrc3R5c2hAZ21haWwuY29tPiB3cm90ZToKPiA+ IE5vdyBJIGFtIHRyeWluZyB0byByZXBsYWNlIHNpbmdsZS1wYWdlIHN0dWZmIHdpdGggdGhlIG11 bHRpLXBhZ2Ugb25lLgo+ID4gQ3VycmVudGx5LCB3aXRoIHRoZSBzaW5nbGUtcGFnZSBBUEksIGlm IG1hcCBmYWlscyB3ZSBhbHdheXMgdHJ5IHRvIHVubWFwCj4gPiBhbHJlYWR5IG1hcHBlZCBwYWdl cy4KPiA+Cj4gPiBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgZ2VuZXJpYyBjb2RlIEkgYW0gc3BlYWtp bmcgYWJvdXQ6Cj4gPiAuLi4KPiA+IGZvciAoIGkgPSAwOyBpIDwgKDEgPDwgb3JkZXIpOyBpKysg KQo+ID4gewo+ID4gICAgIHJjID0gaW9tbXVfbWFwX3BhZ2UoZCwgZ2ZuICsgaSwgbWZuX3gobWZu KSArIGksIGlvbW11X2ZsYWdzKTsKPiA+ICAgICBpZiAoIHVubGlrZWx5KHJjKSApCj4gPiAgICAg ewo+ID4gICAgICAgICB3aGlsZSAoIGktLSApCj4gPiAgICAgICAgICAgICAvKiBJZiBzdGF0ZW1l bnQgdG8gc2F0aXNmeSBfX211c3RfY2hlY2suICovCj4gPiAgICAgICAgICAgICBpZiAoIGlvbW11 X3VubWFwX3BhZ2UocDJtLT5kb21haW4sIGdmbiArIGkpICkKPiA+ICAgICAgICAgICAgICAgICBj b250aW51ZTsKPiA+Cj4gPiAgICAgICAgIGJyZWFrOwo+ID4gICAgIH0KPiA+IH0KPiA+IC4uLgo+ ID4KPiA+IEFmdGVyIG1vZGlmaWNhdGlvbiB0aGUgZ2VuZXJpYyBjb2RlIHdpbGwgbG9vayBsaWtl Ogo+ID4gLi4uCj4gPiByYyA9IGlvbW11X21hcF9wYWdlcyhkLCBnZm4sIG1mbl94KG1mbiksIDEg PDwgb3JkZXIsIGlvbW11X2ZsYWdzKTsKPiA+IC4uLgo+ID4gSW4gY2FzZSBvZiBhbiBlcnJvciB3 ZSB3b24ndCBrbm93IGhvdyBtYW55IHBhZ2VzIGhhdmUgYmVlbiBhbHJlYWR5IG1hcHBlZAo+ID4g YW5kCj4gPiBhcyB0aGUgcmVzdWx0IHdlIHdvbid0IGJlIGFibGUgdG8gdW5tYXAgdGhlbSBpbiBv cmRlciB0byByZXN0b3JlIHRoZQo+ID4gaW5pdGlhbCBzdGF0ZS4KPiA+IFRoZXJlZm9yZSBJIHdp bGwgbW92ZSB0aGUgcm9sbGJhY2sgbG9naWMgdG8gdGhlIElPTU1VIGRyaXZlcnMgY29kZS4gU28s IHRoZQo+ID4gSU9NTVUgZHJpdmVycyBjb2RlCj4gPiB3aWxsIHRha2UgY2FyZSBvZiByb2xsYmFj ayBtYXBwaW5nIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nLiBBbSBJIHJpZ2h0Pwo+Cj4gWWVzLCBp dCBzaG91bGQgYmUgaW9tbXVfbWFwX3BhZ2VzKCkgKG9yIGl0cyBkZXNjZW5kYW50cykgdG8gY2xl YW4KPiB1cCBhZnRlciBpdHNlbGYgdXBvbiBlcnJvci4KPgo+ID4gSWYgYWxsIGRlc2NyaWJlZCBh Ym92ZSBtYWtlIHNlbnNlLCB0aGVuIHRoZXJlIGFyZSBzZXZlcmFsIHBsYWNlcyBJIGFtCj4gPiB0 cnlpbmcgdG8gb3B0aW1pemUsIGJ1dCBJIGFtIG5vdCBmYW1pbGlhciB3aXRoKQo+ID4KPiA+IDEu IHhlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYzoxNDQzOgo+ID4gLi4uCj4gPiBpZiAoIGlvbW11X2Vu YWJsZWQgJiYgIWlvbW11X3Bhc3N0aHJvdWdoICYmICFuZWVkX2lvbW11KGhhcmR3YXJlX2RvbWFp bikgKQo+ID4gewo+ID4gICAgIGZvciAoIGkgPSBzcGZuOyBpIDwgZXBmbjsgaSsrICkKPiA+ICAg ICAgICAgaWYgKCBpb21tdV9tYXBfcGFnZShoYXJkd2FyZV9kb21haW4sIGksIGksCj4gPiBJT01N VUZfcmVhZGFibGV8SU9NTVVGX3dyaXRhYmxlKQo+ID4gKQo+ID4gICAgICAgICAgICAgYnJlYWs7 Cj4gPiAgICAgaWYgKCBpICE9IGVwZm4gKQo+ID4gICAgIHsKPiA+ICAgICAgICAgd2hpbGUgKGkt LSA+IG9sZF9tYXgpIC8vIDwtLS0gWzFdCj4gPiAgICAgICAgICAgICAvKiBJZiBzdGF0ZW1lbnQg dG8gc2F0aXNmeSBfX211c3RfY2hlY2suICovCj4gPiAgICAgICAgICAgICBpZiAoIGlvbW11X3Vu bWFwX3BhZ2UoaGFyZHdhcmVfZG9tYWluLCBpKSApCj4gPiAgICAgICAgICAgICAgICAgY29udGlu dWU7Cj4gPgo+ID4gICAgICAgICBnb3RvIGRlc3Ryb3lfbTJwOwo+ID4gICAgIH0KPiA+IH0KPiA+ IC4uLgo+ID4KPiA+IFsxXSBTaG91bGRuJ3Qgd2UgdW5tYXAgYWxyZWFkeSBtYXBwZWQgcGFnZXMg b25seT8gIEkgbWVhbiB0byB1c2UgIndoaWxlCj4gPiAoaS0tID4gc3BmbikiIGluc3RlYWQuCj4K PiBCb3RoIHNob3VsZCBoYXZlIHRoZSBzYW1lIGVmZmVjdCwgY29uc2lkZXJpbmcgd2hhdCBvbGRf bWF4Cj4gcmVwcmVzZW50cywgYXQgbGVhc3QgYXMgbG9uZyBhcyB0aGVyZSdzIG5vIE1NSU8gaW4g YmV0d2Vlbi4gQnV0Cj4geWVzLCBnZW5lcmFsbHkgaXQgd291bGQgYmUgbW9yZSBsb2dpY2FsIHRv IHVubWFwIHVzaW5nIHNwZm4uCj4KPiA+IEFuZCBpZiB0aGUgdXNlIG9mICJvbGRfbWF4IiBoZXJl IGhhcyBhIHNwZWNpYWwgbWVhbmluZywgSSB0aGluaywgdGhhdCB0aGlzCj4gPiBwbGFjZSBvZiBj b2RlIHdvbid0IGJlIG9wdGltaXplZAo+ID4gYnkgcGFzc2luZyB0aGUgd2hvbGUgbWVtb3J5IGJs b2NrIChlcGZuIC0gc3BmbikgdG8gdGhlIElPTU1VLiBKdXN0IGtlZXAgaXQKPiA+IGFzIGlzICho YW5kbGUgb25lIHBhZ2UgYXQgdGltZSkuCj4KPiBSaWdodCwgdGhhdCB3b3VsZCBoYXZlIGJlZW4g bXkgZ2VuZXJhbCBhZHZpY2U6IElmIGluIGRvdWJ0LCBrZWVwCj4gdGhlIGNvZGUgYXMgaXMgcmF0 aGVyIHRoYW4gdHJ5aW5nIHRvIG9wdGltaXplIGl0LgpPSwoKPgo+Cj4gPiAyLiB4ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC92dGQveDg2L3Z0ZC5jOjE0MzoKPiA+IC4uLgo+ID4gdG1wID0gMSA8PCAo UEFHRV9TSElGVCAtIFBBR0VfU0hJRlRfNEspOwo+ID4gZm9yICggaiA9IDA7IGogPCB0bXA7IGor KyApCj4gPiB7Cj4gPiAgICAgaW50IHJldCA9IGlvbW11X21hcF9wYWdlKGQsIHBmbiAqIHRtcCAr IGosIHBmbiAqIHRtcCArIGosCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1V Rl9yZWFkYWJsZXxJT01NVUZfd3JpdGFibGUpOwo+ID4KPiA+ICAgICBpZiAoICFyYyApCj4gPiAg ICAgICAgcmMgPSByZXQ7Cj4gPiB9Cj4gPiAuLi4KPiA+Cj4gPiBIZXJlIHdlIGRvbid0IHRyeSB0 byByb2xsYmFjayBtYXBwaW5nIGF0IGFsbC4gV2FzIHRoZSBpZGVhIHRvIGRvIHNvPyBPciB3YXMK PiA+IHRoaXMgcGxhY2Ugc2ltcGx5IG1pc3NlZD8KPgo+IERpZCB5b3UgY29uc2lkZXIgYm90aCB0 aGUgY29udGV4dCB0aGlzIGlzIGluIChlc3RhYmxpc2hpbmcgaHdkb20KPiBtYXBwaW5ncykgYW5k IHRoZSBjb2RlJ3MgaGlzdG9yeT8gQm90aCB3b3VsZCB0ZWxsIHlvdSB0aGF0IHllcywKPiB0aGlz IGlzIGEgYmVzdCBlZmZvcnQgbWFwcGluZyBhdHRlbXB0IGRlbGliZXJhdGVseSBjb250aW51aW5n Cj4gZGVzcGl0ZSBlcnJvcnMgKGJ1dCByZXBvcnRpbmcgdGhlIGZpcnN0IG9uZSkuIFRoaXMgYmVo YXZpb3Igd2lsbAo+IG5lZWQgdG8gYmUgcmV0YWluZWQuIFBsdXMgSSdtIHN1cmUgeW91J3ZlIG5v dGljZWQgdGhhdCB0aGlzCj4gZWZmZWN0aXZlbHkgaXMgYSBzaW5nbGUgcGFnZSBtYXBwaW5nIG9u bHkgYW55d2F5IChkdWUgdG8KPiBQQUdFX1NISUZUID09IFBBR0VfU0hJRlRfNEspOyBJIGhhdmUg bm8gaWRlYSB3aHkgdGhpcwo+ICJjbGV2ZXIiIGNvZGUgd2FzIHVzZWQuClNvLCBpZiBJIHVuZGVy c3RhbmQgd2hhdCB5b3VyIG1lYW50IEkgZG9uJ3QgZXZlbiBuZWVkIHRvIHRyeSB0bwpvcHRpbWl6 ZSB0aGlzIGNvZGUuCkRlc3BpdGUgdGhlIGZhY3QgdGhhdCB0aGlzIGNvZGUgd291bGQgYmVjb21l IG11Y2ggbW9yZSBzaW1wbGU6Ci4uLgpyYyA9IGlvbW11X21hcF9wYWdlcyhkLCBwZm4sIHBmbiwg MSwKICAgICAgICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxlfElPTU1VRl93cml0YWJsZSk7Ci4u LgpSaWdodD8KCj4KPiBBbmQgYXMgYSBzaWRlIG5vdGUgLSB0aGUgd2F5IHlvdSBxdW90ZSBjb2Rl IChieSBsaW5lIG51bWJlciBhbmQKPiB3aXRob3V0IG5hbWluZyB0aGUgZnVuY3Rpb24gaXQncyBp bikgbWFrZXMgaXQgc29tZXdoYXQgbW9yZQo+IGNvbXBsaWNhdGVkIHRvIGFuc3dlciB5b3VyIHF1 ZXN0aW9ucy4gSW4gYm90aCBjYXNlcywgaGFkIEkga25vd24KPiB0aGUgZnVuY3Rpb24gdGhlIGNv ZGUgaXMgaW4sIEkgd291bGRuJ3QgaGF2ZSBoYWQgYSBuZWVkIGF0IGFsbCB0byBnbwo+IGxvb2sg dXAgdGhlIGNvbnRleHQuClNvcnJ5IGZvciB0aGF0LiBOZXh0IHRpbWUgSSB3aWxsIHByb3ZpZGUg bW9yZSBkZXRhaWxlZCBzbmlwcGV0LgoKPgo+ID4gUC5TLiBBcyBmb3IgdXNpbmcgIm9yZGVyIiBw YXJhbWV0ZXIgaW5zdGVhZCBvZiBwYWdlX2NvdW50Lgo+ID4gVGhlcmUgYXJlICpmZXcqIHBsYWNl cyB3aGVyZSAib3JkZXIiIGRvZXNuJ3QgZml0Lgo+Cj4gV2VsbCwgSSdkIHByZWZlciB0aGUgImZl dyBwbGFjZXMiIHRvIHRoZW4gYnJlYWsgdXAgdGhlaXIgcmVxdWVzdHMgdG8KPiBmaXQgdGhlICJv cmRlciIgcGFyYW1ldGVyLiBFc3BlY2lhbGx5IGZvciB0aGUgcHVycG9zZSBvZiBwb3NzaWJseQo+ IHVzaW5nIGxhcmdlIHBhZ2VzLCBhbiBvcmRlciBpbnB1dCBpcyBxdWl0ZSBhIGJpdCBtb3JlIHNl bnNpYmxlLgpPSwoKPgo+ID4gSSBjYW4gaW50cm9kdWNlIHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4g Pgo+ID4gI2RlZmluZSBfX2lvbW11X21hcF9wYWdlcyhkLGdmbixtZm4sb3JkZXIsZmxhZ3MpCj4g PiAoaW9tbXVfbWFwX3BhZ2VzKGQsZ2ZuLG1mbiwxVSA8PCAob3JkZXIpLGZsYWdzKSkKPgo+IEkn ZCBwcmVmZXIgaWYgeW91IGRpZG4ndC4gSW4gbm8gY2FzZSBzaG91bGQgdGhpcyBiZSBhbiBpZGVu dGlmaWVyCj4gc3RhcnRpbmcgd2l0aCBhbiB1bmRlcnNjb3JlLgpJIGdvdCBpdC4gSSBwcm9wb3Nl ZCBiZWNhdXNlIEkgaGFkIHNlZW4gYW5hbG9neSB3aXRoCl9fbWFwX2RvbWFpbl9wYWdlL21hcF9k b21haW5fcGFnZS4KCj4KPiBKYW4KCi0tIApSZWdhcmRzLAoKT2xla3NhbmRyIFR5c2hjaGVua28K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=