From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v5 15/21] tools/libxc: Modify bitmap operations to take void pointers Date: Thu, 7 Apr 2016 12:57:20 +0100 Message-ID: <1460030246-30153-16-git-send-email-andrew.cooper3@citrix.com> References: <1460030246-30153-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: <1460030246-30153-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 , Wei Liu , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIgdG8gYSBiaXRtYXAgaXMgbm90IGludGVyZXN0aW5nOyBp dCBkb2VzIG5vdCBhZmZlY3QgdGhlCnJlcHJlc2VudGF0aW9uIG9mIHRoZSBibG9jayBvZiBiaXRz IGJlaW5nIHBvaW50ZWQgdG8uCgpNYWtlIHRoZSBsaWJ4YyBmdW5jdGlvbnMgY29uc2lzdGVudCB3 aXRoIHRob3NlIGluIFhlbiwgc28gdGhleSBjYW4gd29yayBqdXN0CmFzIHdlbGwgd2l0aCAndW5z aWduZWQgaW50IConIGJhc2VkIGJpdG1hcHMuCgpBcyBwYXJ0IG9mIGRvaW5nIHNvLCBjaGFuZ2Ug dGhlIGltcGxlbWVudGF0aW9uIHRvIGJlIGluIHRlcm1zIG9mIGNoYXIgcmF0aGVyCnRoYW4gdW5z aWduZWQgbG9uZy4gIFRoaXMgZml4ZXMgYWxpZ25tZW50IGNvbmNlcm5zIHdpdGggQVJNLgoKU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t CkNDOiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3Rh YmVsbGluaUBjaXRyaXguY29tPgpDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNv bT4KCnYyOgogKiBOZXcKdjM6CiAqIEltcGxlbWVudCBpbiB0ZXJtcyBvZiBjaGFyIHJhdGhlciB0 aGFuIHVuc2lnbmVkIGxvbmcgdG8gZml4IGFsaWdubWVudAogICBpc3N1ZXMgZm9yIEFSTS4KdjQ6 CiAqIEZpeCBlcnJvbmlvdXMgY2FsY3VsYXRpb24gaW4gYml0bWFwX3NpemUoKQotLS0KIHRvb2xz L2xpYnhjL3hjX2JpdG9wcy5oIHwgMzcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2JpdG9wcy5oIGIvdG9vbHMvbGlieGMveGNfYml0 b3BzLmgKaW5kZXggY2Q3NDlmNC4uM2U3YTU0NCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf Yml0b3BzLmgKKysrIGIvdG9vbHMvbGlieGMveGNfYml0b3BzLmgKQEAgLTYsNzAgKzYsNzMgQEAK ICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAorLyogTmVlZGVkIGJ5 IHNldmVyYWwgaW5jbHVkZWVzLCBidXQgbm8gbG9uZ2VyIHVzZWQgZm9yIGJpdG9wcy4gKi8KICNk ZWZpbmUgQklUU19QRVJfTE9ORyAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCkKICNkZWZpbmUg T1JERVJfTE9ORyAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpID09IDQgPyA1IDogNikKIAotI2RlZmlu ZSBCSVRNQVBfRU5UUlkoX25yLF9ibWFwKSAoKF9ibWFwKSlbKF9ucikvQklUU19QRVJfTE9OR10K LSNkZWZpbmUgQklUTUFQX1NISUZUKF9ucikgKChfbnIpICUgQklUU19QRVJfTE9ORykKKyNkZWZp bmUgQklUTUFQX0VOVFJZKF9ucixfYm1hcCkgKChfYm1hcCkpWyhfbnIpIC8gOF0KKyNkZWZpbmUg QklUTUFQX1NISUZUKF9ucikgKChfbnIpICUgOCkKIAogLyogY2FsY3VsYXRlIHJlcXVpcmVkIHNw YWNlIGZvciBudW1iZXIgb2YgbG9uZ3MgbmVlZGVkIHRvIGhvbGQgbnJfYml0cyAqLwogc3RhdGlj IGlubGluZSBpbnQgYml0bWFwX3NpemUoaW50IG5yX2JpdHMpCiB7Ci0gICAgaW50IG5yX2xvbmcs IG5yX2J5dGVzOwotICAgIG5yX2xvbmcgPSAobnJfYml0cyArIEJJVFNfUEVSX0xPTkcgLSAxKSA+ PiBPUkRFUl9MT05HOwotICAgIG5yX2J5dGVzID0gbnJfbG9uZyAqIHNpemVvZih1bnNpZ25lZCBs b25nKTsKLSAgICByZXR1cm4gbnJfYnl0ZXM7CisgICAgcmV0dXJuIChucl9iaXRzICsgNykgLyA4 OwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgKmJpdG1hcF9hbGxvYyhpbnQgbnJf Yml0cykKK3N0YXRpYyBpbmxpbmUgdm9pZCAqYml0bWFwX2FsbG9jKGludCBucl9iaXRzKQogewog ICAgIHJldHVybiBjYWxsb2MoMSwgYml0bWFwX3NpemUobnJfYml0cykpOwogfQogCi1zdGF0aWMg aW5saW5lIHZvaWQgYml0bWFwX3NldCh1bnNpZ25lZCBsb25nICphZGRyLCBpbnQgbnJfYml0cykK K3N0YXRpYyBpbmxpbmUgdm9pZCBiaXRtYXBfc2V0KHZvaWQgKmFkZHIsIGludCBucl9iaXRzKQog ewogICAgIG1lbXNldChhZGRyLCAweGZmLCBiaXRtYXBfc2l6ZShucl9iaXRzKSk7CiB9CiAKLXN0 YXRpYyBpbmxpbmUgdm9pZCBiaXRtYXBfY2xlYXIodW5zaWduZWQgbG9uZyAqYWRkciwgaW50IG5y X2JpdHMpCitzdGF0aWMgaW5saW5lIHZvaWQgYml0bWFwX2NsZWFyKHZvaWQgKmFkZHIsIGludCBu cl9iaXRzKQogewogICAgIG1lbXNldChhZGRyLCAwLCBiaXRtYXBfc2l6ZShucl9iaXRzKSk7CiB9 CiAKLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYml0KGludCBuciwgdW5zaWduZWQgbG9uZyAqYWRk cikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYml0KGludCBuciwgY29uc3Qgdm9pZCAqX2FkZHIp CiB7CisgICAgY29uc3QgY2hhciAqYWRkciA9IF9hZGRyOwogICAgIHJldHVybiAoQklUTUFQX0VO VFJZKG5yLCBhZGRyKSA+PiBCSVRNQVBfU0hJRlQobnIpKSAmIDE7CiB9CiAKLXN0YXRpYyBpbmxp bmUgdm9pZCBjbGVhcl9iaXQoaW50IG5yLCB1bnNpZ25lZCBsb25nICphZGRyKQorc3RhdGljIGlu bGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZvaWQgKl9hZGRyKQogeworICAgIGNoYXIgKmFk ZHIgPSBfYWRkcjsKICAgICBCSVRNQVBfRU5UUlkobnIsIGFkZHIpICY9IH4oMVVMIDw8IEJJVE1B UF9TSElGVChucikpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X2JpdChpbnQgbnIsIHVu c2lnbmVkIGxvbmcgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0X2JpdChpbnQgbnIsIHZv aWQgKl9hZGRyKQogeworICAgIGNoYXIgKmFkZHIgPSBfYWRkcjsKICAgICBCSVRNQVBfRU5UUlko bnIsIGFkZHIpIHw9ICgxVUwgPDwgQklUTUFQX1NISUZUKG5yKSk7CiB9CiAKLXN0YXRpYyBpbmxp bmUgaW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHVuc2lnbmVkIGxvbmcgKmFkZHIpCitz dGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jbGVhcl9iaXQoaW50IG5yLCB2b2lkICphZGRyKQog ewogICAgIGludCBvbGRiaXQgPSB0ZXN0X2JpdChuciwgYWRkcik7CiAgICAgY2xlYXJfYml0KG5y LCBhZGRyKTsKICAgICByZXR1cm4gb2xkYml0OwogfQogCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0 X2FuZF9zZXRfYml0KGludCBuciwgdW5zaWduZWQgbG9uZyAqYWRkcikKK3N0YXRpYyBpbmxpbmUg aW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2lkICphZGRyKQogewogICAgIGludCBvbGRi aXQgPSB0ZXN0X2JpdChuciwgYWRkcik7CiAgICAgc2V0X2JpdChuciwgYWRkcik7CiAgICAgcmV0 dXJuIG9sZGJpdDsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGJpdG1hcF9vcih1bnNpZ25lZCBs b25nICpkc3QsIGNvbnN0IHVuc2lnbmVkIGxvbmcgKm90aGVyLAorc3RhdGljIGlubGluZSB2b2lk IGJpdG1hcF9vcih2b2lkICpfZHN0LCBjb25zdCB2b2lkICpfb3RoZXIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBucl9iaXRzKQogewotICAgIGludCBpLCBucl9sb25ncyA9IChi aXRtYXBfc2l6ZShucl9iaXRzKSAvIHNpemVvZih1bnNpZ25lZCBsb25nKSk7Ci0gICAgZm9yICgg aSA9IDA7IGkgPCBucl9sb25nczsgKytpICkKKyAgICBjaGFyICpkc3QgPSBfZHN0OworICAgIGNv bnN0IGNoYXIgKm90aGVyID0gX290aGVyOworICAgIGludCBpOworICAgIGZvciAoIGkgPSAwOyBp IDwgYml0bWFwX3NpemUobnJfYml0cyk7ICsraSApCiAgICAgICAgIGRzdFtpXSB8PSBvdGhlcltp XTsKIH0KIAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=