From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6 15/21] tools/libxc: Modify bitmap operations to take void pointers Date: Fri, 8 Apr 2016 21:31:51 +0100 Message-ID: <1460147517-11706-16-git-send-email-andrew.cooper3@citrix.com> References: <1460147517-11706-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1460147517-11706-1-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: Xen-devel Cc: Andrew Cooper , Julien Grall , Ian Jackson , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIgdG8gYSBiaXRtYXAgaXMgbm90IGludGVyZXN0aW5nOyBp dCBkb2VzIG5vdCBhZmZlY3QgdGhlCnJlcHJlc2VudGF0aW9uIG9mIHRoZSBibG9jayBvZiBiaXRz IGJlaW5nIHBvaW50ZWQgdG8uCgpNYWtlIHRoZSBsaWJ4YyBmdW5jdGlvbnMgY29uc2lzdGVudCB3 aXRoIHRob3NlIGluIFhlbiwgc28gdGhleSBjYW4gd29yayBqdXN0CmFzIHdlbGwgd2l0aCAndW5z aWduZWQgaW50IConIGJhc2VkIGJpdG1hcHMuCgpBcyBwYXJ0IG9mIGRvaW5nIHNvLCBjaGFuZ2Ug dGhlIGltcGxlbWVudGF0aW9uIHRvIGJlIGluIHRlcm1zIG9mIGNoYXIgcmF0aGVyCnRoYW4gdW5z aWduZWQgbG9uZy4gIFRoaXMgZml4ZXMgYWxpZ25tZW50IGNvbmNlcm5zIHdpdGggQVJNLgoKU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQWNr ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBLb25yYWQg Unplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQpDQzogSWFuIEphY2tz b24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0 ZWZhbm8uc3RhYmVsbGluaUBjaXRyaXguY29tPgpDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3Jh bGxAYXJtLmNvbT4KCnYyOgogKiBOZXcKdjM6CiAqIEltcGxlbWVudCBpbiB0ZXJtcyBvZiBjaGFy IHJhdGhlciB0aGFuIHVuc2lnbmVkIGxvbmcgdG8gZml4IGFsaWdubWVudAogICBpc3N1ZXMgZm9y IEFSTS4KdjQ6CiAqIEZpeCBlcnJvbmlvdXMgY2FsY3VsYXRpb24gaW4gYml0bWFwX3NpemUoKQot LS0KIHRvb2xzL2xpYnhjL3hjX2JpdG9wcy5oIHwgMzcgKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGMveGNfbWlzYy5jICAgfCAgMyArKysKIDIgZmlsZXMg Y2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGMveGNfYml0b3BzLmggYi90b29scy9saWJ4Yy94Y19iaXRvcHMuaAppbmRleCBj ZDc0OWY0Li4zZTdhNTQ0IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19iaXRvcHMuaAorKysg Yi90b29scy9saWJ4Yy94Y19iaXRvcHMuaApAQCAtNiw3MCArNiw3MyBAQAogI2luY2x1ZGUgPHN0 ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCisvKiBOZWVkZWQgYnkgc2V2ZXJhbCBpbmNs dWRlZXMsIGJ1dCBubyBsb25nZXIgdXNlZCBmb3IgYml0b3BzLiAqLwogI2RlZmluZSBCSVRTX1BF Ul9MT05HIChzaXplb2YodW5zaWduZWQgbG9uZykgKiA4KQogI2RlZmluZSBPUkRFUl9MT05HIChz aXplb2YodW5zaWduZWQgbG9uZykgPT0gNCA/IDUgOiA2KQogCi0jZGVmaW5lIEJJVE1BUF9FTlRS WShfbnIsX2JtYXApICgoX2JtYXApKVsoX25yKS9CSVRTX1BFUl9MT05HXQotI2RlZmluZSBCSVRN QVBfU0hJRlQoX25yKSAoKF9ucikgJSBCSVRTX1BFUl9MT05HKQorI2RlZmluZSBCSVRNQVBfRU5U UlkoX25yLF9ibWFwKSAoKF9ibWFwKSlbKF9ucikgLyA4XQorI2RlZmluZSBCSVRNQVBfU0hJRlQo X25yKSAoKF9ucikgJSA4KQogCiAvKiBjYWxjdWxhdGUgcmVxdWlyZWQgc3BhY2UgZm9yIG51bWJl ciBvZiBsb25ncyBuZWVkZWQgdG8gaG9sZCBucl9iaXRzICovCiBzdGF0aWMgaW5saW5lIGludCBi aXRtYXBfc2l6ZShpbnQgbnJfYml0cykKIHsKLSAgICBpbnQgbnJfbG9uZywgbnJfYnl0ZXM7Ci0g ICAgbnJfbG9uZyA9IChucl9iaXRzICsgQklUU19QRVJfTE9ORyAtIDEpID4+IE9SREVSX0xPTkc7 Ci0gICAgbnJfYnl0ZXMgPSBucl9sb25nICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOwotICAgIHJl dHVybiBucl9ieXRlczsKKyAgICByZXR1cm4gKG5yX2JpdHMgKyA3KSAvIDg7CiB9CiAKLXN0YXRp YyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqYml0bWFwX2FsbG9jKGludCBucl9iaXRzKQorc3RhdGlj IGlubGluZSB2b2lkICpiaXRtYXBfYWxsb2MoaW50IG5yX2JpdHMpCiB7CiAgICAgcmV0dXJuIGNh bGxvYygxLCBiaXRtYXBfc2l6ZShucl9iaXRzKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBi aXRtYXBfc2V0KHVuc2lnbmVkIGxvbmcgKmFkZHIsIGludCBucl9iaXRzKQorc3RhdGljIGlubGlu ZSB2b2lkIGJpdG1hcF9zZXQodm9pZCAqYWRkciwgaW50IG5yX2JpdHMpCiB7CiAgICAgbWVtc2V0 KGFkZHIsIDB4ZmYsIGJpdG1hcF9zaXplKG5yX2JpdHMpKTsKIH0KIAotc3RhdGljIGlubGluZSB2 b2lkIGJpdG1hcF9jbGVhcih1bnNpZ25lZCBsb25nICphZGRyLCBpbnQgbnJfYml0cykKK3N0YXRp YyBpbmxpbmUgdm9pZCBiaXRtYXBfY2xlYXIodm9pZCAqYWRkciwgaW50IG5yX2JpdHMpCiB7CiAg ICAgbWVtc2V0KGFkZHIsIDAsIGJpdG1hcF9zaXplKG5yX2JpdHMpKTsKIH0KIAotc3RhdGljIGlu bGluZSBpbnQgdGVzdF9iaXQoaW50IG5yLCB1bnNpZ25lZCBsb25nICphZGRyKQorc3RhdGljIGlu bGluZSBpbnQgdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2lkICpfYWRkcikKIHsKKyAgICBjb25z dCBjaGFyICphZGRyID0gX2FkZHI7CiAgICAgcmV0dXJuIChCSVRNQVBfRU5UUlkobnIsIGFkZHIp ID4+IEJJVE1BUF9TSElGVChucikpICYgMTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGNsZWFy X2JpdChpbnQgbnIsIHVuc2lnbmVkIGxvbmcgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgY2xl YXJfYml0KGludCBuciwgdm9pZCAqX2FkZHIpCiB7CisgICAgY2hhciAqYWRkciA9IF9hZGRyOwog ICAgIEJJVE1BUF9FTlRSWShuciwgYWRkcikgJj0gfigxVUwgPDwgQklUTUFQX1NISUZUKG5yKSk7 CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdW5zaWduZWQgbG9uZyAq YWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdm9pZCAqX2FkZHIpCiB7 CisgICAgY2hhciAqYWRkciA9IF9hZGRyOwogICAgIEJJVE1BUF9FTlRSWShuciwgYWRkcikgfD0g KDFVTCA8PCBCSVRNQVBfU0hJRlQobnIpKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgdGVzdF9h bmRfY2xlYXJfYml0KGludCBuciwgdW5zaWduZWQgbG9uZyAqYWRkcikKK3N0YXRpYyBpbmxpbmUg aW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvaWQgKmFkZHIpCiB7CiAgICAgaW50IG9s ZGJpdCA9IHRlc3RfYml0KG5yLCBhZGRyKTsKICAgICBjbGVhcl9iaXQobnIsIGFkZHIpOwogICAg IHJldHVybiBvbGRiaXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQo aW50IG5yLCB1bnNpZ25lZCBsb25nICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRf c2V0X2JpdChpbnQgbnIsIHZvaWQgKmFkZHIpCiB7CiAgICAgaW50IG9sZGJpdCA9IHRlc3RfYml0 KG5yLCBhZGRyKTsKICAgICBzZXRfYml0KG5yLCBhZGRyKTsKICAgICByZXR1cm4gb2xkYml0Owog fQogCi1zdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX29yKHVuc2lnbmVkIGxvbmcgKmRzdCwgY29u c3QgdW5zaWduZWQgbG9uZyAqb3RoZXIsCitzdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX29yKHZv aWQgKl9kc3QsIGNvbnN0IHZvaWQgKl9vdGhlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IG5yX2JpdHMpCiB7Ci0gICAgaW50IGksIG5yX2xvbmdzID0gKGJpdG1hcF9zaXplKG5y X2JpdHMpIC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKTsKLSAgICBmb3IgKCBpID0gMDsgaSA8IG5y X2xvbmdzOyArK2kgKQorICAgIGNoYXIgKmRzdCA9IF9kc3Q7CisgICAgY29uc3QgY2hhciAqb3Ro ZXIgPSBfb3RoZXI7CisgICAgaW50IGk7CisgICAgZm9yICggaSA9IDA7IGkgPCBiaXRtYXBfc2l6 ZShucl9iaXRzKTsgKytpICkKICAgICAgICAgZHN0W2ldIHw9IG90aGVyW2ldOwogfQogCmRpZmYg LS1naXQgYS90b29scy9saWJ4Yy94Y19taXNjLmMgYi90b29scy9saWJ4Yy94Y19taXNjLmMKaW5k ZXggMTI0NTM3Yi4uN2Q5OTdkOSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfbWlzYy5jCisr KyBiL3Rvb2xzL2xpYnhjL3hjX21pc2MuYwpAQCAtOTksNiArOTksOSBAQCB4Y19jcHVtYXBfdCB4 Y19jcHVtYXBfYWxsb2MoeGNfaW50ZXJmYWNlICp4Y2gpCiAgKiBieXRlIGFsaWduZWQgYW5kIHNv IHdlIG5lZWQgYnl0ZSB2ZXJzaW9ucyBmb3IgYXJjaGl0ZWN0dXJlcyB3aGljaCBkbwogICogbm90 IHN1cHBvcnQgbWlzYWxpZ25lZCBhY2Nlc3NlcyAod2hpY2ggaXMgYmFzaWNhbGx5IGV2ZXJ5b25l CiAgKiBidXQgeDg2LCBhbHRob3VnaCBldmVuIG9uIHg4NiBpdCBjYW4gYmUgaW5lZmZpY2llbnQp LgorICoKKyAqIE5PVEU6IFRoZSB4Y19iaXRvcHMgbWFjcm9zIG5vdyB1c2UgYnl0ZSBhbGlnbm1l bnQuCisgKiBUT0RPOiBDbGVhbiB1cCB0aGUgdXNlcnMgb2YgdGhpcyBpbnRlcmZhY2UuCiAgKi8K ICNkZWZpbmUgQklUU19QRVJfQ1BVTUFQKG1hcCkgKHNpemVvZigqbWFwKSAqIDgpCiAjZGVmaW5l IENQVU1BUF9FTlRSWShjcHUsIG1hcCkgKChtYXApKVsoY3B1KSAvIEJJVFNfUEVSX0NQVU1BUCht YXApXQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=