From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V2 2/4] xen: Add generic implementation of binary search Date: Sun, 17 Jul 2016 18:26:30 -0500 Message-ID: <1468797992-5141-3-git-send-email-shankerd@codeaurora.org> References: <1468797992-5141-1-git-send-email-shankerd@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1468797992-5141-1-git-send-email-shankerd@codeaurora.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel , Julien Grall , Stefano Stabellini Cc: Philip Elcan , Wei Liu , Vikram Sethi , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIHRoZSBnZW5lcmljIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFy Y2ggYWxnb3JpdGhtCndoY2loIGlzIGNvcGllZCBmcm9tIExpbnV4IGtlcm5lbCB2NC43LXJjNy4g Tm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgoKU2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5p IDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYxOgogUmVtb3ZlZCB0 aGUgaGVhZGVyIGZpbGUgeGVuL2luY2x1ZGUveGVuL2JzZWFyY2guaC4KIERlZmluZWQgZnVuY3Rp b24gYnNlYXJjaCgpIHByb3RvdHlwZSBpbiB0aGUgaGVhZGVyIGZpbGUgeGVuL2xpYi5oLgoKIHhl bi9jb21tb24vTWFrZWZpbGUgICB8ICAxICsKIHhlbi9jb21tb24vYnNlYXJjaC5jICB8IDUxICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2lu Y2x1ZGUveGVuL2xpYi5oIHwgIDMgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL2JzZWFyY2guYwoKZGlmZiAtLWdpdCBh L3hlbi9jb21tb24vTWFrZWZpbGUgYi94ZW4vY29tbW9uL01ha2VmaWxlCmluZGV4IGRiZjAwYzYu LmY4MTIzYzIgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vTWFrZWZpbGUKKysrIGIveGVuL2NvbW1v bi9NYWtlZmlsZQpAQCAtNDMsNiArNDMsNyBAQCBvYmoteSArPSBzY2hlZHVsZS5vCiBvYmoteSAr PSBzaHV0ZG93bi5vCiBvYmoteSArPSBzb2Z0aXJxLm8KIG9iai15ICs9IHNvcnQubworb2JqLXkg Kz0gYnNlYXJjaC5vCiBvYmoteSArPSBzbXAubwogb2JqLXkgKz0gc3BpbmxvY2subwogb2JqLXkg Kz0gc3RvcF9tYWNoaW5lLm8KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vYnNlYXJjaC5jIGIveGVu L2NvbW1vbi9ic2VhcmNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA5 MDkzMAotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9jb21tb24vYnNlYXJjaC5jCkBAIC0wLDAgKzEs NTEgQEAKKy8qCisgKiBBIGdlbmVyaWMgaW1wbGVtZW50YXRpb24gb2YgYmluYXJ5IHNlYXJjaCBm b3IgdGhlIExpbnV4IGtlcm5lbAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEtzcGxp Y2UsIEluYy4KKyAqIEF1dGhvcjogVGltIEFiYm90dCA8dGFiYm90dEBrc3BsaWNlLmNvbT4KKyAq CisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4KKyAqLworCisjaW5jbHVkZSA8eGVuL2xpYi5oPgorCisvKgor ICogYnNlYXJjaCAtIGJpbmFyeSBzZWFyY2ggYW4gYXJyYXkgb2YgZWxlbWVudHMKKyAqIEBrZXk6 IHBvaW50ZXIgdG8gaXRlbSBiZWluZyBzZWFyY2hlZCBmb3IKKyAqIEBiYXNlOiBwb2ludGVyIHRv IGZpcnN0IGVsZW1lbnQgdG8gc2VhcmNoCisgKiBAbnVtOiBudW1iZXIgb2YgZWxlbWVudHMKKyAq IEBzaXplOiBzaXplIG9mIGVhY2ggZWxlbWVudAorICogQGNtcDogcG9pbnRlciB0byBjb21wYXJp c29uIGZ1bmN0aW9uCisgKgorICogVGhpcyBmdW5jdGlvbiBkb2VzIGEgYmluYXJ5IHNlYXJjaCBv biB0aGUgZ2l2ZW4gYXJyYXkuICBUaGUKKyAqIGNvbnRlbnRzIG9mIHRoZSBhcnJheSBzaG91bGQg YWxyZWFkeSBiZSBpbiBhc2NlbmRpbmcgc29ydGVkIG9yZGVyCisgKiB1bmRlciB0aGUgcHJvdmlk ZWQgY29tcGFyaXNvbiBmdW5jdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIGtleSBuZWVkIG5v dCBoYXZlIHRoZSBzYW1lIHR5cGUgYXMgdGhlIGVsZW1lbnRzIGluCisgKiB0aGUgYXJyYXksIGUu Zy4ga2V5IGNvdWxkIGJlIGEgc3RyaW5nIGFuZCB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbgorICog Y291bGQgY29tcGFyZSB0aGUgc3RyaW5nIHdpdGggdGhlIHN0cnVjdCdzIG5hbWUgZmllbGQuICBI b3dldmVyLCBpZgorICogdGhlIGtleSBhbmQgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFyZSBvZiB0 aGUgc2FtZSB0eXBlLCB5b3UgY2FuIHVzZQorICogdGhlIHNhbWUgY29tcGFyaXNvbiBmdW5jdGlv biBmb3IgYm90aCBzb3J0KCkgYW5kIGJzZWFyY2goKS4KKyAqLwordm9pZCAqYnNlYXJjaChjb25z dCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsIHNpemVfdCBudW0sIHNpemVfdCBzaXplLAor CSAgICAgIGludCAoKmNtcCkoY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICplbHQpKQorewor CXNpemVfdCBzdGFydCA9IDAsIGVuZCA9IG51bTsKKwlpbnQgcmVzdWx0OworCisJd2hpbGUgKHN0 YXJ0IDwgZW5kKSB7CisJCXNpemVfdCBtaWQgPSBzdGFydCArIChlbmQgLSBzdGFydCkgLyAyOwor CisJCXJlc3VsdCA9IGNtcChrZXksIGJhc2UgKyBtaWQgKiBzaXplKTsKKwkJaWYgKHJlc3VsdCA8 IDApCisJCQllbmQgPSBtaWQ7CisJCWVsc2UgaWYgKHJlc3VsdCA+IDApCisJCQlzdGFydCA9IG1p ZCArIDE7CisJCWVsc2UKKwkJCXJldHVybiAodm9pZCAqKWJhc2UgKyBtaWQgKiBzaXplOworCX0K KworCXJldHVybiBOVUxMOworfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2xpYi5oIGIv eGVuL2luY2x1ZGUveGVuL2xpYi5oCmluZGV4IGIxYjBmYjIuLmI5MGQ1ODIgMTAwNjQ0Ci0tLSBh L3hlbi9pbmNsdWRlL3hlbi9saWIuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vbGliLmgKQEAgLTE1 Myw0ICsxNTMsNyBAQCB2b2lkIGR1bXBfZXhlY3N0YXRlKHN0cnVjdCBjcHVfdXNlcl9yZWdzICop OwogCiB2b2lkIGluaXRfY29uc3RydWN0b3JzKHZvaWQpOwogCit2b2lkICpic2VhcmNoKGNvbnN0 IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZSwgc2l6ZV90IG51bSwgc2l6ZV90IHNpemUsCisg ICAgICAgICAgICAgIGludCAoKmNtcCkoY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICplbHQp KQorCiAjZW5kaWYgLyogX19MSUJfSF9fICovCi0tIApRdWFsY29tbSBEYXRhY2VudGVyIFRlY2hu b2xvZ2llcywgSW5jLiBvbiBiZWhhbGYgb2YgdGhlIFF1YWxjb21tIFRlY2hub2xvZ2llcywgSW5j LgpRdWFsY29tbSBUZWNobm9sb2dpZXMsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVy b3JhIEZvcnVtLCBhIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0LgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=