From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH XEN v5 07/23] tools: Refactor /dev/xen/gnt{dev, shr} wrappers into libxengnttab. Date: Fri, 13 Nov 2015 15:02:04 +0000 Message-ID: <1447426924.18450.171.camel@citrix.com> References: <1447070397.27774.11.camel@citrix.com> <1447070458-31104-1-git-send-email-ian.campbell@citrix.com> <1447070458-31104-8-git-send-email-ian.campbell@citrix.com> <22083.22696.351853.213216@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <22083.22696.351853.213216@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson , Daniel De Graaf Cc: wei.liu2@citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAyMDE1LTExLTExIGF0IDE1OjAzICswMDAwLCBJYW4gSmFja3NvbiB3cm90ZToKPiBJ YW4gQ2FtcGJlbGwgd3JpdGVzICgiW1BBVENIIFhFTiB2NSAwNy8yM10gdG9vbHM6IFJlZmFjdG9y Cj4gL2Rldi94ZW4vZ250e2RldixzaHJ9IHdyYXBwZXJzIGludG8gbGlieGVuZ250dGFiLiIpOgo+ ID4gbGlieGVuZ250dGFiIHdpbGwgcHJvdmlkZSBhIHN0YWJsZSBBUEkgYW5kIEFCSSBmb3IgYWNj ZXNzaW5nIHRoZQo+ID4gZ3JhbnQgdGFibGUgZGV2aWNlcy4KPiA+IAo+ID4gVGhlIGZ1bmN0aW9u cyBhcmUgbW92ZWQgaW50byB0aGUgeGVuZ250e3RhYixzaHJ9IG5hbWVzcGFjZSB0byBtYWtlIGEK PiA+IGNsZWFuIGJyZWFrIGZyb20gbGlieGMgYW5kIGF2b2lkIGFtYmlndWl0eSByZWdhcmRpbmcg d2hpY2ggaW50ZXJmYWNlcwo+ID4gYXJlIHN0YWJsZS4KPiAKPiBJIGhhdmUgcmV2aWV3ZWQgdGhl IEFQSS7CoMKgTW9zdGx5IHRoaXMgcHJvZHVjZWQgcXVlc3Rpb25zLi4uCgpZZXMsIHRoYW5rcyB0 aGlzIGlzIHRoZSBzb3J0IG9mIGZlZWRiYWNrIEkgd2FzIGxvb2tpbmcgZm9yIGJlZm9yZSB3ZSBj YWxsCnRoaXMgYSBzdGFibGUgaW50ZXJmYWNlLgoKU29tZSBvZiBteSBhbnN3ZXJzIGFyZSBvZiB0 aGUgInllcywgd2Ugc2hvdWxkIGRlY2lkZSB0aGF0IiB2YXJpZXR5LgoKRGFuaWVsLCBJJ3ZlIGFk ZGVkIHlvdSBiZWNhdXNlIHNvbWUgb2YgdGhlIHF1ZXN0aW9ucyBiZWxvdyByZWxhdGUgdG8gdGhl Cm5vdGlmaWNhdGlvbiBtZWNoYW5pc20gYW5kIHRvIGdudHNociB3aGljaCBJIGRvbid0IHJlYWxs eSB1bmRlcnN0YW5kIChub3QKdGhhdCBJIHJlYWxseSB1bmRlcnN0YW5kIGdudHRhYiBlaXRoZXIp LgoKPiA+IFhYWCBjb25zaWRlciBjb21iaW5pbmcgaW50byBhIHNpbmdsZSBuYW1lc3BhY2UgKGku ZS4gd2l0aAo+ID4geGVuZ250dGFiX2hhbmRsZSBoYXZpbmcgdHdvIG9wZW4gZmQncyBpbiBpdCBv biBMaW51eCkKPiAKPiBBcmd1bWVudHMgaW4gZmF2b3VyIG9mIGNvbWJpbmluZzoKPiDCoCogU29t ZSBrZXJuZWwgbWlnaHQgcHJvdmlkZSBhIHNpbmdsZSB0aGluZyBpbiAvZGV2LCBhbmQgbWlnaHQg ZXZlbgo+IMKgwqDCoGhhdmUgdHJvdWJsZSBjb3Bpbmcgd2l0aCBhIHByb2Nlc3Mgd2hpY2ggb3Bl bnMgaXQgbW9yZSB0aGFuIG9uY2UuCj4gwqAqIFRoaXMgaXMgbGVzcyBmaWRkbHkgZm9yIGNhbGxl cnMuCj4gCj4gQXJndW1lbnRzIGFnYWluc3QgY29tYmluaW5nOgo+IMKgKiBQZXJoYXBzIHNvbWUg T1NlcyB3aWxsIGV4aXN0IHdoaWNoIGNhbiBkbyBvbmx5IG9uZSBhbmQgbm90IHRoZQo+IMKgwqDC oG90aGVyLsKgwqAoVGVudW91cywgYW5kIGEgd29ya2Fyb3VuZCBpcyBwb3NzaWJsZS4pCj4gwqAq IFNsaWdodGx5IGxvd2VyIHBlcmZvcm1hbmNlIGZvciBhIGNsaWVudCB3aGljaCB1c2VzIG9ubHkg b25lIG9mIHRoZQo+IMKgwqDCoGludGVyZmFjZXMuwqDCoChCYXJyZWwtc2NyYXBpbmcsIGhlcmUu KQo+IMKgKiBJdCBpcyBtb3JlIHdvcmsuCj4gCj4gSSBjb25jbHVkZSBpdCB3b3VsZCBiZSBiZXR0 ZXIgdG8gdW5pZnkgdGhlbS4KCk9LLCBJJ20gY29udmluY2VkLgoKPiA+ICsvKgo+ID4gKyAqIE5v dGU6Cj4gPiArICogQWZ0ZXIgZm9yayBhIGNoaWxkIHByb2Nlc3MgbXVzdCBub3QgdXNlIGFueSBv cGVuZWQgeGMgZ250dGFiCj4gPiArICogaGFuZGxlIGluaGVyaXRlZCBmcm9tIHRoZWlyIHBhcmVu dC4gVGhleSBtdXN0IG9wZW4gYSBuZXcgaGFuZGxlIGlmCj4gPiArICogdGhleSB3YW50IHRvIGlu dGVyYWN0IHdpdGggeGMuCj4gCj4gVGhpcyBzaG91bGQgZG9jdW1lbnQKPiDCoChhKSB0aGF0IGl0 IGlzIHNhZmUgdG8gY2xvc2UgdGhlIGhhbmRsZQo+IMKgKGIpIHRoYXQgaXQgaXMgbm90IHNhZmUg dG8gYWNjZXNzIGdyYW50IG1hcHBlZCBhcmVhcyBpbiB0aGUgY2hpbGQKClRoZXNlIHR3byBhcmUg ZWFzeS4KCj4gwqAoYykgaG93IHRvIHJlY2xhaW0gdGhlIGFkZHJlc3Mgc3BhY2Ugd2hpY2ggaXMg b3RoZXJ3aXNlIGxvc3QKClRoZSAib2J2aW91c2x5IGdvaW5nIHRvIHdvcmssIGJ1dCBwcm9iYWJs eSBub3QgdmVyeSB1c2VmdWwiIGFuc3dlciBpcyB5b3UKc2hvdWxkIHJlY2xhaW0gdGhlbSBiZWZv cmUgZm9ya2luZy4gVGhhdCdzIGNsZWFybHkgbm90IHByYWN0aWNhbCBpbiBhbnkKbnVtYmVyIG9m IHNpdHVhdGlvbnMuCgpJIHJlYWxseSBub3Qgc3VyZSB3aGF0IHdvdWxkIGhhcHBlbiBpZiB0aGUg Y2hpbGQgZGlkIGEgZ250dGFiX2Nsb3NlKCkuIEkKX3RoaW5rXyB0aGUga2VybmVsIHNpZGUgb3Vn aHQgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nIChpbiB0aGF0IG15IG9waW5pb24gaXMKdGhhdCByZWFs bHkgaXQgc2hvdWxkLCBhbmQgbG9va2luZyBhdCB0aGUgY29kZSBpdCBzZWVtcyBsaWtlIGl0IG1p Z2h0KS4KCk1ha2luZyBhIHN0YXRlbWVudCBoZXJlIHRoYXQgZ250dGFiX2Nsb3NlKCkgaXMgT0sg KGFuZCB0aGUgcmlnaHQgdGhpbmcpIHRvCmRvIGluIHRoZSBjaGlsZCBtaWdodCBtYWtlIHRoZSBr ZXJuZWwgZHJpdmVyIGluc3RhLWJ1Z2d5LiBUaGF0IG1pZ2h0IGJlCnRvbGVyYWJsZSB0aG91Z2gs IG5vIG9uZSBzZWVtcyB0b28gYmUgYm90aGVyZWQgYnkgc3VjaCBidWdzIHRvZGF5IGFuZCBpZgpz b21lb25lIHRyaXBzIG92ZXIgdGhlbSB3ZSBjYW4gZml4IHRoZW0uCgo+ID4gKy8qKgo+ID4gKyAq IE1lbW9yeSBtYXBzIG9uZSBvciBtb3JlIGdyYW50IHJlZmVyZW5jZXMgZnJvbSBvbmUgb3IgbW9y ZSBkb21haW5zCj4gPiB0byBhCj4gPiArICogY29udGlndW91cyBsb2NhbCBhZGRyZXNzIHJhbmdl LiBNYXBwaW5ncyBzaG91bGQgYmUgdW5tYXBwZWQgd2l0aAo+ID4gKyAqIHhlbmdudHRhYl9tdW5t YXAuwqDCoExvZ3MgZXJyb3JzLgo+ID4gKyAqCj4gPiArICogQHBhcm0geGd0IGEgaGFuZGxlIG9u IGFuIG9wZW4gZ3JhbnQgdGFibGUgaW50ZXJmYWNlCj4gPiArICogQHBhcm0gY291bnQgdGhlIG51 bWJlciBvZiBncmFudCByZWZlcmVuY2VzIHRvIGJlIG1hcHBlZAo+ID4gKyAqIEBwYXJtIGRvbWlk cyBhbiBhcnJheSBvZiBAY291bnQgZG9tYWluIElEcyBieSB3aGljaCB0aGUKPiA+IGNvcnJlc3Bv bmRpbmcgQHJlZnMKPiA+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB3ZXJlIGdyYW50 ZWQKPiA+ICsgKiBAcGFybSByZWZzIGFuIGFycmF5IG9mIEBjb3VudCBncmFudCByZWZlcmVuY2Vz IHRvIGJlIG1hcHBlZAo+ID4gKyAqIEBwYXJtIHByb3Qgc2FtZSBmbGFnIGFzIGluIG1tYXAoKQo+ ID4gKyAqLwo+ID4gK3ZvaWQgKnhlbmdudHRhYl9tYXBfZ3JhbnRfcmVmcyh4ZW5nbnR0YWJfaGFu ZGxlICp4Z3QsCj4gCj4gU2hvdWxkIGV4cGxhaW4gd2hhdCBoYXBwZW5zIG9uIHBhcnRpYWwgZmFp bHVyZS4KPiAKPiA+ICsvKioKPiA+ICsgKiBNZW1vcnkgbWFwcyBvbmUgb3IgbW9yZSBncmFudCBy ZWZlcmVuY2VzIGZyb20gb25lIGRvbWFpbiB0byBhCj4gPiArICogY29udGlndW91cyBsb2NhbCBh ZGRyZXNzIHJhbmdlLiBNYXBwaW5ncyBzaG91bGQgYmUgdW5tYXBwZWQgd2l0aAo+ID4gKyAqIHhl bmdudHRhYl9tdW5tYXAuwqDCoExvZ3MgZXJyb3JzLgo+IC4uLgo+ID4gK3ZvaWQgKnhlbmdudHRh Yl9tYXBfZG9tYWluX2dyYW50X3JlZnMoeGVuZ250dGFiX2hhbmRsZSAqeGd0LAo+IAo+IFNob3Vs ZCBzYXkgdGhhdCB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gYSBzdWl0YWJsZSBjYWxsIHRvCj4geGVu Z250dGFiX21hcF9ncmFudF9yZWZzLsKgwqAoQXNzdW1pbmcgdGhhdCBpdCBpcy4pCgpJIGJlbGll dmUgc28uCgpXaGljaCBtaWdodCBhcmd1ZSBmb3Igbm90IGhhdmluZyBib3RoLCBidXQgSSB0aGlu ayBhdm9pZGluZyB0aGUgY29tbW9uIGNhc2UKb2YgbmVlZGluZyB0byBwcm92aWRlIGFuIGFycmF5 IGZ1bGwgb2YgdGhlIHNhbWUgZG9taWQgbWFrZXMgaXQgd29ydGh3aGlsZQp0byBoYXZlIHRoaXMu Cgo+ID4gKy8qKgo+ID4gKyAqIE1lbW9yeSBtYXBzIGEgZ3JhbnQgcmVmZXJlbmNlIGZyb20gb25l IGRvbWFpbiB0byBhIGxvY2FsIGFkZHJlc3MKPiA+IHJhbmdlLgo+ID4gKyAqIE1hcHBpbmdzIHNo b3VsZCBiZSB1bm1hcHBlZCB3aXRoIHhlbmdudHRhYl9tdW5tYXAuIElmIG5vdGlmeV9vZmZzZXQK PiA+IG9yCj4gPiArICogbm90aWZ5X3BvcnQgYXJlIG5vdCAtMSwgdGhpcyB2ZXJzaW9uIHdpbGwg YXR0ZW1wdCB0byBzZXQgdXAgYW4KPiA+IHVubWFwCj4gPiArICogbm90aWZpY2F0aW9uIGF0IHRo ZSBnaXZlbiBvZmZzZXQgYW5kIGV2ZW50IGNoYW5uZWwuIFdoZW4gdGhlIHBhZ2UKPiA+IGlzCj4g PiArICogdW5tYXBwZWQsIHRoZSBieXRlIGF0IHRoZSBnaXZlbiBvZmZzZXQgd2lsbCBiZSB6ZXJv ZWQgYW5kIGEgd2FrZXVwCj4gPiB3aWxsIGJlCj4gPiArICogc2VudCB0byB0aGUgZ2l2ZW4gZXZl bnQgY2hhbm5lbC7CoMKgTG9ncyBlcnJvcnMuCj4gCj4gV2hhdCBoYXBwZW5zIGlmIHRoZSB1bm1h cCBub3RpZmljYXRpb24gY2Fubm90IGJlIHNldCB1cCA/Cj4gCj4gQWxzbyAid2hlbiB0aGUgcGFn ZSBpcyB1bm1hcHBlZCIgbWFrZXMgaXQgc291bmQgbGlrZSB5b3UgbWVhbgo+IHhlbmdudHRhYl9t dW5tYXAgYnV0IGFjdHVhbGx5IEkgdGhpbmsgdGhpcyBpcyB3aGVuIHRoZSBncmFudCBpcwo+IHdp dGhkcmF3biBieSB0aGUgZ3JhbnRvciA/Cj4gCj4gSWYgdGhlIGdyYW50IGlzIHdpdGhkcmF3biBi eSB0aGUgZ3JhbnRvciwgZG9lcyB0aGUgcGFnZSBiZWNvbWUKPiB1bnVzZWFibGUgaW1tZWRpYXRl bHkgP8KgwqBJZiBzbywgaG93IGNhbiBhbnlvbmUgZXZlciB1c2UgdGhpcyBzYWZlbHkgPwoKRGFu aWVsLCBjb3VsZCB5b3UgYW5zd2VyIHRoZXNlIG9uZXMgcGxlYXNlLgoKPiAKPiA+ICsvKgo+ID4g KyAqIFNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGdyYW50cyB0aGF0IG1heSBiZSBtYXBwZWQg YnkgdGhlIGdpdmVuCj4gPiBpbnN0YW5jZQo+ID4gKyAqIHRvIEBjb3VudC7CoMKgTmV2ZXIgbG9n cy4KPiAKPiBMaW5lIHdyYXAuCj4gCj4gCj4gPiAraW50IHhlbmdudHRhYl9zZXRfbWF4X2dyYW50 cyh4ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCj4gPiArCQkJwqDCoMKgwqDCoHVpbnQzMl90IGNvdW50 KTsKPiAKPiBJcyBjb3VudCBpbiBwYWdlcyBvciBncmFudHMgb3Igd2hhdCA/CgpJdCB3YXMgaGFy ZCB0byBmaW5kIHRoaXMgb3V0LCBiZWNhdXNlIHRoZSB1bmRlcmx5aW5nIGlvY3RsIGRvZXNuJ3Qg ZXhpc3QgaW4KdGhlIExpbnV4IHNpZGUuIEluIHRoZSBlbmQgSSBmb3VuZCBpdCBpcyBpbiBncmFu dHMgYXMgdGhlIG5hbWUgc3VnZ2VzdHMuCgpBRkFJQ1QgdGhpcyBpcyBpbXBsZW1lbnRlZCBvbmx5 IGJ5IGxpbnV4LTIuNi4xOC14ZW4uaGcgYW5kIG1pbmktb3MuZ2l0LiBXZQpjb3VsZCBjb25zaWRl ciBvbWl0dGluZyBpdCBmcm9tIHRoZSBpbml0aWFsIEFQSS4gUUVNVSBjYWxscyBpdCBidXQgZG9l c24ndApjYXJlIGlmIGl0IGRpZG4ndCB3b3JrLgoKPiA+ICsvKgo+ID4gKyAqIFJldHVybiBhbiBm ZCBvbnRvIHRoZSBncmFudCBzaGFyaW5nIGRyaXZlci7CoMKgTG9ncyBlcnJvcnMuCj4gCj4gSXQg ZG9lcyBub3QgcmV0dXJuIGFuIGZkLgoKT2ggeWVzLgoKPiDCoMKgKFNlZSBhbHNvIG15IGNvbW1l bnRzIG9uIGdudG1hcC4pCgpJJ20gbm90IHN1cmUgd2hpY2ggb25lcyB5b3UgbWVhbiBoZXJlLiBJ ZiB5b3UgbWVhbnQgZ250dGFiIHRoZW4gSSdtIHN0aWxsCm5vdCBzdXJlIHNpbmNlIHlvdSBkaWRu J3QgY29tbWVudCBvbiBfb3BlbigpIHRoZXJlLCBidXQgdGhhdCdzIHRoZSBvbmx5CmNvbW1vbmFs aXR5IGluIHRoZSBBUEkuCgo+IAo+ID4gKy8qCj4gPiArICogQ3JlYXRlcyBhbmQgc2hhcmVzIHBh Z2VzIHdpdGggYW5vdGhlciBkb21haW4uCj4gPiArICoKPiAuLi4KPiA+ICt2b2lkICp4ZW5nbnRz aHJfc2hhcmVfcGFnZXMoeGVuZ250c2hyX2hhbmRsZSAqeGdzLCB1aW50MzJfdCBkb21pZCwKPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGludCBjb3VudCwgdWludDMyX3QgKnJlZnMsIGludCB3cml0YWJsZSk7Cj4gCj4gQ2FuIHRoaXMg ZmFpbCA/wqDCoENhbiBpdCBwYXJ0aWFsbHkgc3VjY2VlZCA/CgpEYW5pZWw/Cgo+IAo+ID4gKy8q Cj4gPiArICogQ3JlYXRlcyBhbmQgc2hhcmVzIGEgcGFnZSB3aXRoIGFub3RoZXIgZG9tYWluLCB3 aXRoIHVubWFwCj4gPiBub3RpZmljYXRpb24uCj4gPiArICoKPiA+ICsgKiBAcGFybSB4Z3MgYSBo YW5kbGUgdG8gYW4gb3BlbiBncmFudCBzaGFyaW5nIGluc3RhbmNlCj4gPiArICogQHBhcm0gZG9t aWQgdGhlIGRvbWFpbiB0byBzaGFyZSBtZW1vcnkgd2l0aAo+ID4gKyAqIEBwYXJtIHJlZnMgdGhl IGdyYW50IHJlZmVyZW5jZSBvZiB0aGUgcGFnZXMgKG91dHB1dCkKPiA+ICsgKiBAcGFybSB3cml0 YWJsZSB0cnVlIGlmIHRoZSBvdGhlciBkb21haW4gY2FuIHdyaXRlIHRvIHRoZSBwYWdlCj4gPiAr ICogQHBhcm0gbm90aWZ5X29mZnNldCBUaGUgYnl0ZSBvZmZzZXQgaW4gdGhlIHBhZ2UgdG8gdXNl IGZvciB1bm1hcAo+ID4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgbm90aWZpY2F0aW9uOyAtMSBmb3Igbm9uZS4KPiA+ICsgKiBAcGFybSBub3RpZnlfcG9ydCBU aGUgZXZlbnQgY2hhbm5lbCBwb3J0IHRvIHVzZSBmb3IgdW5tYXAgbm90aWZ5LAo+ID4gb3IgLTEK PiA+ICsgKiBAcmV0dXJuIGxvY2FsIG1hcHBpbmcgb2YgdGhlIHBhZ2UKPiA+ICsgKi8KPiA+ICt2 b2lkICp4ZW5nbnRzaHJfc2hhcmVfcGFnZV9ub3RpZnkoeGVuZ250c2hyX2hhbmRsZSAqeGdzLCB1 aW50MzJfdAo+ID4gZG9taWQsCj4gCj4gV2hhdCBpcyB0aGlzIGB1bm1hcCBub3RpZmljYXRpb24n ID8KCkRhbmllbD8KCj4gCj4gPiArLyoKPiA+ICsgKiBVbm1hcHMgdGhlIEBjb3VudCBwYWdlcyBz dGFydGluZyBhdCBAc3RhcnRfYWRkcmVzcywgd2hpY2ggd2VyZQo+ID4gbWFwcGVkIGJ5IGEKPiA+ ICsgKiBjYWxsIHRvIHhlbmdudHNocl9zaGFyZV8qLiBOZXZlciBsb2dzLgo+IAo+IExpbmV3cmFw IGluIHRoZSBjb21tZW50Lgo+IAo+ID4gKyAqLwo+ID4gK2ludCB4ZW5nbnRzaHJfbXVubWFwKHhl bmdudHNocl9oYW5kbGUgKnhncywgdm9pZCAqc3RhcnRfYWRkcmVzcywKPiA+IHVpbnQzMl90IGNv dW50KTsKPiAKPiBXaGF0IGVmZmVjdCBkb2VzIHRoaXMgaGF2ZSBvbiB0aGUgcGVlciA/CgpEYW5p ZWw/Cgo+IAo+IElhbi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==