From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V4 09/11] xen: Add generic implementation of binary search Date: Thu, 14 Jul 2016 11:18:53 -0500 Message-ID: <1468513133-12054-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 , Julien Grall , Stefano Stabellini , Andrew Cooper Cc: Philip Elcan , Wei Liu , Vikram Sethi , George Dunlap , Tim Deegan , Ian Jackson , Jan Beulich , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIHRoZSBnZW5lcmljIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFy Y2ggYWxnb3JpdGhtCndoY2loIGlzIGNvcGllZCBmcm9tIExpbnV4IGtlcm5lbC4gT25seSBjb2Rp bmcgc3R5bGUgY2hhbmdlcyB0byBtYXRjaAp0aGUgZ2VuZXJhbCBYRU4gY29kaW5nIHN0eWxlLiBO byBmdW5jdGlvbmFsIGNoYW5nZXMuCgpTaWduZWQtb2ZmLWJ5OiBTaGFua2VyIERvbnRoaW5lbmkg PHNoYW5rZXJkQGNvZGVhdXJvcmEub3JnPgotLS0KIHhlbi9jb21tb24vTWFrZWZpbGUgICAgICAg fCAgMSArCiB4ZW4vY29tbW9uL2JzZWFyY2guYyAgICAgIHwgNTIgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3hlbi9ic2VhcmNoLmgg fCAgOSArKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgeGVuL2NvbW1vbi9ic2VhcmNoLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4v aW5jbHVkZS94ZW4vYnNlYXJjaC5oCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9NYWtlZmlsZSBi L3hlbi9jb21tb24vTWFrZWZpbGUKaW5kZXggMmE4MzI2MS4uMmZhMzZhNCAxMDA2NDQKLS0tIGEv eGVuL2NvbW1vbi9NYWtlZmlsZQorKysgYi94ZW4vY29tbW9uL01ha2VmaWxlCkBAIC00MSw2ICs0 MSw3IEBAIG9iai15ICs9IHNjaGVkdWxlLm8KIG9iai15ICs9IHNodXRkb3duLm8KIG9iai15ICs9 IHNvZnRpcnEubwogb2JqLXkgKz0gc29ydC5vCitvYmoteSArPSBic2VhcmNoLm8KIG9iai15ICs9 IHNtcC5vCiBvYmoteSArPSBzcGlubG9jay5vCiBvYmoteSArPSBzdG9wX21hY2hpbmUubwpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9ic2VhcmNoLmMgYi94ZW4vY29tbW9uL2JzZWFyY2guYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTQ2NzYyCi0tLSAvZGV2L251bGwKKysr IGIveGVuL2NvbW1vbi9ic2VhcmNoLmMKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIEEgZ2VuZXJp YyBpbXBsZW1lbnRhdGlvbiBvZiBiaW5hcnkgc2VhcmNoIGZvciB0aGUgTGludXgga2VybmVsCisg KgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS3NwbGljZSwgSW5jLgorICogQXV0aG9yOiBU aW0gQWJib3R0IDx0YWJib3R0QGtzcGxpY2UuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisg KiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgor ICovCisKKyNpbmNsdWRlIDx4ZW4vYnNlYXJjaC5oPgorCisvKgorICogYnNlYXJjaCAtIGJpbmFy eSBzZWFyY2ggYW4gYXJyYXkgb2YgZWxlbWVudHMKKyAqIEBrZXk6IHBvaW50ZXIgdG8gaXRlbSBi ZWluZyBzZWFyY2hlZCBmb3IKKyAqIEBiYXNlOiBwb2ludGVyIHRvIGZpcnN0IGVsZW1lbnQgdG8g c2VhcmNoCisgKiBAbnVtOiBudW1iZXIgb2YgZWxlbWVudHMKKyAqIEBzaXplOiBzaXplIG9mIGVh Y2ggZWxlbWVudAorICogQGNtcDogcG9pbnRlciB0byBjb21wYXJpc29uIGZ1bmN0aW9uCisgKgor ICogVGhpcyBmdW5jdGlvbiBkb2VzIGEgYmluYXJ5IHNlYXJjaCBvbiB0aGUgZ2l2ZW4gYXJyYXku ICBUaGUKKyAqIGNvbnRlbnRzIG9mIHRoZSBhcnJheSBzaG91bGQgYWxyZWFkeSBiZSBpbiBhc2Nl bmRpbmcgc29ydGVkIG9yZGVyCisgKiB1bmRlciB0aGUgcHJvdmlkZWQgY29tcGFyaXNvbiBmdW5j dGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIGtleSBuZWVkIG5vdCBoYXZlIHRoZSBzYW1lIHR5 cGUgYXMgdGhlIGVsZW1lbnRzIGluCisgKiB0aGUgYXJyYXksIGUuZy4ga2V5IGNvdWxkIGJlIGEg c3RyaW5nIGFuZCB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbgorICogY291bGQgY29tcGFyZSB0aGUg c3RyaW5nIHdpdGggdGhlIHN0cnVjdCdzIG5hbWUgZmllbGQuICBIb3dldmVyLCBpZgorICogdGhl IGtleSBhbmQgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFyZSBvZiB0aGUgc2FtZSB0eXBlLCB5b3Ug Y2FuIHVzZQorICogdGhlIHNhbWUgY29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgYm90aCBzb3J0KCkg YW5kIGJzZWFyY2goKS4KKyAqLwordm9pZCAqYnNlYXJjaChjb25zdCB2b2lkICprZXksIGNvbnN0 IHZvaWQgKmJhc2UsIHNpemVfdCBudW0sIHNpemVfdCBzaXplLAorCSAgICAgIGludCAoKmNtcCko Y29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICplbHQpKQoreworICAgIHNpemVfdCBzdGFydCA9 IDAsIGVuZCA9IG51bTsKKyAgICBpbnQgcmVzdWx0OworCisgICAgd2hpbGUgKCBzdGFydCA8IGVu ZCApCisgICAgeworICAgICAgICBzaXplX3QgbWlkID0gc3RhcnQgKyAoZW5kIC0gc3RhcnQpIC8g MjsKKworICAgICAgICByZXN1bHQgPSBjbXAoa2V5LCBiYXNlICsgbWlkICogc2l6ZSk7CisgICAg ICAgIGlmICggcmVzdWx0IDwgMCApCisgICAgICAgICAgICBlbmQgPSBtaWQ7CisgICAgICAgIGVs c2UgaWYgKCByZXN1bHQgPiAwICkKKyAgICAgICAgICAgIHN0YXJ0ID0gbWlkICsgMTsKKyAgICAg ICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuICh2b2lkICopYmFzZSArIG1pZCAqIHNpemU7Cisg ICAgfQorCisgICAgcmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v YnNlYXJjaC5oIGIveGVuL2luY2x1ZGUveGVuL2JzZWFyY2guaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4wN2NmNjA0Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2luY2x1ZGUv eGVuL2JzZWFyY2guaApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgX19YRU5fQlNFQVJDSF9IX18K KyNkZWZpbmUgX19YRU5fQlNFQVJDSF9IX18KKworI2luY2x1ZGUgPHhlbi90eXBlcy5oPgorCit2 b2lkICpic2VhcmNoKGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZSwgc2l6ZV90IG51 bSwgc2l6ZV90IHNpemUsCisJICAgICAgaW50ICgqY21wKShjb25zdCB2b2lkICprZXksIGNvbnN0 IHZvaWQgKmVsdCkpOworCisjZW5kaWYgLyogX19YRU5fQlNFQVJDSF9IX18gKi8KLS0gClF1YWxj b21tIFRlY2hub2xvZ2llcywgSW5jLiBvbiBiZWhhbGYgb2YgUXVhbGNvbW0gSW5ub3ZhdGlvbiBD ZW50ZXIsIEluYy4gClF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVy IG9mIENvZGUgQXVyb3JhIEZvcnVtLCAKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUg UHJvamVjdAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=