From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v5 18/28] xsplice: Add support for alternatives Date: Thu, 24 Mar 2016 16:00:30 -0400 Message-ID: <1458849640-22588-19-git-send-email-konrad.wilk@oracle.com> References: <1458849640-22588-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 1ajBRW-0007Mo-3N for xen-devel@lists.xenproject.org; Thu, 24 Mar 2016 20:01:18 +0000 In-Reply-To: <1458849640-22588-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 Lgp2NDogSW5jbHVkZSB0ZXN0LWNhc2UKICAgIEluY2x1ZGUgY2hlY2sgZm9yIHNpemUgb2YgYWx0 ZXJuYXRpdmVzIGFuZCB0aGF0IGl0IGlzIG5vdCBhIDAgc2l6ZQogICAgc2VjdGlvbi4KLS0tCiB4 ZW4vYXJjaC94ODYvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNo L3g4Ni9hbHRlcm5hdGl2ZS5jICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKystLS0tLS0t LQogeGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYyB8ICAzICsrKwogeGVu L2NvbW1vbi94c3BsaWNlLmMgICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysr KysKIHhlbi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaCAgICAgICAgfCAgNiArKysrKysK IDUgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvTWFrZWZpbGUKaW5k ZXggYTFlZjI0Yi4uZDRhODA2OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L01ha2VmaWxlCisr 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 ZS5jCmluZGV4IDQ1NDhiOGIuLmJmOGNiMWMgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24veHNwbGlj ZS5jCisrKyBiL3hlbi9jb21tb24veHNwbGljZS5jCkBAIC01OTAsNiArNTkwLDIyIEBAIHN0YXRp YyBpbnQgcHJlcGFyZV9wYXlsb2FkKHN0cnVjdCBwYXlsb2FkICpwYXlsb2FkLAogICAgICAgICBy ZWdpb24tPmV4X2VuZCA9IChzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICopKHNlYy0+bG9h ZF9hZGRyICsgc2VjLT5zZWMtPnNoX3NpemUpOwogCiAgICAgICAgIHNvcnRfZXhjZXB0aW9uX3Rh YmxlKHJlZ2lvbi0+ZXgsIHJlZ2lvbi0+ZXhfZW5kKTsKKworICAgIH0KKyAgICBzZWMgPSB4c3Bs aWNlX2VsZl9zZWNfYnlfbmFtZShlbGYsICIuYWx0aW5zdHJ1Y3Rpb25zIik7CisgICAgaWYgKCBz ZWMgKQorICAgIHsKKyAgICAgICAgaWYgKCAhc2VjLT5zZWMtPnNoX3NpemUgfHwKKyAgICAgICAg ICAgICAoc2VjLT5zZWMtPnNoX3NpemUgJSBzaXplb2YgKHN0cnVjdCBhbHRfaW5zdHIpKSApCisg ICAgICAgIHsKKyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0RFQlVHLCAiJXMlczogV3Jvbmcg c2l6ZSBvZiAuYWx0X2luc3RyIChleHA6JWx1IHZzICVsdSkhXG4iLAorICAgICAgICAgICAgICAg ICAgICBYU1BMSUNFLCBlbGYtPm5hbWUsIHNpemVvZiAoc3RydWN0IGFsdF9pbnN0ciksCisgICAg ICAgICAgICAgICAgICAgIHNlYy0+c2VjLT5zaF9zaXplKTsKKyAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOworICAgICAgICB9CisgICAgICAgIGFwcGx5X2FsdGVybmF0aXZlc19ub2NoZWNrKChz dHJ1Y3QgYWx0X2luc3RyICopc2VjLT5sb2FkX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChzdHJ1Y3QgYWx0X2luc3RyICopKHNlYy0+bG9hZF9hZGRyICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjLT5zZWMtPnNoX3NpemUpKTsKICAgICB9 CiAjZW5kaWYKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv YWx0ZXJuYXRpdmUuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYWx0ZXJuYXRpdmUuaAppbmRleCAx MDU2NjMwLi5kNTBjMGI1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2FsdGVybmF0 aXZlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oCkBAIC0yMyw2ICsy MywxMiBAQCBzdHJ1Y3QgYWx0X2luc3RyIHsKICAgICB1OCAgcmVwbGFjZW1lbnRsZW47ICAgICAv KiBsZW5ndGggb2YgbmV3IGluc3RydWN0aW9uLCA8PSBpbnN0cmxlbiAqLwogfTsKIAorLyoKKyAq IEFuIHZhcmlhbnQgdG8gYmUgdXNlZCBvbiBjb2RlIHRoYXQgY2FuIGJlIHBhdGNoZWQgd2l0aG91 dCBtYW55IGNoZWNrcy4KKyAqLworZXh0ZXJuIHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVzX25vY2hl Y2soc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgYWx0X2luc3RyICplbmQpOworZXh0ZXJuIHZvaWQgYXBwbHlfYWx0 ZXJuYXRpdmVzKHN0cnVjdCBhbHRfaW5zdHIgKnN0YXJ0LCBzdHJ1Y3QgYWx0X2luc3RyICplbmQp OwogZXh0ZXJuIHZvaWQgYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKHZvaWQpOwogCiAjZGVmaW5l IE9MRElOU1RSKG9sZGluc3RyKSAgICAgICI2NjE6XG5cdCIgb2xkaW5zdHIgIlxuNjYyOlxuIgot LSAKMi41LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=