From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 22/28] tools/libxc: Modify bitmap operations to take void pointers Date: Tue, 15 Mar 2016 15:35:18 +0000 Message-ID: <1458056124-8024-23-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-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: <1458056124-8024-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 , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIgdG8gYSBiaXRtYXAgaXMgbm90IGludGVyZXN0aW5nOyBp dCBkb2VzIG5vdCBhZmZlY3QgdGhlCnJlcHJlc2VudGF0aW9uIG9mIHRoZSBibG9jayBvZiBiaXRz IGJlaW5nIHBvaW50ZWQgdG8uCgpNYWtlIHRoZSBsaWJ4YyBmdW5jdGlvbnMgY29uc2lzdGVudCB3 aXRoIHRob3NlIGluIFhlbiwgc28gdGhleSBjYW4gd29yayBqdXN0CmFzIHdlbGwgd2l0aCAndW5z aWduZWQgaW50IConIGJhc2VkIGJpdG1hcHMuCgpBcyBwYXJ0IG9mIGRvaW5nIHNvLCBjaGFuZ2Ug dGhlIGltcGxlbWVudGF0aW9uIHRvIGJlIGluIHRlcm1zIG9mIGNoYXIgcmF0aGVyCnRoYW4gdW5z aWduZWQgbG9uZy4gIFRoaXMgZml4ZXMgYWxpZ25tZW50IGNvbmNlcm5zIHdpdGggQVJNLgoKU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t CkNDOiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+Cgp2MzoKICogSW1wbGVtZW50IGluIHRlcm1zIG9mIGNoYXIg cmF0aGVyIHRoYW4gdW5zaWduZWQgbG9uZyB0byBmaXggYWxpZ25tZW50CiAgIGlzc3VlcyBmb3Ig QVJNLgp2MjoKICogTmV3Ci0tLQogdG9vbHMvbGlieGMveGNfYml0b3BzLmggfCAzNyArKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0 aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfYml0 b3BzLmggYi90b29scy9saWJ4Yy94Y19iaXRvcHMuaAppbmRleCBjZDc0OWY0Li5jMmM5NmQzIDEw MDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19iaXRvcHMuaAorKysgYi90b29scy9saWJ4Yy94Y19i aXRvcHMuaApAQCAtNiw3MCArNiw3MyBAQAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUg PHN0cmluZy5oPgogCisvKiBOZWVkZWQgYnkgc2V2ZXJhbCBpbmNsdWRlZXMsIGJ1dCBubyBsb25n ZXIgdXNlZCBmb3IgYml0b3BzLiAqLwogI2RlZmluZSBCSVRTX1BFUl9MT05HIChzaXplb2YodW5z aWduZWQgbG9uZykgKiA4KQogI2RlZmluZSBPUkRFUl9MT05HIChzaXplb2YodW5zaWduZWQgbG9u ZykgPT0gNCA/IDUgOiA2KQogCi0jZGVmaW5lIEJJVE1BUF9FTlRSWShfbnIsX2JtYXApICgoX2Jt YXApKVsoX25yKS9CSVRTX1BFUl9MT05HXQotI2RlZmluZSBCSVRNQVBfU0hJRlQoX25yKSAoKF9u cikgJSBCSVRTX1BFUl9MT05HKQorI2RlZmluZSBCSVRNQVBfRU5UUlkoX25yLF9ibWFwKSAoKF9i bWFwKSlbKF9ucikgLyA4XQorI2RlZmluZSBCSVRNQVBfU0hJRlQoX25yKSAoKF9ucikgJSA4KQog CiAvKiBjYWxjdWxhdGUgcmVxdWlyZWQgc3BhY2UgZm9yIG51bWJlciBvZiBsb25ncyBuZWVkZWQg dG8gaG9sZCBucl9iaXRzICovCiBzdGF0aWMgaW5saW5lIGludCBiaXRtYXBfc2l6ZShpbnQgbnJf Yml0cykKIHsKLSAgICBpbnQgbnJfbG9uZywgbnJfYnl0ZXM7Ci0gICAgbnJfbG9uZyA9IChucl9i aXRzICsgQklUU19QRVJfTE9ORyAtIDEpID4+IE9SREVSX0xPTkc7Ci0gICAgbnJfYnl0ZXMgPSBu cl9sb25nICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOwotICAgIHJldHVybiBucl9ieXRlczsKKyAg ICByZXR1cm4gKG5yX2JpdHMgKyA3KSA+PiA4OwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVk IGxvbmcgKmJpdG1hcF9hbGxvYyhpbnQgbnJfYml0cykKK3N0YXRpYyBpbmxpbmUgdm9pZCAqYml0 bWFwX2FsbG9jKGludCBucl9iaXRzKQogewogICAgIHJldHVybiBjYWxsb2MoMSwgYml0bWFwX3Np emUobnJfYml0cykpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX3NldCh1bnNpZ25l ZCBsb25nICphZGRyLCBpbnQgbnJfYml0cykKK3N0YXRpYyBpbmxpbmUgdm9pZCBiaXRtYXBfc2V0 KHZvaWQgKmFkZHIsIGludCBucl9iaXRzKQogewogICAgIG1lbXNldChhZGRyLCAweGZmLCBiaXRt YXBfc2l6ZShucl9iaXRzKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBiaXRtYXBfY2xlYXIo dW5zaWduZWQgbG9uZyAqYWRkciwgaW50IG5yX2JpdHMpCitzdGF0aWMgaW5saW5lIHZvaWQgYml0 bWFwX2NsZWFyKHZvaWQgKmFkZHIsIGludCBucl9iaXRzKQogewogICAgIG1lbXNldChhZGRyLCAw LCBiaXRtYXBfc2l6ZShucl9iaXRzKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYml0 KGludCBuciwgdW5zaWduZWQgbG9uZyAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYml0 KGludCBuciwgY29uc3Qgdm9pZCAqX2FkZHIpCiB7CisgICAgY29uc3QgY2hhciAqYWRkciA9IF9h ZGRyOwogICAgIHJldHVybiAoQklUTUFQX0VOVFJZKG5yLCBhZGRyKSA+PiBCSVRNQVBfU0hJRlQo bnIpKSAmIDE7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXQoaW50IG5yLCB1bnNp Z25lZCBsb25nICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZv aWQgKl9hZGRyKQogeworICAgIGNoYXIgKmFkZHIgPSBfYWRkcjsKICAgICBCSVRNQVBfRU5UUlko bnIsIGFkZHIpICY9IH4oMVVMIDw8IEJJVE1BUF9TSElGVChucikpOwogfQogCi1zdGF0aWMgaW5s aW5lIHZvaWQgc2V0X2JpdChpbnQgbnIsIHVuc2lnbmVkIGxvbmcgKmFkZHIpCitzdGF0aWMgaW5s aW5lIHZvaWQgc2V0X2JpdChpbnQgbnIsIHZvaWQgKl9hZGRyKQogeworICAgIGNoYXIgKmFkZHIg PSBfYWRkcjsKICAgICBCSVRNQVBfRU5UUlkobnIsIGFkZHIpIHw9ICgxVUwgPDwgQklUTUFQX1NI SUZUKG5yKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQg bnIsIHVuc2lnbmVkIGxvbmcgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jbGVh cl9iaXQoaW50IG5yLCB2b2lkICphZGRyKQogewogICAgIGludCBvbGRiaXQgPSB0ZXN0X2JpdChu ciwgYWRkcik7CiAgICAgY2xlYXJfYml0KG5yLCBhZGRyKTsKICAgICByZXR1cm4gb2xkYml0Owog fQogCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdW5zaWduZWQg bG9uZyAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2 b2lkICphZGRyKQogewogICAgIGludCBvbGRiaXQgPSB0ZXN0X2JpdChuciwgYWRkcik7CiAgICAg c2V0X2JpdChuciwgYWRkcik7CiAgICAgcmV0dXJuIG9sZGJpdDsKIH0KIAotc3RhdGljIGlubGlu ZSB2b2lkIGJpdG1hcF9vcih1bnNpZ25lZCBsb25nICpkc3QsIGNvbnN0IHVuc2lnbmVkIGxvbmcg Km90aGVyLAorc3RhdGljIGlubGluZSB2b2lkIGJpdG1hcF9vcih2b2lkICpfZHN0LCBjb25zdCB2 b2lkICpfb3RoZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBucl9iaXRzKQog ewotICAgIGludCBpLCBucl9sb25ncyA9IChiaXRtYXBfc2l6ZShucl9iaXRzKSAvIHNpemVvZih1 bnNpZ25lZCBsb25nKSk7Ci0gICAgZm9yICggaSA9IDA7IGkgPCBucl9sb25nczsgKytpICkKKyAg ICBjaGFyICpkc3QgPSBfZHN0OworICAgIGNvbnN0IGNoYXIgKm90aGVyID0gX290aGVyOworICAg IGludCBpOworICAgIGZvciAoIGkgPSAwOyBpIDwgYml0bWFwX3NpemUobnJfYml0cyk7ICsraSAp CiAgICAgICAgIGRzdFtpXSB8PSBvdGhlcltpXTsKIH0KIAotLSAKMi4xLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=