From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V3 2/4] xen: Add generic implementation of binary search Date: Wed, 20 Jul 2016 09:00:54 -0500 Message-ID: <1469023256-6487-3-git-send-email-shankerd@codeaurora.org> References: <1469023256-6487-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: <1469023256-6487-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 Y2ggYWxnb3JpdGhtCndoaWNoIGlzIGNvcGllZCBmcm9tIExpbnV4IGtlcm5lbCB2NC43LXJjNy4g Tm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgoKU2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5p IDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll bi5ncmFsbEBhcm0uY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MjoKIEZpeGVkIHRoZSBjb21waWxh dGlvbiBpc3N1ZSBkdWUgdG8gYSBtaXNzaW5nICc7Jy4KIEZpeGVkIHR5cG8uCgpDaGFuZ2VzIHNp bmNlIHYxOgogUmVtb3ZlZCB0aGUgaGVhZGVyIGZpbGUgeGVuL2luY2x1ZGUveGVuL2JzZWFyY2gu aC4KIERlZmluZWQgZnVuY3Rpb24gYnNlYXJjaCgpIHByb3RvdHlwZSBpbiB0aGUgaGVhZGVyIGZp bGUgeGVuL2xpYi5oLgoKIHhlbi9jb21tb24vTWFrZWZpbGUgICB8ICAxICsKIHhlbi9jb21tb24v YnNlYXJjaC5jICB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogeGVuL2luY2x1ZGUveGVuL2xpYi5oIHwgIDMgKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDU1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL2JzZWFy Y2guYwoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vTWFrZWZpbGUgYi94ZW4vY29tbW9uL01ha2Vm aWxlCmluZGV4IGRiZjAwYzYuLmY4MTIzYzIgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vTWFrZWZp bGUKKysrIGIveGVuL2NvbW1vbi9NYWtlZmlsZQpAQCAtNDMsNiArNDMsNyBAQCBvYmoteSArPSBz Y2hlZHVsZS5vCiBvYmoteSArPSBzaHV0ZG93bi5vCiBvYmoteSArPSBzb2Z0aXJxLm8KIG9iai15 ICs9IHNvcnQubworb2JqLXkgKz0gYnNlYXJjaC5vCiBvYmoteSArPSBzbXAubwogb2JqLXkgKz0g c3BpbmxvY2subwogb2JqLXkgKz0gc3RvcF9tYWNoaW5lLm8KZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vYnNlYXJjaC5jIGIveGVuL2NvbW1vbi9ic2VhcmNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uNzA5MDkzMAotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9jb21tb24vYnNl YXJjaC5jCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBBIGdlbmVyaWMgaW1wbGVtZW50YXRpb24g b2YgYmluYXJ5IHNlYXJjaCBmb3IgdGhlIExpbnV4IGtlcm5lbAorICoKKyAqIENvcHlyaWdodCAo QykgMjAwOC0yMDA5IEtzcGxpY2UsIEluYy4KKyAqIEF1dGhvcjogVGltIEFiYm90dCA8dGFiYm90 dEBrc3BsaWNlLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KKyAqLworCisjaW5jbHVkZSA8 eGVuL2xpYi5oPgorCisvKgorICogYnNlYXJjaCAtIGJpbmFyeSBzZWFyY2ggYW4gYXJyYXkgb2Yg ZWxlbWVudHMKKyAqIEBrZXk6IHBvaW50ZXIgdG8gaXRlbSBiZWluZyBzZWFyY2hlZCBmb3IKKyAq IEBiYXNlOiBwb2ludGVyIHRvIGZpcnN0IGVsZW1lbnQgdG8gc2VhcmNoCisgKiBAbnVtOiBudW1i ZXIgb2YgZWxlbWVudHMKKyAqIEBzaXplOiBzaXplIG9mIGVhY2ggZWxlbWVudAorICogQGNtcDog cG9pbnRlciB0byBjb21wYXJpc29uIGZ1bmN0aW9uCisgKgorICogVGhpcyBmdW5jdGlvbiBkb2Vz IGEgYmluYXJ5IHNlYXJjaCBvbiB0aGUgZ2l2ZW4gYXJyYXkuICBUaGUKKyAqIGNvbnRlbnRzIG9m IHRoZSBhcnJheSBzaG91bGQgYWxyZWFkeSBiZSBpbiBhc2NlbmRpbmcgc29ydGVkIG9yZGVyCisg KiB1bmRlciB0aGUgcHJvdmlkZWQgY29tcGFyaXNvbiBmdW5jdGlvbi4KKyAqCisgKiBOb3RlIHRo YXQgdGhlIGtleSBuZWVkIG5vdCBoYXZlIHRoZSBzYW1lIHR5cGUgYXMgdGhlIGVsZW1lbnRzIGlu CisgKiB0aGUgYXJyYXksIGUuZy4ga2V5IGNvdWxkIGJlIGEgc3RyaW5nIGFuZCB0aGUgY29tcGFy aXNvbiBmdW5jdGlvbgorICogY291bGQgY29tcGFyZSB0aGUgc3RyaW5nIHdpdGggdGhlIHN0cnVj dCdzIG5hbWUgZmllbGQuICBIb3dldmVyLCBpZgorICogdGhlIGtleSBhbmQgZWxlbWVudHMgaW4g dGhlIGFycmF5IGFyZSBvZiB0aGUgc2FtZSB0eXBlLCB5b3UgY2FuIHVzZQorICogdGhlIHNhbWUg Y29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgYm90aCBzb3J0KCkgYW5kIGJzZWFyY2goKS4KKyAqLwor dm9pZCAqYnNlYXJjaChjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsIHNpemVfdCBu dW0sIHNpemVfdCBzaXplLAorCSAgICAgIGludCAoKmNtcCkoY29uc3Qgdm9pZCAqa2V5LCBjb25z dCB2b2lkICplbHQpKQoreworCXNpemVfdCBzdGFydCA9IDAsIGVuZCA9IG51bTsKKwlpbnQgcmVz dWx0OworCisJd2hpbGUgKHN0YXJ0IDwgZW5kKSB7CisJCXNpemVfdCBtaWQgPSBzdGFydCArIChl bmQgLSBzdGFydCkgLyAyOworCisJCXJlc3VsdCA9IGNtcChrZXksIGJhc2UgKyBtaWQgKiBzaXpl KTsKKwkJaWYgKHJlc3VsdCA8IDApCisJCQllbmQgPSBtaWQ7CisJCWVsc2UgaWYgKHJlc3VsdCA+ IDApCisJCQlzdGFydCA9IG1pZCArIDE7CisJCWVsc2UKKwkJCXJldHVybiAodm9pZCAqKWJhc2Ug KyBtaWQgKiBzaXplOworCX0KKworCXJldHVybiBOVUxMOworfQpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUveGVuL2xpYi5oIGIveGVuL2luY2x1ZGUveGVuL2xpYi5oCmluZGV4IGIxYjBmYjIuLmI5 MGQ1ODIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9saWIuaAorKysgYi94ZW4vaW5jbHVk ZS94ZW4vbGliLmgKQEAgLTE1Myw0ICsxNTMsNyBAQCB2b2lkIGR1bXBfZXhlY3N0YXRlKHN0cnVj dCBjcHVfdXNlcl9yZWdzICopOwogCiB2b2lkIGluaXRfY29uc3RydWN0b3JzKHZvaWQpOwogCit2 b2lkICpic2VhcmNoKGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZSwgc2l6ZV90IG51 bSwgc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgIGludCAoKmNtcCkoY29uc3Qgdm9pZCAqa2V5 LCBjb25zdCB2b2lkICplbHQpKTsKKwogI2VuZGlmIC8qIF9fTElCX0hfXyAqLwotLSAKUXVhbGNv bW0gRGF0YWNlbnRlciBUZWNobm9sb2dpZXMsIEluYy4gb24gYmVoYWxmIG9mIHRoZSBRdWFsY29t bSBUZWNobm9sb2dpZXMsIEluYy4KUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuIGlzIGEgbWVt YmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwgYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9y YXRpdmUgUHJvamVjdC4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK