From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v4 24/34] xsplice: Add support for alternatives Date: Tue, 15 Mar 2016 13:56:46 -0400 Message-ID: <1458064616-23101-25-git-send-email-konrad.wilk@oracle.com> References: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftGe-00018s-8c for xen-devel@lists.xenproject.org; Tue, 15 Mar 2016 18:00:28 +0000 In-Reply-To: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, ross.lagerwall@citrix.com, konrad@kernel.org, andrew.cooper3@citrix.com, mpohlack@amazon.de, sasha.levin@oracle.com Cc: Keir Fraser , Jan Beulich , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpBZGQgc3Vw cG9ydCBmb3IgYXBwbHlpbmcgYWx0ZXJuYXRpdmUgc2VjdGlvbnMgd2l0aGluIHhzcGxpY2UgcGF5 bG9hZC4KQXQgcGF5bG9hZCBsb2FkIHRpbWUsIGFwcGx5IGFuIGFsdGVybmF0aXZlIHNlY3Rpb25z IHRoYXQgYXJlIGZvdW5kLgoKQWxzbyB3ZSBhZGQgYW4gdGVzdC1jYXNlIGV4ZXJjaXNpbmcgYSBy YXRoZXIgdXNlbGVzcyBhbHRlcm5hdGl2ZQoocGF0Y2hpbmcgYSBOT1Agd2l0aCBhIE5PUCkgLSBi dXQgaXQgZG9lcyBleGVyY2lzZSB0aGUgY29kZS1wYXRoLgoKU2lnbmVkLW9mZi1ieTogUm9zcyBM YWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IEtvbnJh ZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KCi0tLQpDYzogS2VpciBG cmFzZXIgPGtlaXJAeGVuLm9yZz4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K Q2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cgp2MjogTWFrZSBh IG5ldyBhbHRlcm5hdGl2ZSBmdW5jdGlvbiB0aGF0IGRvZXMgbm90IEFTU0VSVCBvbiBJUlFzIGFu ZAogICAgZG9uJ3QgZGlzYWJsZSBJUlFzIGluIHRoZSBjb2RlIHdoZW4gbG9hZGluZyBwYXlsb2Fk Lgp2MzogSW5jbHVkZSB0ZXN0LWNhc2UKdjQ6IEluY2x1ZGUgY2hlY2sgZm9yIHNpemUgb2YgYWx0 ZXJuYXRpdmVzIGFuZCB0aGF0IGl0IGlzIG5vdCBhIDAgc2l6ZQogICAgc2VjdGlvbi4KLS0tCiB4 ZW4vYXJjaC94ODYvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNo L3g4Ni9hbHRlcm5hdGl2ZS5jICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKystLS0tLS0t LQogeGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYyB8ICAzICsrKwogeGVu L2NvbW1vbi94c3BsaWNlLmMgICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysr KysKIHhlbi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaCAgICAgICAgfCAgNiArKysrKysK IDUgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvTWFrZWZpbGUKaW5k ZXggYTJlMzAxNy4uOGExMDBiZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L01ha2VmaWxlCisr KyBiL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZQpAQCAtNiw3ICs2LDcgQEAgc3ViZGlyLXkgKz0gbW0K IHN1YmRpci0kKENPTkZJR19YRU5PUFJPRikgKz0gb3Byb2ZpbGUKIHN1YmRpci15ICs9IHg4Nl82 NAogCi1vYmotYmluLXkgKz0gYWx0ZXJuYXRpdmUuaW5pdC5vCitvYmotYmluLXkgKz0gYWx0ZXJu YXRpdmUubwogb2JqLXkgKz0gYXBpYy5vCiBvYmoteSArPSBiaXRvcHMubwogb2JqLWJpbi15ICs9 IGJ6aW1hZ2UuaW5pdC5vCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYWx0ZXJuYXRpdmUuYyBi L3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jCmluZGV4IDI2YWQyYjkuLmU0MjNkM2EgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hbHRl cm5hdGl2ZS5jCkBAIC0yOCw3ICsyOCw3IEBACiBleHRlcm4gc3RydWN0IGFsdF9pbnN0ciBfX2Fs dF9pbnN0cnVjdGlvbnNbXSwgX19hbHRfaW5zdHJ1Y3Rpb25zX2VuZFtdOwogCiAjaWZkZWYgSzhf Tk9QMQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgazhub3BzW10gX19pbml0Y29uc3QgPSB7 CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrOG5vcHNbXSA9IHsKICAgICBLOF9OT1AxLAog ICAgIEs4X05PUDIsCiAgICAgSzhfTk9QMywKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKiBjb25zdCBrOF9ub3BzW0FTTV9OT1BfTUFYKzFdIF9faW5pdGNvbnN0 cmVsID0gewogI2VuZGlmCiAKICNpZmRlZiBQNl9OT1AxCi1zdGF0aWMgY29uc3QgdW5zaWduZWQg Y2hhciBwNm5vcHNbXSBfX2luaXRjb25zdCA9IHsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy IHA2bm9wc1tdID0gewogICAgIFA2X05PUDEsCiAgICAgUDZfTk9QMiwKICAgICBQNl9OT1AzLApA QCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqIGNvbnN0IHA2X25v cHNbQVNNX05PUF9NQVgrMV0gX19pbml0Y29uc3RyZWwgPSB7CiB9OwogI2VuZGlmCiAKLXN0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyICogY29uc3QgKmlkZWFsX25vcHMgX19pbml0ZGF0YSA9IGs4 X25vcHM7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqIGNvbnN0ICppZGVhbF9ub3BzID0g azhfbm9wczsKIAogc3RhdGljIGludCBfX2luaXQgbWFza19ubWlfY2FsbGJhY2soY29uc3Qgc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGludCBjcHUpCiB7CkBAIC0xMDAsNyArMTAwLDcgQEAg c3RhdGljIHZvaWQgX19pbml0IGFyY2hfaW5pdF9pZGVhbF9ub3BzKHZvaWQpCiB9CiAKIC8qIFVz ZSB0aGlzIHRvIGFkZCBub3BzIHRvIGEgYnVmZmVyLCB0aGVuIHRleHRfcG9rZSB0aGUgd2hvbGUg YnVmZmVyLiAqLwotc3RhdGljIHZvaWQgX19pbml0IGFkZF9ub3BzKHZvaWQgKmluc25zLCB1bnNp Z25lZCBpbnQgbGVuKQorc3RhdGljIHZvaWQgYWRkX25vcHModm9pZCAqaW5zbnMsIHVuc2lnbmVk IGludCBsZW4pCiB7CiAgICAgd2hpbGUgKCBsZW4gPiAwICkKICAgICB7CkBAIC0xMjcsNyArMTI3 LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGFkZF9ub3BzKHZvaWQgKmluc25zLCB1bnNpZ25lZCBp bnQgbGVuKQogICoKICAqIFRoaXMgcm91dGluZSBpcyBjYWxsZWQgd2l0aCBsb2NhbCBpbnRlcnJ1 cHQgZGlzYWJsZWQuCiAgKi8KLXN0YXRpYyB2b2lkICpfX2luaXQgdGV4dF9wb2tlX2Vhcmx5KHZv aWQgKmFkZHIsIGNvbnN0IHZvaWQgKm9wY29kZSwgc2l6ZV90IGxlbikKK3N0YXRpYyB2b2lkICp0 ZXh0X3Bva2VfZWFybHkodm9pZCAqYWRkciwgY29uc3Qgdm9pZCAqb3Bjb2RlLCBzaXplX3QgbGVu KQogewogICAgIG1lbWNweShhZGRyLCBvcGNvZGUsIGxlbik7CiAgICAgc3luY19jb3JlKCk7CkBA IC0xNDIsMTUgKzE0MiwxMyBAQCBzdGF0aWMgdm9pZCAqX19pbml0IHRleHRfcG9rZV9lYXJseSh2 b2lkICphZGRyLCBjb25zdCB2b2lkICpvcGNvZGUsIHNpemVfdCBsZW4pCiAgKiBBUHMgaGF2ZSBs ZXNzIGNhcGFiaWxpdGllcyB0aGFuIHRoZSBib290IHByb2Nlc3NvciBhcmUgbm90IGhhbmRsZWQu CiAgKiBUb3VnaC4gTWFrZSBzdXJlIHlvdSBkaXNhYmxlIHN1Y2ggZmVhdHVyZXMgYnkgaGFuZC4K ICAqLwotc3RhdGljIHZvaWQgX19pbml0IGFwcGx5X2FsdGVybmF0aXZlcyhzdHJ1Y3QgYWx0X2lu c3RyICpzdGFydCwgc3RydWN0IGFsdF9pbnN0ciAqZW5kKQordm9pZCBhcHBseV9hbHRlcm5hdGl2 ZXNfbm9jaGVjayhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwgc3RydWN0IGFsdF9pbnN0ciAqZW5k KQogewogICAgIHN0cnVjdCBhbHRfaW5zdHIgKmE7CiAgICAgdTggKmluc3RyLCAqcmVwbGFjZW1l bnQ7CiAgICAgdTggaW5zbmJ1ZltNQVhfUEFUQ0hfTEVOXTsKICAgICB1bnNpZ25lZCBsb25nIGNy MCA9IHJlYWRfY3IwKCk7CiAKLSAgICBBU1NFUlQoIWxvY2FsX2lycV9pc19lbmFibGVkKCkpOwot CiAgICAgcHJpbnRrKEtFUk5fSU5GTyAiYWx0IHRhYmxlICVwIC0+ICVwXG4iLCBzdGFydCwgZW5k KTsKIAogICAgIC8qIERpc2FibGUgV1AgdG8gYWxsb3cgYXBwbGljYXRpb24gb2YgYWx0ZXJuYXRp dmVzIHRvIHJlYWQtb25seSBwYWdlcy4gKi8KQEAgLTE5MCw2ICsxODgsMTIgQEAgc3RhdGljIHZv aWQgX19pbml0IGFwcGx5X2FsdGVybmF0aXZlcyhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwgc3Ry dWN0IGFsdF9pbnN0cgogICAgIHdyaXRlX2NyMChjcjApOwogfQogCit2b2lkIGFwcGx5X2FsdGVy bmF0aXZlcyhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwgc3RydWN0IGFsdF9pbnN0ciAqZW5kKQor eworICAgIEFTU0VSVCghbG9jYWxfaXJxX2lzX2VuYWJsZWQoKSk7CisgICAgYXBwbHlfYWx0ZXJu YXRpdmVzX25vY2hlY2soc3RhcnQsIGVuZCk7Cit9CisKIHZvaWQgX19pbml0IGFsdGVybmF0aXZl X2luc3RydWN0aW9ucyh2b2lkKQogewogICAgIG5taV9jYWxsYmFja190IHNhdmVkX25taV9jYWxs YmFjazsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZF9mdW5j LmMgYi94ZW4vYXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCmluZGV4IDgxMzgw YTYuLjI0NjVjZTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3Js ZF9mdW5jLmMKKysrIGIveGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYwpA QCAtNSwxMCArNSwxMyBAQAogCiAjaW5jbHVkZSA8eGVuL2NvbmZpZy5oPgogI2luY2x1ZGUgPHhl bi90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ub3BzLmg+CisjaW5jbHVkZSA8YXNtL2FsdGVybmF0 aXZlLmg+CiAKIC8qIE91ciByZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IgeGVuX2V4dHJhX3ZlcnNp b24uICovCiBjb25zdCBjaGFyICp4ZW5faGVsbG9fd29ybGQodm9pZCkKIHsKKyAgICBhbHRlcm5h dGl2ZShBU01fTk9QMSwgQVNNX05PUDEsIDEpOwogICAgIHJldHVybiAiSGVsbG8gV29ybGQiOwog fQogCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3hzcGxpY2UuYyBiL3hlbi9jb21tb24veHNwbGlj ZS5jCmluZGV4IDgzNGZkYTMuLmU1ODY3YmQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24veHNwbGlj ZS5jCisrKyBiL3hlbi9jb21tb24veHNwbGljZS5jCkBAIC01MjYsOCArNTI2LDI0IEBAIHN0YXRp YyBpbnQgcHJlcGFyZV9wYXlsb2FkKHN0cnVjdCBwYXlsb2FkICpwYXlsb2FkLAogICAgICAgICBy ZWdpb24tPmV4X2VuZCA9IChzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICopKHNlYy0+bG9h ZF9hZGRyICsgc2VjLT5zZWMtPnNoX3NpemUpOwogCiAgICAgICAgIHNvcnRfZXhjZXB0aW9uX3Rh YmxlKHJlZ2lvbi0+ZXgsIHJlZ2lvbi0+ZXhfZW5kKTsKKwogICAgICAgICByZWdpb24tPnByaXYg fD0gQ0hFQ0tJTkdfRVhDRVBUSU9OOwogICAgIH0KKyAgICBzZWMgPSB4c3BsaWNlX2VsZl9zZWNf YnlfbmFtZShlbGYsICIuYWx0aW5zdHJ1Y3Rpb25zIik7CisgICAgaWYgKCBzZWMgKQorICAgIHsK KyAgICAgICAgaWYgKCAhc2VjLT5zZWMtPnNoX3NpemUgfHwKKyAgICAgICAgICAgICAoc2VjLT5z ZWMtPnNoX3NpemUgJSBzaXplb2YgKHN0cnVjdCBhbHRfaW5zdHIpKSApCisgICAgICAgIHsKKyAg ICAgICAgICAgIGRwcmludGsoWEVOTE9HX0RFQlVHLCAiJXMlczogV3Jvbmcgc2l6ZSBvZiAuYWx0 X2luc3RyIChleHA6JWx1IHZzICVsdSkhXG4iLAorICAgICAgICAgICAgICAgICAgICBYU1BMSUNF LCBlbGYtPm5hbWUsIHNpemVvZiAoc3RydWN0IGFsdF9pbnN0ciksCisgICAgICAgICAgICAgICAg ICAgIHNlYy0+c2VjLT5zaF9zaXplKTsKKyAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworICAg ICAgICB9CisgICAgICAgIGFwcGx5X2FsdGVybmF0aXZlc19ub2NoZWNrKChzdHJ1Y3QgYWx0X2lu c3RyICopc2VjLT5sb2FkX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJ1Y3QgYWx0X2luc3RyICopKHNlYy0+bG9hZF9hZGRyICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VjLT5zZWMtPnNoX3NpemUpKTsKKyAgICB9CiAjZW5kaWYKICAg ICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRp dmUuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaAppbmRleCAxMDU2NjMwLi5k NTBjMGI1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKKysr IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oCkBAIC0yMyw2ICsyMywxMiBAQCBz dHJ1Y3QgYWx0X2luc3RyIHsKICAgICB1OCAgcmVwbGFjZW1lbnRsZW47ICAgICAvKiBsZW5ndGgg b2YgbmV3IGluc3RydWN0aW9uLCA8PSBpbnN0cmxlbiAqLwogfTsKIAorLyoKKyAqIEFuIHZhcmlh bnQgdG8gYmUgdXNlZCBvbiBjb2RlIHRoYXQgY2FuIGJlIHBhdGNoZWQgd2l0aG91dCBtYW55IGNo ZWNrcy4KKyAqLworZXh0ZXJuIHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVzX25vY2hlY2soc3RydWN0 IGFsdF9pbnN0ciAqc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgYWx0X2luc3RyICplbmQpOworZXh0ZXJuIHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVz KHN0cnVjdCBhbHRfaW5zdHIgKnN0YXJ0LCBzdHJ1Y3QgYWx0X2luc3RyICplbmQpOwogZXh0ZXJu IHZvaWQgYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKHZvaWQpOwogCiAjZGVmaW5lIE9MRElOU1RS KG9sZGluc3RyKSAgICAgICI2NjE6XG5cdCIgb2xkaW5zdHIgIlxuNjYyOlxuIgotLSAKMi41LjAK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=