From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH v3 22/28] tools/libxc: Modify bitmap operations to take void pointers Date: Thu, 17 Mar 2016 12:17:23 +0000 Message-ID: <20160317121723.GB28955@citrix.com> References: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> <1458056124-8024-23-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1458056124-8024-23-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper Cc: Julien Grall , Wei Liu , Stefano Stabellini , Ian Jackson , Xen-devel List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBNYXIgMTUsIDIwMTYgYXQgMDM6MzU6MThQTSArMDAwMCwgQW5kcmV3IENvb3BlciB3 cm90ZToKPiBUaGUgdHlwZSBvZiB0aGUgcG9pbnRlciB0byBhIGJpdG1hcCBpcyBub3QgaW50ZXJl c3Rpbmc7IGl0IGRvZXMgbm90IGFmZmVjdCB0aGUKPiByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmxv Y2sgb2YgYml0cyBiZWluZyBwb2ludGVkIHRvLgo+IAo+IE1ha2UgdGhlIGxpYnhjIGZ1bmN0aW9u cyBjb25zaXN0ZW50IHdpdGggdGhvc2UgaW4gWGVuLCBzbyB0aGV5IGNhbiB3b3JrIGp1c3QKPiBh cyB3ZWxsIHdpdGggJ3Vuc2lnbmVkIGludCAqJyBiYXNlZCBiaXRtYXBzLgo+IAo+IEFzIHBhcnQg b2YgZG9pbmcgc28sIGNoYW5nZSB0aGUgaW1wbGVtZW50YXRpb24gdG8gYmUgaW4gdGVybXMgb2Yg Y2hhciByYXRoZXIKPiB0aGFuIHVuc2lnbmVkIGxvbmcuICBUaGlzIGZpeGVzIGFsaWdubWVudCBj b25jZXJucyB3aXRoIEFSTS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgo+IC0tLQo+IENDOiBJYW4gSmFja3NvbiA8SWFuLkphY2tz b25AZXUuY2l0cml4LmNvbT4KPiBDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KPiAK PiB2MzoKPiAgKiBJbXBsZW1lbnQgaW4gdGVybXMgb2YgY2hhciByYXRoZXIgdGhhbiB1bnNpZ25l ZCBsb25nIHRvIGZpeCBhbGlnbm1lbnQKPiAgICBpc3N1ZXMgZm9yIEFSTS4KCkknbSB2ZXJ5IGls bGl0ZXJhdGUgb24gdGhpcyBzdWJqZWN0IHNvIEkndmUgQ0MgSnVsaWVuIGFuZCBTdGVmYW5vIGZv cgppbnB1dC4KCj4gdjI6Cj4gICogTmV3Cj4gLS0tCj4gIHRvb2xzL2xpYnhjL3hjX2JpdG9wcy5o IHwgMzcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hh bmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhjL3hjX2JpdG9wcy5oIGIvdG9vbHMvbGlieGMveGNfYml0b3BzLmgKPiBpbmRl eCBjZDc0OWY0Li5jMmM5NmQzIDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2xpYnhjL3hjX2JpdG9wcy5o Cj4gKysrIGIvdG9vbHMvbGlieGMveGNfYml0b3BzLmgKPiBAQCAtNiw3MCArNiw3MyBAQAo+ICAj aW5jbHVkZSA8c3RkbGliLmg+Cj4gICNpbmNsdWRlIDxzdHJpbmcuaD4KPiAgCj4gKy8qIE5lZWRl ZCBieSBzZXZlcmFsIGluY2x1ZGVlcywgYnV0IG5vIGxvbmdlciB1c2VkIGZvciBiaXRvcHMuICov Cj4gICNkZWZpbmUgQklUU19QRVJfTE9ORyAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCkKPiAg I2RlZmluZSBPUkRFUl9MT05HIChzaXplb2YodW5zaWduZWQgbG9uZykgPT0gNCA/IDUgOiA2KQo+ ICAKPiAtI2RlZmluZSBCSVRNQVBfRU5UUlkoX25yLF9ibWFwKSAoKF9ibWFwKSlbKF9ucikvQklU U19QRVJfTE9OR10KPiAtI2RlZmluZSBCSVRNQVBfU0hJRlQoX25yKSAoKF9ucikgJSBCSVRTX1BF Ul9MT05HKQo+ICsjZGVmaW5lIEJJVE1BUF9FTlRSWShfbnIsX2JtYXApICgoX2JtYXApKVsoX25y KSAvIDhdCj4gKyNkZWZpbmUgQklUTUFQX1NISUZUKF9ucikgKChfbnIpICUgOCkKPiAgCj4gIC8q IGNhbGN1bGF0ZSByZXF1aXJlZCBzcGFjZSBmb3IgbnVtYmVyIG9mIGxvbmdzIG5lZWRlZCB0byBo b2xkIG5yX2JpdHMgKi8KPiAgc3RhdGljIGlubGluZSBpbnQgYml0bWFwX3NpemUoaW50IG5yX2Jp dHMpCj4gIHsKPiAtICAgIGludCBucl9sb25nLCBucl9ieXRlczsKPiAtICAgIG5yX2xvbmcgPSAo bnJfYml0cyArIEJJVFNfUEVSX0xPTkcgLSAxKSA+PiBPUkRFUl9MT05HOwo+IC0gICAgbnJfYnl0 ZXMgPSBucl9sb25nICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOwo+IC0gICAgcmV0dXJuIG5yX2J5 dGVzOwo+ICsgICAgcmV0dXJuIChucl9iaXRzICsgNykgPj4gODsKPiAgfQo+ICAKPiAtc3RhdGlj IGlubGluZSB1bnNpZ25lZCBsb25nICpiaXRtYXBfYWxsb2MoaW50IG5yX2JpdHMpCj4gK3N0YXRp YyBpbmxpbmUgdm9pZCAqYml0bWFwX2FsbG9jKGludCBucl9iaXRzKQo+ICB7Cj4gICAgICByZXR1 cm4gY2FsbG9jKDEsIGJpdG1hcF9zaXplKG5yX2JpdHMpKTsKPiAgfQo+ICAKPiAtc3RhdGljIGlu bGluZSB2b2lkIGJpdG1hcF9zZXQodW5zaWduZWQgbG9uZyAqYWRkciwgaW50IG5yX2JpdHMpCj4g K3N0YXRpYyBpbmxpbmUgdm9pZCBiaXRtYXBfc2V0KHZvaWQgKmFkZHIsIGludCBucl9iaXRzKQo+ ICB7Cj4gICAgICBtZW1zZXQoYWRkciwgMHhmZiwgYml0bWFwX3NpemUobnJfYml0cykpOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX2NsZWFyKHVuc2lnbmVkIGxvbmcgKmFk ZHIsIGludCBucl9iaXRzKQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX2NsZWFyKHZvaWQg KmFkZHIsIGludCBucl9iaXRzKQo+ICB7Cj4gICAgICBtZW1zZXQoYWRkciwgMCwgYml0bWFwX3Np emUobnJfYml0cykpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2JpdChpbnQg bnIsIHVuc2lnbmVkIGxvbmcgKmFkZHIpCj4gK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYml0KGlu dCBuciwgY29uc3Qgdm9pZCAqX2FkZHIpCj4gIHsKPiArICAgIGNvbnN0IGNoYXIgKmFkZHIgPSBf YWRkcjsKPiAgICAgIHJldHVybiAoQklUTUFQX0VOVFJZKG5yLCBhZGRyKSA+PiBCSVRNQVBfU0hJ RlQobnIpKSAmIDE7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXQoaW50 IG5yLCB1bnNpZ25lZCBsb25nICphZGRyKQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfYml0 KGludCBuciwgdm9pZCAqX2FkZHIpCj4gIHsKPiArICAgIGNoYXIgKmFkZHIgPSBfYWRkcjsKPiAg ICAgIEJJVE1BUF9FTlRSWShuciwgYWRkcikgJj0gfigxVUwgPDwgQklUTUFQX1NISUZUKG5yKSk7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdW5zaWduZWQg bG9uZyAqYWRkcikKPiArc3RhdGljIGlubGluZSB2b2lkIHNldF9iaXQoaW50IG5yLCB2b2lkICpf YWRkcikKPiAgewo+ICsgICAgY2hhciAqYWRkciA9IF9hZGRyOwo+ICAgICAgQklUTUFQX0VOVFJZ KG5yLCBhZGRyKSB8PSAoMVVMIDw8IEJJVE1BUF9TSElGVChucikpOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jbGVhcl9iaXQoaW50IG5yLCB1bnNpZ25lZCBsb25nICph ZGRyKQo+ICtzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jbGVhcl9iaXQoaW50IG5yLCB2b2lk ICphZGRyKQo+ICB7Cj4gICAgICBpbnQgb2xkYml0ID0gdGVzdF9iaXQobnIsIGFkZHIpOwo+ICAg ICAgY2xlYXJfYml0KG5yLCBhZGRyKTsKPiAgICAgIHJldHVybiBvbGRiaXQ7Cj4gIH0KPiAgCj4g LXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB1bnNpZ25lZCBsb25n ICphZGRyKQo+ICtzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9p ZCAqYWRkcikKPiAgewo+ICAgICAgaW50IG9sZGJpdCA9IHRlc3RfYml0KG5yLCBhZGRyKTsKPiAg ICAgIHNldF9iaXQobnIsIGFkZHIpOwo+ICAgICAgcmV0dXJuIG9sZGJpdDsKPiAgfQo+ICAKPiAt c3RhdGljIGlubGluZSB2b2lkIGJpdG1hcF9vcih1bnNpZ25lZCBsb25nICpkc3QsIGNvbnN0IHVu c2lnbmVkIGxvbmcgKm90aGVyLAo+ICtzdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX29yKHZvaWQg Kl9kc3QsIGNvbnN0IHZvaWQgKl9vdGhlciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgbnJfYml0cykKPiAgewo+IC0gICAgaW50IGksIG5yX2xvbmdzID0gKGJpdG1hcF9zaXpl KG5yX2JpdHMpIC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKTsKPiAtICAgIGZvciAoIGkgPSAwOyBp IDwgbnJfbG9uZ3M7ICsraSApCj4gKyAgICBjaGFyICpkc3QgPSBfZHN0Owo+ICsgICAgY29uc3Qg Y2hhciAqb3RoZXIgPSBfb3RoZXI7Cj4gKyAgICBpbnQgaTsKPiArICAgIGZvciAoIGkgPSAwOyBp IDwgYml0bWFwX3NpemUobnJfYml0cyk7ICsraSApCj4gICAgICAgICAgZHN0W2ldIHw9IG90aGVy W2ldOwo+ICB9Cj4gIAo+IC0tIAo+IDIuMS40Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=