From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH 2/4] xen: Add generic implementation of binary search Date: Fri, 15 Jul 2016 10:26:00 -0500 Message-ID: <1468596360-26473-1-git-send-email-shankerd@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel Cc: Stefano Stabellini , Wei Liu , Vikram Sethi , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Philip Elcan , Jan Beulich , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIHRoZSBnZW5lcmljIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFy Y2ggYWxnb3JpdGhtCndoY2loIGlzIGNvcGllZCBmcm9tIExpbnV4IGtlcm5lbCB2NC43LXJjNy4g Tm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgoKU2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5p IDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4KLS0tCiB4ZW4vY29tbW9uL01ha2VmaWxlICAgICAg IHwgIDEgKwogeGVuL2NvbW1vbi9ic2VhcmNoLmMgICAgICB8IDUxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS94ZW4vYnNlYXJjaC5o IHwgIDkgKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL2JzZWFyY2guYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhl bi9pbmNsdWRlL3hlbi9ic2VhcmNoLmgKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL01ha2VmaWxl IGIveGVuL2NvbW1vbi9NYWtlZmlsZQppbmRleCBkYmYwMGM2Li5mODEyM2MyIDEwMDY0NAotLS0g YS94ZW4vY29tbW9uL01ha2VmaWxlCisrKyBiL3hlbi9jb21tb24vTWFrZWZpbGUKQEAgLTQzLDYg KzQzLDcgQEAgb2JqLXkgKz0gc2NoZWR1bGUubwogb2JqLXkgKz0gc2h1dGRvd24ubwogb2JqLXkg Kz0gc29mdGlycS5vCiBvYmoteSArPSBzb3J0Lm8KK29iai15ICs9IGJzZWFyY2gubwogb2JqLXkg Kz0gc21wLm8KIG9iai15ICs9IHNwaW5sb2NrLm8KIG9iai15ICs9IHN0b3BfbWFjaGluZS5vCmRp ZmYgLS1naXQgYS94ZW4vY29tbW9uL2JzZWFyY2guYyBiL3hlbi9jb21tb24vYnNlYXJjaC5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiY2ZkNzIKLS0tIC9kZXYvbnVsbAor KysgYi94ZW4vY29tbW9uL2JzZWFyY2guYwpAQCAtMCwwICsxLDUxIEBACisvKgorICogQSBnZW5l cmljIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFyY2ggZm9yIHRoZSBMaW51eCBrZXJuZWwK KyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLc3BsaWNlLCBJbmMuCisgKiBBdXRob3I6 IFRpbSBBYmJvdHQgPHRhYmJvdHRAa3NwbGljZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMK KyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIu CisgKi8KKworI2luY2x1ZGUgPHhlbi9ic2VhcmNoLmg+CisKKy8qCisgKiBic2VhcmNoIC0gYmlu YXJ5IHNlYXJjaCBhbiBhcnJheSBvZiBlbGVtZW50cworICogQGtleTogcG9pbnRlciB0byBpdGVt IGJlaW5nIHNlYXJjaGVkIGZvcgorICogQGJhc2U6IHBvaW50ZXIgdG8gZmlyc3QgZWxlbWVudCB0 byBzZWFyY2gKKyAqIEBudW06IG51bWJlciBvZiBlbGVtZW50cworICogQHNpemU6IHNpemUgb2Yg ZWFjaCBlbGVtZW50CisgKiBAY21wOiBwb2ludGVyIHRvIGNvbXBhcmlzb24gZnVuY3Rpb24KKyAq CisgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgYSBiaW5hcnkgc2VhcmNoIG9uIHRoZSBnaXZlbiBhcnJh eS4gIFRoZQorICogY29udGVudHMgb2YgdGhlIGFycmF5IHNob3VsZCBhbHJlYWR5IGJlIGluIGFz Y2VuZGluZyBzb3J0ZWQgb3JkZXIKKyAqIHVuZGVyIHRoZSBwcm92aWRlZCBjb21wYXJpc29uIGZ1 bmN0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGUga2V5IG5lZWQgbm90IGhhdmUgdGhlIHNhbWUg dHlwZSBhcyB0aGUgZWxlbWVudHMgaW4KKyAqIHRoZSBhcnJheSwgZS5nLiBrZXkgY291bGQgYmUg YSBzdHJpbmcgYW5kIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uCisgKiBjb3VsZCBjb21wYXJlIHRo ZSBzdHJpbmcgd2l0aCB0aGUgc3RydWN0J3MgbmFtZSBmaWVsZC4gIEhvd2V2ZXIsIGlmCisgKiB0 aGUga2V5IGFuZCBlbGVtZW50cyBpbiB0aGUgYXJyYXkgYXJlIG9mIHRoZSBzYW1lIHR5cGUsIHlv dSBjYW4gdXNlCisgKiB0aGUgc2FtZSBjb21wYXJpc29uIGZ1bmN0aW9uIGZvciBib3RoIHNvcnQo KSBhbmQgYnNlYXJjaCgpLgorICovCit2b2lkICpic2VhcmNoKGNvbnN0IHZvaWQgKmtleSwgY29u c3Qgdm9pZCAqYmFzZSwgc2l6ZV90IG51bSwgc2l6ZV90IHNpemUsCisJICAgICAgaW50ICgqY21w KShjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmVsdCkpCit7CisJc2l6ZV90IHN0YXJ0ID0g MCwgZW5kID0gbnVtOworCWludCByZXN1bHQ7CisKKwl3aGlsZSAoc3RhcnQgPCBlbmQpIHsKKwkJ c2l6ZV90IG1pZCA9IHN0YXJ0ICsgKGVuZCAtIHN0YXJ0KSAvIDI7CisKKwkJcmVzdWx0ID0gY21w KGtleSwgYmFzZSArIG1pZCAqIHNpemUpOworCQlpZiAocmVzdWx0IDwgMCkKKwkJCWVuZCA9IG1p ZDsKKwkJZWxzZSBpZiAocmVzdWx0ID4gMCkKKwkJCXN0YXJ0ID0gbWlkICsgMTsKKwkJZWxzZQor CQkJcmV0dXJuICh2b2lkICopYmFzZSArIG1pZCAqIHNpemU7CisJfQorCisJcmV0dXJuIE5VTEw7 Cit9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vYnNlYXJjaC5oIGIveGVuL2luY2x1ZGUv eGVuL2JzZWFyY2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2NmNjA0 Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2luY2x1ZGUveGVuL2JzZWFyY2guaApAQCAtMCwwICsx LDkgQEAKKyNpZm5kZWYgX19YRU5fQlNFQVJDSF9IX18KKyNkZWZpbmUgX19YRU5fQlNFQVJDSF9I X18KKworI2luY2x1ZGUgPHhlbi90eXBlcy5oPgorCit2b2lkICpic2VhcmNoKGNvbnN0IHZvaWQg KmtleSwgY29uc3Qgdm9pZCAqYmFzZSwgc2l6ZV90IG51bSwgc2l6ZV90IHNpemUsCisJICAgICAg aW50ICgqY21wKShjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmVsdCkpOworCisjZW5kaWYg LyogX19YRU5fQlNFQVJDSF9IX18gKi8KLS0gClF1YWxjb21tIERhdGFjZW50ZXIgVGVjaG5vbG9n aWVzLCBJbmMuIG9uIGJlaGFsZiBvZiB0aGUgUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuClF1 YWxjb21tIFRlY2hub2xvZ2llcywgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEg Rm9ydW0sIGEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QuCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==