From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: [PATCH v15 08/10] x86: make Xen early boot code relocatable Date: Tue, 14 Feb 2017 19:33:27 +0100 Message-ID: <1487097209-19552-9-git-send-email-daniel.kiper@oracle.com> References: <1487097209-19552-1-git-send-email-daniel.kiper@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 1cdhw7-0002Hd-BZ for xen-devel@lists.xenproject.org; Tue, 14 Feb 2017 18:34:47 +0000 In-Reply-To: <1487097209-19552-1-git-send-email-daniel.kiper@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 Cc: jgross@suse.com, sstabellini@kernel.org, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, julien.grall@arm.com, jbeulich@suse.com, qiaowei.ren@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org RXZlcnkgbXVsdGlib290IHByb3RvY29sIChyZWdhcmRsZXNzIG9mIHZlcnNpb24pIGNvbXBhdGli bGUgaW1hZ2UgbXVzdApzcGVjaWZ5IGl0cyBsb2FkIGFkZHJlc3MgKGluIEVMRiBvciBtdWx0aWJv b3QgaGVhZGVyKS4gTXVsdGlib290IHByb3RvY29sCmNvbXBhdGlibGUgbG9hZGVyIGhhdmUgdG8g bG9hZCBpbWFnZSBhdCBzcGVjaWZpZWQgYWRkcmVzcy4gSG93ZXZlciwgdGhlcmUKaXMgbm8gZ3Vh cmFudGVlIHRoYXQgdGhlIHJlcXVlc3RlZCBtZW1vcnkgcmVnaW9uIChpbiBjYXNlIG9mIFhlbiBp dCBzdGFydHMKYXQgMiBNaUIgYW5kIGVuZHMgYXQgfjUgTWlCKSB3aGVyZSBpbWFnZSBzaG91bGQg YmUgbG9hZGVkIGluaXRpYWxseSBpcyBhIFJBTQphbmQgaXQgaXMgZnJlZSAobGVnYWN5IEJJT1Mg cGxhdGZvcm1zIGFyZSBtZXJjaWZ1bCBmb3IgWGVuIGJ1dCBJIGZvdW5kIGF0CmxlYXN0IG9uZSBF RkkgcGxhdGZvcm0gb24gd2hpY2ggWGVuIGxvYWQgYWRkcmVzcyBjb25mbGljdHMgd2l0aCBFRkkg Ym9vdApzZXJ2aWNlczsgaXQgaXMgRGVsbCBQb3dlckVkZ2UgUjgyMCB3aXRoIGxhdGVzdCBmaXJt d2FyZSkuIFRvIGNvcGUgd2l0aCB0aGF0CnByb2JsZW0gd2UgbXVzdCBtYWtlIFhlbiBlYXJseSBi b290IGNvZGUgcmVsb2NhdGFibGUgYW5kIGhlbHAgYm9vdCBsb2FkZXIgdG8KcmVsb2NhdGUgaW1h Z2UgaW4gcHJvcGVyIHdheSBieSBzdWdnZXN0aW5nLCBub3QgcmVxdWVzdGluZyBzcGVjaWZpYyBs b2FkCmFkZHJlc3NlcyBhcyBpdCBpcyByaWdodCBub3csIGFsbG93ZWQgYWRkcmVzcyByYW5nZXMu IFRoaXMgcGF0Y2ggZG9lcyBmb3JtZXIuCkl0IGRvZXMgbm90IGFkZCBtdWx0aWJvb3QyIHByb3Rv Y29sIGludGVyZmFjZSB3aGljaCBpcyBkb25lIGluICJ4ODY6IGFkZAptdWx0aWJvb3QyIHByb3Rv Y29sIHN1cHBvcnQgZm9yIHJlbG9jYXRhYmxlIGltYWdlcyIgcGF0Y2guCgpUaGlzIHBhdGNoIGNo YW5nZXMgZm9sbG93aW5nIHRoaW5nczoKICAtICVlc2kgcmVnaXN0ZXIgaXMgdXNlZCBhcyBhIHN0 b3JhZ2UgZm9yIFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzczsKICAgIGl0IGlzIG1vc3RseSB1 bnVzZWQgaW4gZWFybHkgYm9vdCBjb2RlIGFuZCBwcmVzZXJ2ZWQgZHVyaW5nIEMgZnVuY3Rpb25z CiAgICBjYWxscyBpbiAzMi1iaXQgbW9kZSwKICAtICVmcyBpcyB1c2VkIGFzIGJhc2UgZm9yIFhl biBkYXRhIHJlbGF0aXZlIGFkZHJlc3NpbmcgaW4gMzItYml0IGNvZGUKICAgIGlmIGl0IGlzIHBv c3NpYmxlOyAlZXNpIGlzIHVzZWQgZm9yIHRoYXQgdGhpbmcgZHVyaW5nIGVycm9yIHByaW50aW5n CiAgICBiZWNhdXNlIGl0IGlzIG5vdCBhbHdheXMgcG9zc2libGUgdG8gcHJvcGVybHkgYW5kIGVm ZmljaWVudGx5CiAgICBpbml0aWFsaXplICVmcy4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBLaXBl ciA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+Ci0tLQp2MTMgLSBzdWdnZXN0aW9ucy9maXhlczoK ICAgIC0gbW92ZSBnZHRfYm9vdF9kZXNjciB0byAuaW5pdC5kYXRhIHNlY3Rpb24KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkuCgp2MTIgLSBzdWdnZXN0aW9ucy9maXhlczoKICAgIC0g c3RvcmUgWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzIGRpcmVjdGx5IGludG8gJWVzaSwKICAg IC0gc3RvcmUgWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzIGFmdGVyIHg4Nl8zMl9zd2l0Y2gK ICAgICAgKHN1Z2dlc3RlZCBieSBEb3VnIEdvbGRzdGVpbiksCiAgICAtIGltcHJvdmUgY29tbWl0 IG1lc3NhZ2UuCgp2OCAtIHN1Z2dlc3Rpb25zL2ZpeGVzOgogICAtIHVzZSBzaGxkIGluc3RlYWQg b2YgbW92IGFuZCBzaHIgaW4gQk9PVF9GUyBzZWdtZW50CiAgICAgZGVzY3JpcHRvciBiYXNlIGFk ZHJlc3MgaW5pdGlhbGl6YXRpb24KICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAg LSBzaW1wbGlmeSBjb2RlIHVwZGF0aW5nIGZyYW1lIGFkZHJlc3NlcyBpbiBwYWdlIHRhYmxlcwog ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIHByaW50IFhlbiBpbWFnZSBiYXNl IGFkZHJlc3NlcyB1c2luZyAiJSNseCIgZm9ybWF0CiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCksCiAgIC0gaW1wcm92ZSBjb21tZW50cwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpLgoKdjYgLSBzdWdnZXN0aW9ucy9maXhlczoKICAgLSBsZWF2ZSBzdGF0aWMgbWFwcGluZyBv ZiBmaXJzdAogICAgIDE2IE1pQiBpbiBsMl9pZGVudG1hcCBhcyBpcwogICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpLAogICAtIHVzZSB4ZW5fcGh5c19zdGFydCBpbnN0ZWFkIG9mIHhlbl9p bWdfbG9hZF9iYXNlX2FkZHIKICAgICAoc3VnZ2VzdGVkIGJ5IERhbmllbCBLaXBlciBhbmQgSmFu IEJldWxpY2gpLAogICAtIHNpbXBsaWZ5IEJPT1RfRlMgc2VnbWVudCBkZXNjcmlwdG9yCiAgICAg YmFzZSBhZGRyZXNzIGluaXRpYWxpemF0aW9uCiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCksCiAgIC0gZml4IEJPT1RfRlMgc2VnbWVudCBsaW1pdAogICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpLAogICAtIGRvIG5vdCByZW5hbWUgc3ltX3BoeXMgaW4gdGhpcyBwYXRjaAogICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIHJlbmFtZSBlc2lfb2Zmc2V0L2ZzX29m ZnNldCB0bwogICAgIHN5bV9lc2kvc3ltX2ZzIHJlc3BlY3RpdmVseQogICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpLAogICAtIHVzZSBhZGQgaW5zdGVhZCBvZiBsZWEgaW4gYXNzZW1ibHkK ICAgICBlcnJvciBwcmludGluZyBjb2RlCiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCks CiAgIC0gaW1wcm92ZSBjb21tZW50cwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAog ICAtIGltcHJvdmUgY29tbWl0IG1lc3NhZ2UKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KSwKICAgLSB2YXJpb3VzIG1pbm9yIGNsZWFudXBzIGFuZCBmaXhlcwogICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpLgoKdjQgLSBzdWdnZXN0aW9ucy9maXhlczoKICAgLSBkbyBub3QgcmVs b2NhdGUgWGVuIGltYWdlIGlmIGJvb3QgbG9hZGVyIGRpZCB3b3JrIGZvciB1cwogICAgIChzdWdn ZXN0ZWQgYnkgQW5kcmV3IENvb3BlciBhbmQgSmFuIEJldWxpY2gpLAogICAtIGluaXRpYWxpemUg eGVuX2ltZ19sb2FkX2Jhc2VfYWRkciBpbiBFRkkgYm9vdCBjb2RlIHRvbywKICAgLSBwcm9wZXJs eSBpbml0aWFsaXplIHRyYW1wb2xpbmVfeGVuX3BoeXNfc3RhcnQsCiAgIC0gY2FsY3VsYXRlIFhl biBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzcyBpbgogICAgIHg4Nl82NCBjb2RlIG91cnNlbHZlcywK ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSBjaGFuZ2UgaG93IGFuZCB3aGVu IFhlbiBpbWFnZSBiYXNlIGFkZHJlc3MgaXMgcHJpbnRlZCwKICAgLSB1c2UgJWZzIGluc3RlYWQg b2YgJWVzaSBmb3IgcmVsYXRpdmUgYWRkcmVzc2luZwogICAgIChzdWdnZXN0ZWQgYnkgQW5kcmV3 IENvb3BlciBhbmQgSmFuIEJldWxpY2gpLAogICAtIGNyZWF0ZSBlc2lfb2Zmc2V0IGFuZCBmc19v ZmZzZXQoKSBtYWNyb3MgaW4gYXNzZW1ibHksCiAgIC0gY2FsY3VsYXRlIDxmaW5hbC1leGVjLWFk ZHI+IG1rZWxmMzIgYXJndW1lbnQgYXV0b21hdGljYWxseSwKICAgLSBvcHRpbWl6ZSBhbmQgY2xl YW51cCBjb2RlLAogICAtIGltcHJvdmUgY29tbWVudHMsCiAgIC0gaW1wcm92ZSBjb21taXQgbWVz c2FnZS4KCnYzIC0gc3VnZ2VzdGlvbnMvZml4ZXM6CiAgIC0gaW1wcm92ZSBzZWdtZW50IHJlZ2lz dGVycyBpbml0aWFsaXphdGlvbgogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAt IHNpbXBsaWZ5IFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzcyBjYWxjdWxhdGlvbgogICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIHVzZSAlZXNpIGFuZCAlcjE1ZCBpbnN0ZWFk IG9mICVlYnAgdG8gc3RvcmUKICAgICBYZW4gaW1hZ2UgbG9hZCBiYXNlIGFkZHJlc3MsCiAgIC0g dXNlICVlc2kgaW5zdGVhZCBvZiAlZnMgZm9yIHJlbGF0aXZlIGFkZHJlc3Npbmc7CiAgICAgdGhp cyB3YXkgd2UgZ2V0IHNob3J0ZXIgYW5kIHNpbXBsZXIgY29kZSwKICAgLSByZW5hbWUgc29tZSB2 YXJpYWJsZXMgYW5kIGNvbnN0YW50cwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAog ICAtIGltcHJvdmUgY29tbWVudHMKICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsg V2lsayksCiAgIC0gaW1wcm92ZSBjb21taXQgbWVzc2FnZQogICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpLgotLS0KIHhlbi9hcmNoL3g4Ni9ib290L2hlYWQuUyAgICAgICAgICB8ICAxNzAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2Jvb3Qv dHJhbXBvbGluZS5TICAgIHwgICAgNSArKwogeGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMgICAg ICAgIHwgICAyMSArKystLQogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgICAgICAgICAgIHwgICAx NCArLS0KIHhlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYyB8ICAgIDMgKwogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wYWdlLmggICAgICAgIHwgICAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCAx NTggaW5zZXJ0aW9ucygrKSwgNTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2Jvb3QvaGVhZC5TIGIveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TCmluZGV4IGZjYTBjZWYu LjRmYmY3NzYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQuUworKysgYi94ZW4v YXJjaC94ODYvYm9vdC9oZWFkLlMKQEAgLTEzLDEyICsxMywxNSBAQAogICAgICAgICAuY29kZTMy CiAKICNkZWZpbmUgc3ltX3BoeXMoc3ltKSAgICAgKChzeW0pIC0gX19YRU5fVklSVF9TVEFSVCkK KyNkZWZpbmUgc3ltX2VzaShzeW0pICAgICAgc3ltX3BoeXMoc3ltKSglZXNpKQorI2RlZmluZSBz eW1fZnMoc3ltKSAgICAgICAlZnM6c3ltX3BoeXMoc3ltKQogCiAjZGVmaW5lIEJPT1RfQ1MzMiAg ICAgICAgMHgwMDA4CiAjZGVmaW5lIEJPT1RfQ1M2NCAgICAgICAgMHgwMDEwCiAjZGVmaW5lIEJP T1RfRFMgICAgICAgICAgMHgwMDE4CiAjZGVmaW5lIEJPT1RfUFNFVURPUk1fQ1MgMHgwMDIwCiAj ZGVmaW5lIEJPT1RfUFNFVURPUk1fRFMgMHgwMDI4CisjZGVmaW5lIEJPT1RfRlMgICAgICAgICAg MHgwMDMwCiAKICNkZWZpbmUgTUIyX0hUKG5hbWUpICAgICAgKE1VTFRJQk9PVDJfSEVBREVSX1RB R18jI25hbWUpCiAjZGVmaW5lIE1CMl9UVChuYW1lKSAgICAgIChNVUxUSUJPT1QyX1RBR19UWVBF XyMjbmFtZSkKQEAgLTEwMSwxMyArMTA0LDYgQEAgbXVsdGlib290Ml9oZWFkZXJfc3RhcnQ6CiAu TG11bHRpYm9vdDJfaGVhZGVyX2VuZDoKIAogICAgICAgICAuc2VjdGlvbiAuaW5pdC5yb2RhdGEs ICJhIiwgQHByb2diaXRzCi0gICAgICAgIC5hbGlnbiA0Ci0KLSAgICAgICAgLndvcmQgICAwCi1n ZHRfYm9vdF9kZXNjcjoKLSAgICAgICAgLndvcmQgICA2KjgtMQotICAgICAgICAubG9uZyAgIHN5 bV9waHlzKHRyYW1wb2xpbmVfZ2R0KQotICAgICAgICAubG9uZyAgIDAgLyogTmVlZGVkIGZvciA2 NC1iaXQgbGdkdCAqLwogCiAuTGJhZF9jcHVfbXNnOiAuYXNjaXogIkVSUjogTm90IGEgNjQtYml0 IENQVSEiCiAuTGJhZF9sZHJfbXNnOiAuYXNjaXogIkVSUjogTm90IGEgTXVsdGlib290IGJvb3Rs b2FkZXIhIgpAQCAtMTE5LDYgKzExNSwxMyBAQCBnZHRfYm9vdF9kZXNjcjoKICAgICAgICAgLnNl Y3Rpb24gLmluaXQuZGF0YSwgImF3IiwgQHByb2diaXRzCiAgICAgICAgIC5hbGlnbiA0CiAKKyAg ICAgICAgLndvcmQgICAwCitnZHRfYm9vdF9kZXNjcjoKKyAgICAgICAgLndvcmQgICA3KjgtMQor Z2R0X2Jvb3RfYmFzZToKKyAgICAgICAgLmxvbmcgICBzeW1fcGh5cyh0cmFtcG9saW5lX2dkdCkK KyAgICAgICAgLmxvbmcgICAwIC8qIE5lZWRlZCBmb3IgNjQtYml0IGxnZHQgKi8KKwogdmdhX3Rl eHRfYnVmZmVyOgogICAgICAgICAubG9uZyAgIDB4YjgwMDAKIApAQCAtMTI4LDI3ICsxMzEsMjcg QEAgZWZpX3BsYXRmb3JtOgogICAgICAgICAuc2VjdGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJv Z2JpdHMKIAogYmFkX2NwdToKLSAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2NwdV9t c2cpKSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBhZGQgICAgICRzeW1fcGh5cyguTGJh ZF9jcHVfbXNnKSwlZXNpICAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAgIGptcCAgICAgLkxnZXRf dnRiCiBub3RfbXVsdGlib290OgotICAgICAgICBtb3YgICAgICQoc3ltX3BoeXMoLkxiYWRfbGRy X21zZykpLCVlc2kgIyBFcnJvciBtZXNzYWdlCisgICAgICAgIGFkZCAgICAgJHN5bV9waHlzKC5M YmFkX2xkcl9tc2cpLCVlc2kgICAjIEVycm9yIG1lc3NhZ2UKICAgICAgICAgam1wICAgICAuTGdl dF92dGIKIC5MbWIyX25vX3N0OgotICAgICAgICBtb3YgICAgICQoc3ltX3BoeXMoLkxiYWRfbGRy X25zdCkpLCVlc2kgIyBFcnJvciBtZXNzYWdlCisgICAgICAgIGFkZCAgICAgJHN5bV9waHlzKC5M YmFkX2xkcl9uc3QpLCVlc2kgICAjIEVycm9yIG1lc3NhZ2UKICAgICAgICAgam1wICAgICAuTGdl dF92dGIKIC5MbWIyX25vX2loOgotICAgICAgICBtb3YgICAgICQoc3ltX3BoeXMoLkxiYWRfbGRy X25paCkpLCVlc2kgIyBFcnJvciBtZXNzYWdlCisgICAgICAgIGFkZCAgICAgJHN5bV9waHlzKC5M YmFkX2xkcl9uaWgpLCVlc2kgICAjIEVycm9yIG1lc3NhZ2UKICAgICAgICAgam1wICAgICAuTGdl dF92dGIKIC5MbWIyX25vX2JzOgotICAgICAgICBtb3YgICAgICQoc3ltX3BoeXMoLkxiYWRfbGRy X25icykpLCVlc2kgIyBFcnJvciBtZXNzYWdlCisgICAgICAgIGFkZCAgICAgJHN5bV9waHlzKC5M YmFkX2xkcl9uYnMpLCVlc2kgICAjIEVycm9yIG1lc3NhZ2UKICAgICAgICAgeG9yICAgICAlZWRp LCVlZGkgICAgICAgICAgICAgICAgICAgICAgICMgTm8gVkdBIHRleHQgYnVmZmVyCiAgICAgICAg IGptcCAgICAgLkxzZW5kX2NocgogLkxtYjJfZWZpX2lhXzMyOgotICAgICAgICBtb3YgICAgICQo c3ltX3BoeXMoLkxiYWRfZWZpX21zZykpLCVlc2kgIyBFcnJvciBtZXNzYWdlCisgICAgICAgIGFk ZCAgICAgJHN5bV9waHlzKC5MYmFkX2VmaV9tc2cpLCVlc2kgICAjIEVycm9yIG1lc3NhZ2UKICAg ICAgICAgeG9yICAgICAlZWRpLCVlZGkgICAgICAgICAgICAgICAgICAgICAgICMgTm8gVkdBIHRl eHQgYnVmZmVyCiAgICAgICAgIGptcCAgICAgLkxzZW5kX2NocgogLkxnZXRfdnRiOgotICAgICAg ICBtb3YgICAgIHN5bV9waHlzKHZnYV90ZXh0X2J1ZmZlciksJWVkaQorICAgICAgICBtb3YgICAg IHN5bV9lc2kodmdhX3RleHRfYnVmZmVyKSwlZWRpCiAuTHNlbmRfY2hyOgogICAgICAgICBtb3Yg ICAgICglZXNpKSwlYmwKICAgICAgICAgdGVzdCAgICAlYmwsJWJsICAgICAgICAjIFRlcm1pbmF0 ZSBvbiAnXDAnIHNlbnRpbmVsCkBAIC0zMTIsOSArMzE1LDEzIEBAIF9fZWZpNjRfbWIyX3N0YXJ0 OgogeDg2XzMyX3N3aXRjaDoKICAgICAgICAgbW92ICAgICAlcjE1LCVyZGkKIAorICAgICAgICAv KiBTdG9yZSBYZW4gaW1hZ2UgbG9hZCBiYXNlIGFkZHJlc3MgaW4gcGxhY2UgYWNjZXNzaWJsZSBm b3IgMzItYml0IGNvZGUuICovCisgICAgICAgIGxlYSAgICAgX19pbWFnZV9iYXNlX18oJXJpcCks JWVzaQorCiAgICAgICAgIGNsaQogCiAgICAgICAgIC8qIEluaXRpYWxpemUgR0RUUi4gKi8KKyAg ICAgICAgYWRkICAgICAlZXNpLGdkdF9ib290X2Jhc2UoJXJpcCkKICAgICAgICAgbGdkdCAgICBn ZHRfYm9vdF9kZXNjciglcmlwKQogCiAgICAgICAgIC8qIFJlbG9hZCBjb2RlIHNlbGVjdG9yLiAq LwpAQCAtMzUwLDEyICszNTcsOCBAQCBfX3N0YXJ0OgogICAgICAgICBjbGQKICAgICAgICAgY2xp CiAKLSAgICAgICAgLyogSW5pdGlhbGlzZSBHRFQgYW5kIGJhc2ljIGRhdGEgc2VnbWVudHMuICov Ci0gICAgICAgIGxnZHQgICAgJWNzOnN5bV9waHlzKGdkdF9ib290X2Rlc2NyKQotICAgICAgICBt b3YgICAgICRCT09UX0RTLCVlY3gKLSAgICAgICAgbW92ICAgICAlZWN4LCVkcwotICAgICAgICBt b3YgICAgICVlY3gsJWVzCi0gICAgICAgIG1vdiAgICAgJWVjeCwlc3MKKyAgICAgICAgLyogTG9h ZCBkZWZhdWx0IFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzcy4gKi8KKyAgICAgICAgbW92ICAg ICAkc3ltX3BoeXMoX19pbWFnZV9iYXNlX18pLCVlc2kKIAogICAgICAgICAvKiBCb290bG9hZGVy cyBtYXkgc2V0IG11bHRpYm9vdHsxLDJ9Lm1lbV9sb3dlciB0byBhIG5vbnplcm8gdmFsdWUuICov CiAgICAgICAgIHhvciAgICAgJWVkeCwlZWR4CkBAIC00MjAsNiArNDIzLDI1IEBAIF9fc3RhcnQ6 CiAgICAgICAgIGptcCAgICAgLkxtYjJfdHNpemUKIAogdHJhbXBvbGluZV9iaW9zX3NldHVwOgor ICAgICAgICAvKgorICAgICAgICAgKiBDYWxsZWQgb24gbGVnYWN5IEJJT1MgcGxhdGZvcm1zIG9u bHkuCisgICAgICAgICAqCisgICAgICAgICAqIEluaXRpYWxpemUgR0RUUiBhbmQgYmFzaWMgZGF0 YSBzZWdtZW50cy4KKyAgICAgICAgICovCisgICAgICAgIGFkZCAgICAgJWVzaSxzeW1fZXNpKGdk dF9ib290X2Jhc2UpCisgICAgICAgIGxnZHQgICAgc3ltX2VzaShnZHRfYm9vdF9kZXNjcikKKwor ICAgICAgICBtb3YgICAgICRCT09UX0RTLCVlY3gKKyAgICAgICAgbW92ICAgICAlZWN4LCVkcwor ICAgICAgICBtb3YgICAgICVlY3gsJWVzCisgICAgICAgIG1vdiAgICAgJWVjeCwlc3MKKyAgICAg ICAgLyogJWVzcCBpcyBpbml0aWFsaXplZCBsYXRlci4gKi8KKworICAgICAgICAvKiBMb2FkIG51 bGwgZGVzY3JpcHRvciB0byB1bnVzZWQgc2VnbWVudCByZWdpc3RlcnMuICovCisgICAgICAgIHhv ciAgICAgJWVjeCwlZWN4CisgICAgICAgIG1vdiAgICAgJWVjeCwlZnMKKyAgICAgICAgbW92ICAg ICAlZWN4LCVncworCiAgICAgICAgIC8qIFNldCB1cCB0cmFtcG9saW5lIHNlZ21lbnQgNjRrIGJl bG93IEVCREEgKi8KICAgICAgICAgbW92endsICAweDQwZSwlZWN4ICAgICAgICAgIC8qIEVCREEg c2VnbWVudCAqLwogICAgICAgICBjbXAgICAgICQweGEwMDAsJWVjeCAgICAgICAgLyogc2FuaXR5 IGNoZWNrIChoaWdoKSAqLwpAQCAtNDQ3LDIxICs0NjksNDkgQEAgdHJhbXBvbGluZV9iaW9zX3Nl dHVwOgogICAgICAgICAvKiBGcm9tIGFyY2gveDg2L3NtcGJvb3QuYzogc3RhcnRfZWlwIGhhZCBi ZXR0ZXIgYmUgcGFnZS1hbGlnbmVkISAqLwogICAgICAgICB4b3IgICAgICVjbCwgJWNsCiAgICAg ICAgIHNobCAgICAgJDQsICVlY3gKLSAgICAgICAgbW92ICAgICAlZWN4LHN5bV9waHlzKHRyYW1w b2xpbmVfcGh5cykKKyAgICAgICAgbW92ICAgICAlZWN4LHN5bV9lc2kodHJhbXBvbGluZV9waHlz KQogCiB0cmFtcG9saW5lX3NldHVwOgotICAgICAgICBtb3YgICAgIHN5bV9waHlzKHRyYW1wb2xp bmVfcGh5cyksJWVjeAorICAgICAgICAvKgorICAgICAgICAgKiBDYWxsZWQgb24gbGVnYWN5IEJJ T1MgYW5kIEVGSSBwbGF0Zm9ybXMuCisgICAgICAgICAqCisgICAgICAgICAqIEluaXRpYWxpemUg MC0xNSBiaXRzIG9mIEJPT1RfRlMgc2VnbWVudCBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcy4KKyAg ICAgICAgICovCisgICAgICAgIG1vdiAgICAgJXNpLEJPT1RfRlMrMitzeW1fZXNpKHRyYW1wb2xp bmVfZ2R0KQorCisgICAgICAgIC8qIEluaXRpYWxpemUgMTYtMjMgYml0cyBvZiBCT09UX0ZTIHNl Z21lbnQgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MuICovCisgICAgICAgIHNobGQgICAgJDE2LCVl c2ksJWVkeAorICAgICAgICBtb3YgICAgICVkbCxCT09UX0ZTKzQrc3ltX2VzaSh0cmFtcG9saW5l X2dkdCkKKworICAgICAgICAvKiBJbml0aWFsaXplIDI0LTMxIGJpdHMgb2YgQk9PVF9GUyBzZWdt ZW50IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzLiAqLworICAgICAgICBtb3YgICAgICVkaCxCT09U X0ZTKzcrc3ltX2VzaSh0cmFtcG9saW5lX2dkdCkKKworICAgICAgICAvKgorICAgICAgICAgKiBJ bml0aWFsaXplICVmcyBhbmQgbGF0ZXIgdXNlIGl0IHRvIGFjY2VzcyBYZW4gZGF0YSBpZiBwb3Nz aWJsZS4KKyAgICAgICAgICogQWNjb3JkaW5nIHRvIEludGVsIDY0IGFuZCBJQS0zMiBBcmNoaXRl Y3R1cmVzIFNvZnR3YXJlIERldmVsb3BlcidzCisgICAgICAgICAqIE1hbnVhbCBpdCBpcyBzYWZl IHRvIGRvIHRoYXQgd2l0aG91dCByZWxvYWRpbmcgR0RUUiBiZWZvcmUuCisgICAgICAgICAqLwor ICAgICAgICBtb3YgICAgICRCT09UX0ZTLCVlZHgKKyAgICAgICAgbW92ICAgICAlZWR4LCVmcwor CisgICAgICAgIC8qIFNhdmUgWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzIGZvciBsYXRlciB1 c2UuICovCisgICAgICAgIG1vdiAgICAgJWVzaSxzeW1fZnMoeGVuX3BoeXNfc3RhcnQpCisgICAg ICAgIG1vdiAgICAgJWVzaSxzeW1fZnModHJhbXBvbGluZV94ZW5fcGh5c19zdGFydCkKKworICAg ICAgICAvKiBTZXR1cCBzdGFjay4gJXNzIHdhcyBpbml0aWFsaXplZCBlYXJsaWVyLiAqLworICAg ICAgICBsZWEgICAgIDEwMjQrc3ltX2VzaShjcHUwX3N0YWNrKSwlZXNwCisKKyAgICAgICAgbW92 ICAgICBzeW1fZnModHJhbXBvbGluZV9waHlzKSwlZWN4CiAKICAgICAgICAgLyogR2V0IGJvdHRv bS1tb3N0IGxvdy1tZW1vcnkgc3RhY2sgYWRkcmVzcy4gKi8KICAgICAgICAgYWRkICAgICAkVFJB TVBPTElORV9TUEFDRSwlZWN4CiAKICAgICAgICAgLyogU2F2ZSB0aGUgTXVsdGlib290IGluZm8g c3RydWN0IChhZnRlciByZWxvY2F0aW9uKSBmb3IgbGF0ZXIgdXNlLiAqLwotICAgICAgICBtb3Yg ICAgICRzeW1fcGh5cyhjcHUwX3N0YWNrKSsxMDI0LCVlc3AKICAgICAgICAgcHVzaCAgICAlZWN4 ICAgICAgICAgICAgICAgIC8qIEJvdHRvbS1tb3N0IGxvdy1tZW1vcnkgc3RhY2sgYWRkcmVzcy4g Ki8KICAgICAgICAgcHVzaCAgICAlZWJ4ICAgICAgICAgICAgICAgIC8qIE11bHRpYm9vdCBpbmZv cm1hdGlvbiBhZGRyZXNzLiAqLwogICAgICAgICBwdXNoICAgICVlYXggICAgICAgICAgICAgICAg LyogTXVsdGlib290IG1hZ2ljLiAqLwogICAgICAgICBjYWxsICAgIHJlbG9jCi0gICAgICAgIG1v diAgICAgJWVheCxzeW1fcGh5cyhtdWx0aWJvb3RfcHRyKQorICAgICAgICBtb3YgICAgICVlYXgs c3ltX2ZzKG11bHRpYm9vdF9wdHIpCiAKICAgICAgICAgLyoKICAgICAgICAgICogTm93IHRyYW1w b2xpbmVfcGh5cyBwb2ludHMgdG8gdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmUgKGxvd2VzdCBhZGRy ZXNzCkBAIC00ODQsMTYgKzUzNCwyMCBAQCB0cmFtcG9saW5lX3NldHVwOgogICAgICAgICAgKiBE byBub3QgemVybyBCU1Mgb24gRUZJIHBsYXRmb3JtIGhlcmUuCiAgICAgICAgICAqIEl0IHdhcyBp bml0aWFsaXplZCBlYXJsaWVyLgogICAgICAgICAgKi8KLSAgICAgICAgY21wYiAgICAkMCxzeW1f cGh5cyhlZmlfcGxhdGZvcm0pCisgICAgICAgIGNtcGIgICAgJDAsc3ltX2ZzKGVmaV9wbGF0Zm9y bSkKICAgICAgICAgam56ICAgICAxZgogCiAgICAgICAgIC8qIEluaXRpYWxpemUgQlNTIChubyBu YXN0eSBzdXJwcmlzZXMhKS4gKi8KICAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX19ic3Nfc3Rh cnQpLCVlZGkKICAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX19ic3NfZW5kKSwlZWN4CisgICAg ICAgIHB1c2ggICAgJWZzCisgICAgICAgIHBvcCAgICAgJWVzCiAgICAgICAgIHN1YiAgICAgJWVk aSwlZWN4CiAgICAgICAgIHhvciAgICAgJWVheCwlZWF4CiAgICAgICAgIHNociAgICAgJDIsJWVj eAogICAgICAgICByZXAgc3Rvc2wKKyAgICAgICAgcHVzaCAgICAlZHMKKyAgICAgICAgcG9wICAg ICAlZXMKIAogMToKICAgICAgICAgLyogSW50ZXJyb2dhdGUgQ1BVIGV4dGVuZGVkIGZlYXR1cmVz IHZpYSBDUFVJRC4gKi8KQEAgLTUwNyw4ICs1NjEsOCBAQCB0cmFtcG9saW5lX3NldHVwOgogICAg ICAgICBqYmUgICAgIDFmCiAgICAgICAgIG1vdiAgICAgJDB4ODAwMDAwMDEsJWVheAogICAgICAg ICBjcHVpZAotMTogICAgICBtb3YgICAgICVlZHgsc3ltX3BoeXMoY3B1aWRfZXh0X2ZlYXR1cmVz KQotICAgICAgICBtb3YgICAgICVlZHgsc3ltX3BoeXMoYm9vdF9jcHVfZGF0YSkrQ1BVSU5GT19G RUFUVVJFX09GRlNFVChYODZfRkVBVFVSRV9MTSkKKzE6ICAgICAgbW92ICAgICAlZWR4LHN5bV9m cyhjcHVpZF9leHRfZmVhdHVyZXMpCisgICAgICAgIG1vdiAgICAgJWVkeCxzeW1fZnMoYm9vdF9j cHVfZGF0YSkrQ1BVSU5GT19GRUFUVVJFX09GRlNFVChYODZfRkVBVFVSRV9MTSkKIAogICAgICAg ICAvKiBDaGVjayBmb3IgYXZhaWxhYmlsaXR5IG9mIGxvbmcgbW9kZS4gKi8KICAgICAgICAgYnQg ICAgICAkY3B1ZmVhdF9iaXQoWDg2X0ZFQVRVUkVfTE0pLCVlZHgKQEAgLTUxNiwxNSArNTcwLDUy IEBAIHRyYW1wb2xpbmVfc2V0dXA6CiAKICAgICAgICAgLyogU3Rhc2ggVFNDIHRvIGNhbGN1bGF0 ZSBhIGdvb2QgYXBwcm94aW1hdGlvbiBvZiB0aW1lLXNpbmNlLWJvb3QgKi8KICAgICAgICAgcmR0 c2MKLSAgICAgICAgbW92ICAgICAlZWF4LHN5bV9waHlzKGJvb3RfdHNjX3N0YW1wKQotICAgICAg ICBtb3YgICAgICVlZHgsc3ltX3BoeXMoYm9vdF90c2Nfc3RhbXArNCkKKyAgICAgICAgbW92ICAg ICAlZWF4LHN5bV9mcyhib290X3RzY19zdGFtcCkKKyAgICAgICAgbW92ICAgICAlZWR4LHN5bV9m cyhib290X3RzY19zdGFtcCkrNAorCisgICAgICAgIC8qCisgICAgICAgICAqIFVwZGF0ZSBmcmFt ZSBhZGRyZXNzZXMgaW4gcGFnZSB0YWJsZXMgZXhjbHVkaW5nIGwyX2lkZW50bWFwCisgICAgICAg ICAqIHdpdGhvdXQgaXRzIGZpcnN0IGVudHJ5IHdoaWNoIHBvaW50cyB0byBsMV9pZGVudG1hcC4K KyAgICAgICAgICovCisgICAgICAgIG1vdiAgICAgJCgoX19wYWdlX3RhYmxlc19lbmQtX19wYWdl X3RhYmxlc19zdGFydCkvOCksJWVjeAorICAgICAgICBtb3YgICAgICQoKChsMl9pZGVudG1hcC1f X3BhZ2VfdGFibGVzX3N0YXJ0KS84KSsxKSwlZWR4CisxOiAgICAgIGNtcCAgICAgJCgobDJfaWRl bnRtYXArbDJfaWRlbnRtYXBfc2l6ZW9mLV9fcGFnZV90YWJsZXNfc3RhcnQpLzgpLCVlY3gKKyAg ICAgICAgY21vdmUgICAlZWR4LCVlY3gKKyAgICAgICAgdGVzdGwgICAkX1BBR0VfUFJFU0VOVCxz eW1fZnMoX19wYWdlX3RhYmxlc19zdGFydCktOCgsJWVjeCw4KQorICAgICAgICBqeiAgICAgIDJm CisgICAgICAgIGFkZCAgICAgJWVzaSxzeW1fZnMoX19wYWdlX3RhYmxlc19zdGFydCktOCgsJWVj eCw4KQorMjogICAgICBsb29wICAgIDFiCisKKyAgICAgICAgLyogSW5pdGlhbGl6ZSBMMiBib290 LW1hcC9kaXJlY3QgbWFwIHBhZ2UgdGFibGUgZW50cmllcyAoMTZNQikuICovCisgICAgICAgIGxl YSAgICAgc3ltX2VzaShzdGFydCksJWVieAorICAgICAgICBsZWEgICAgICgxPDxMMl9QQUdFVEFC TEVfU0hJRlQpKjcrKFBBR0VfSFlQRVJWSVNPUnxfUEFHRV9QU0UpKCVlYngpLCVlYXgKKyAgICAg ICAgc2hyICAgICAkKEwyX1BBR0VUQUJMRV9TSElGVC0zKSwlZWJ4CisgICAgICAgIG1vdiAgICAg JDgsJWVjeAorMTogICAgICBtb3YgICAgICVlYXgsc3ltX2ZzKGwyX2Jvb3RtYXApLTgoJWVieCwl ZWN4LDgpCisgICAgICAgIG1vdiAgICAgJWVheCxzeW1fZnMobDJfaWRlbnRtYXApLTgoJWVieCwl ZWN4LDgpCisgICAgICAgIHN1YiAgICAgJCgxPDxMMl9QQUdFVEFCTEVfU0hJRlQpLCVlYXgKKyAg ICAgICAgbG9vcCAgICAxYgorCisgICAgICAgIC8qIEluaXRpYWxpemUgTDMgYm9vdC1tYXAgcGFn ZSBkaXJlY3RvcnkgZW50cnkuICovCisgICAgICAgIGxlYSAgICAgX19QQUdFX0hZUEVSVklTT1Ir KEwyX1BBR0VUQUJMRV9FTlRSSUVTKjgpKjMrc3ltX2VzaShsMl9ib290bWFwKSwlZWF4CisgICAg ICAgIG1vdiAgICAgJDQsJWVjeAorMTogICAgICBtb3YgICAgICVlYXgsc3ltX2ZzKGwzX2Jvb3Rt YXApLTgoLCVlY3gsOCkKKyAgICAgICAgc3ViICAgICAkKEwyX1BBR0VUQUJMRV9FTlRSSUVTKjgp LCVlYXgKKyAgICAgICAgbG9vcCAgICAxYgorCisgICAgICAgIC8qCisgICAgICAgICAqIER1cmlu ZyBib290LCBob29rIDRrQiBtYXBwaW5ncyBvZiBmaXJzdCAyTUIgb2YgbWVtb3J5IGludG8gTDIu CisgICAgICAgICAqIFRoaXMgYXZvaWRzIG1peGluZyBjYWNoYWJpbGl0eSBmb3IgdGhlIGxlZ2Fj eSBWR0EgcmVnaW9uLgorICAgICAgICAgKi8KKyAgICAgICAgbGVhICAgICBfX1BBR0VfSFlQRVJW SVNPUitzeW1fZXNpKGwxX2lkZW50bWFwKSwlZWRpCisgICAgICAgIG1vdiAgICAgJWVkaSxzeW1f ZnMobDJfYm9vdG1hcCkKIAogICAgICAgICAvKiBBcHBseSByZWxvY2F0aW9ucyB0byBib290c3Ry YXAgdHJhbXBvbGluZS4gKi8KLSAgICAgICAgbW92ICAgICBzeW1fcGh5cyh0cmFtcG9saW5lX3Bo eXMpLCVlZHgKKyAgICAgICAgbW92ICAgICBzeW1fZnModHJhbXBvbGluZV9waHlzKSwlZWR4CiAg ICAgICAgIG1vdiAgICAgJHN5bV9waHlzKF9fdHJhbXBvbGluZV9yZWxfc3RhcnQpLCVlZGkKIDE6 Ci0gICAgICAgIG1vdiAgICAgKCVlZGkpLCVlYXgKLSAgICAgICAgYWRkICAgICAlZWR4LCglZWRp LCVlYXgpCisgICAgICAgIG1vdiAgICAgJWZzOiglZWRpKSwlZWF4CisgICAgICAgIGFkZCAgICAg JWVkeCwlZnM6KCVlZGksJWVheCkKICAgICAgICAgYWRkICAgICAkNCwlZWRpCiAgICAgICAgIGNt cCAgICAgJHN5bV9waHlzKF9fdHJhbXBvbGluZV9yZWxfc3RvcCksJWVkaQogICAgICAgICBqYiAg ICAgIDFiCkBAIC01MzMsMjggKzYyNCwyOSBAQCB0cmFtcG9saW5lX3NldHVwOgogICAgICAgICBz aHIgICAgICQ0LCVlZHgKICAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX190cmFtcG9saW5lX3Nl Z19zdGFydCksJWVkaQogMToKLSAgICAgICAgbW92ICAgICAoJWVkaSksJWVheAotICAgICAgICBt b3YgICAgICVkeCwoJWVkaSwlZWF4KQorICAgICAgICBtb3YgICAgICVmczooJWVkaSksJWVheAor ICAgICAgICBtb3YgICAgICVkeCwlZnM6KCVlZGksJWVheCkKICAgICAgICAgYWRkICAgICAkNCwl ZWRpCiAgICAgICAgIGNtcCAgICAgJHN5bV9waHlzKF9fdHJhbXBvbGluZV9zZWdfc3RvcCksJWVk aQogICAgICAgICBqYiAgICAgIDFiCiAKICAgICAgICAgLyogRG8gbm90IHBhcnNlIGNvbW1hbmQg bGluZSBvbiBFRkkgcGxhdGZvcm0gaGVyZS4gKi8KLSAgICAgICAgY21wYiAgICAkMCxzeW1fcGh5 cyhlZmlfcGxhdGZvcm0pCisgICAgICAgIGNtcGIgICAgJDAsc3ltX2ZzKGVmaV9wbGF0Zm9ybSkK ICAgICAgICAgam56ICAgICAxZgogCiAgICAgICAgIC8qIEJhaWwgaWYgdGhlcmUgaXMgbm8gY29t bWFuZCBsaW5lIHRvIHBhcnNlLiAqLwotICAgICAgICBtb3YgICAgIHN5bV9waHlzKG11bHRpYm9v dF9wdHIpLCVlYngKKyAgICAgICAgbW92ICAgICBzeW1fZnMobXVsdGlib290X3B0ciksJWVieAog ICAgICAgICB0ZXN0bCAgICRNQklfQ01ETElORSxNQl9mbGFncyglZWJ4KQogICAgICAgICBqeiAg ICAgIDFmCiAKLSAgICAgICAgcHVzaGwgICAkc3ltX3BoeXMoZWFybHlfYm9vdF9vcHRzKQorICAg ICAgICBsZWEgICAgIHN5bV9lc2koZWFybHlfYm9vdF9vcHRzKSwlZWF4CisgICAgICAgIHB1c2gg ICAgJWVheAogICAgICAgICBwdXNobCAgIE1CX2NtZGxpbmUoJWVieCkKICAgICAgICAgY2FsbCAg ICBjbWRsaW5lX3BhcnNlX2Vhcmx5CiAKIDE6CiAgICAgICAgIC8qIFN3aXRjaCB0byBsb3ctbWVt b3J5IHN0YWNrIHdoaWNoIGxpdmVzIGF0IHRoZSBlbmQgb2YgdHJhbXBvbGluZSByZWdpb24uICov Ci0gICAgICAgIG1vdiAgICAgc3ltX3BoeXModHJhbXBvbGluZV9waHlzKSwlZWRpCisgICAgICAg IG1vdiAgICAgc3ltX2ZzKHRyYW1wb2xpbmVfcGh5cyksJWVkaQogICAgICAgICBsZWEgICAgIFRS QU1QT0xJTkVfU1BBQ0UrVFJBTVBPTElORV9TVEFDS19TUEFDRSglZWRpKSwlZXNwCiAgICAgICAg IGxlYSAgICAgdHJhbXBvbGluZV9ib290X2NwdV9lbnRyeS10cmFtcG9saW5lX3N0YXJ0KCVlZGkp LCVlYXgKICAgICAgICAgcHVzaGwgICAkQk9PVF9DUzMyCkBAIC01NjMsNyArNjU1LDcgQEAgdHJh bXBvbGluZV9zZXR1cDoKICAgICAgICAgLyogQ29weSBib290c3RyYXAgdHJhbXBvbGluZSB0byBs b3cgbWVtb3J5LCBiZWxvdyAxTUIuICovCiAgICAgICAgIG1vdiAgICAgJHN5bV9waHlzKHRyYW1w b2xpbmVfc3RhcnQpLCVlc2kKICAgICAgICAgbW92ICAgICAkKCh0cmFtcG9saW5lX2VuZCAtIHRy YW1wb2xpbmVfc3RhcnQpIC8gNCksJWVjeAotICAgICAgICByZXAgbW92c2wKKyAgICAgICAgcmVw IG1vdnNsICVmczooJWVzaSksJWVzOiglZWRpKQogCiAgICAgICAgIC8qIEp1bXAgaW50byB0aGUg cmVsb2NhdGVkIHRyYW1wb2xpbmUuICovCiAgICAgICAgIGxyZXQKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUyBiL3hlbi9hcmNoL3g4Ni9ib290L3RyYW1wb2xpbmUu UwppbmRleCAyNzE1ZDE3Li42NGY4ZWZkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC90 cmFtcG9saW5lLlMKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QvdHJhbXBvbGluZS5TCkBAIC01NCw2 ICs1NCwxMSBAQCB0cmFtcG9saW5lX2dkdDoKICAgICAgICAgLyogMHgwMDI4OiByZWFsLW1vZGUg ZGF0YSBAIEJPT1RfVFJBTVBPTElORSAqLwogICAgICAgICAubG9uZyAgIDB4MDAwMGZmZmYKICAg ICAgICAgLmxvbmcgICAweDAwMDA5MjAwCisgICAgICAgIC8qCisgICAgICAgICAqIDB4MDAzMDog cmluZyAwIFhlbiBkYXRhLCAxNiBNaUIgc2l6ZSwgYmFzZQorICAgICAgICAgKiBhZGRyZXNzIGlz IGNvbXB1dGVkIGR1cmluZyBydW50aW1lLgorICAgICAgICAgKi8KKyAgICAgICAgLnF1YWQgICAw eDAwYzA5MjAwMDAwMDBmZmYKIAogICAgICAgICAucHVzaHNlY3Rpb24gLnRyYW1wb2xpbmVfcmVs LCAiYSIKICAgICAgICAgLmxvbmcgICB0cmFtcG9saW5lX2dkdCArIEJPT1RfUFNFVURPUk1fQ1Mg KyAyIC0gLgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMgYi94ZW4vYXJj aC94ODYvYm9vdC94ODZfNjQuUwppbmRleCBmOWQxMDIyLi5kMDdjMzYwIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQu UwpAQCAtODEsNyArODEsNiBAQCBHTE9CQUwoYm9vdF9jcHVfY29tcGF0X2dkdF90YWJsZSkKICAg ICAgICAgLnF1YWQgMHgwMDAwOTEwMDAwMDAwMDAwICAgICAvKiBwZXItQ1BVIGVudHJ5IChsaW1p dCA9PSBjcHUpICAgICAgKi8KICAgICAgICAgLmFsaWduIFBBR0VfU0laRSwgMAogCi1HTE9CQUwo X19wYWdlX3RhYmxlc19zdGFydCkKIC8qCiAgKiBNYXBwaW5nIG9mIGZpcnN0IDIgbWVnYWJ5dGVz IG9mIG1lbW9yeS4gVGhpcyBpcyBtYXBwZWQgd2l0aCA0a0IgbWFwcGluZ3MKICAqIHRvIGF2b2lk IHR5cGUgY29uZmxpY3RzIHdpdGggZml4ZWQtcmFuZ2UgTVRSUnMgY292ZXJpbmcgdGhlIGxvd2Vz dCBtZWdhYnl0ZQpAQCAtMTAyLDYgKzEwMSwxMyBAQCBsMV9pZGVudG1hcDoKICAgICAgICAgLnNp emUgbDFfaWRlbnRtYXAsIC4gLSBsMV9pZGVudG1hcAogCiAvKgorICogX19wYWdlX3RhYmxlc19z dGFydCBkb2VzIG5vdCBjb3ZlciBsMV9pZGVudG1hcCBiZWNhdXNlIGl0IChsMV9pZGVudG1hcCkK KyAqIGNvbnRhaW5zIDEtMSBtYXBwaW5ncy4gVGhpcyBtZWFucyB0aGF0IGZyYW1lIGFkZHJlc3Nl cyBvZiB0aGVzZSBtYXBwaW5ncworICogYXJlIHN0YXRpYyBhbmQgc2hvdWxkIG5vdCBiZSB1cGRh dGVkIGR1cmluZyBydW50aW1lLgorICovCitHTE9CQUwoX19wYWdlX3RhYmxlc19zdGFydCkKKwor LyoKICAqIFNwYWNlIGZvciBtYXBwaW5nIHRoZSBmaXJzdCA0R0Igb2YgbWVtb3J5LCB3aXRoIHRo ZSBmaXJzdCAxNiBtZWdhYnl0ZXMKICAqIGFjdHVhbHkgbWFwcGVkIChtb3N0bHkgdXNpbmcgc3Vw ZXJwYWdlcykuICBVc2VzIDR4IDRrIHBhZ2VzLgogICovCkBAIC0xODYsMjEgKzE5MiwxNCBAQCBH TE9CQUwoaWRsZV9wZ190YWJsZSkKIAogR0xPQkFMKF9fcGFnZV90YWJsZXNfZW5kKQogCi0vKiBJ bml0IHBhZ2V0YWJsZXMuICBFbm91Z2ggcGFnZSBkaXJlY3RvcmllcyB0byBtYXAgaW50byB0aGUg Ym90dG9tIDFHQi4gKi8KKy8qIEluaXQgcGFnZXRhYmxlcy4gRW5vdWdoIHBhZ2UgZGlyZWN0b3Jp ZXMgdG8gbWFwIGludG8gNEdCLiAqLwogICAgICAgICAuc2VjdGlvbiAuaW5pdC5kYXRhLCAiYXci LCBAcHJvZ2JpdHMKICAgICAgICAgLmFsaWduIFBBR0VfU0laRSwgMAogCiBHTE9CQUwobDJfYm9v dG1hcCkKLSAgICAgICAgLnF1YWQgc3ltX3BoeXMobDFfaWRlbnRtYXApICsgX19QQUdFX0hZUEVS VklTT1IKLSAgICAgICAgaWR4ID0gMQotICAgICAgICAucmVwdCA3Ci0gICAgICAgIC5xdWFkIChp ZHggPDwgTDJfUEFHRVRBQkxFX1NISUZUKSB8IF9fUEFHRV9IWVBFUlZJU09SIHwgX1BBR0VfUFNF Ci0gICAgICAgIGlkeCA9IGlkeCArIDEKLSAgICAgICAgLmVuZHIKLSAgICAgICAgLmZpbGwgTDJf UEFHRVRBQkxFX0VOVFJJRVMgLSA4LCA4LCAwCisgICAgICAgIC5maWxsIDQgKiBMMl9QQUdFVEFC TEVfRU5UUklFUywgOCwgMAogICAgICAgICAuc2l6ZSBsMl9ib290bWFwLCAuIC0gbDJfYm9vdG1h cAogCiBHTE9CQUwobDNfYm9vdG1hcCkKLSAgICAgICAgLnF1YWQgc3ltX3BoeXMobDJfYm9vdG1h cCkgKyBfX1BBR0VfSFlQRVJWSVNPUgotICAgICAgICAuZmlsbCBMM19QQUdFVEFCTEVfRU5UUklF UyAtIDEsIDgsIDAKKyAgICAgICAgLmZpbGwgTDNfUEFHRVRBQkxFX0VOVFJJRVMsIDgsIDAKICAg ICAgICAgLnNpemUgbDNfYm9vdG1hcCwgLiAtIGwzX2Jvb3RtYXAKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggYTVjZTkyNi4uOTg3 OWM0ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2 L3NldHVwLmMKQEAgLTMzMCw5ICszMzAsNiBAQCBzdGF0aWMgdm9pZCAqX19pbml0IGJvb3RzdHJh cF9tYXAoY29uc3QgbW9kdWxlX3QgKm1vZCkKICAgICBpZiAoIHN0YXJ0ID49IGVuZCApCiAgICAg ICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKCBlbmQgPD0gQk9PVFNUUkFQX01BUF9CQVNFICkK LSAgICAgICAgcmV0dXJuICh2b2lkICopKHVuc2lnbmVkIGxvbmcpc3RhcnQ7Ci0KICAgICByZXQg PSAodm9pZCAqKShtYXBfY3VyICsgKHVuc2lnbmVkIGxvbmcpKHN0YXJ0ICYgbWFzaykpOwogICAg IHN0YXJ0ICY9IH5tYXNrOwogICAgIGVuZCA9IChlbmQgKyBtYXNrKSAmIH5tYXNrOwpAQCAtNzE2 LDYgKzcxMyw4IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxv bmcgbWJpX3ApCiAKICAgICBwcmludGsoIkNvbW1hbmQgbGluZTogJXNcbiIsIGNtZGxpbmUpOwog CisgICAgcHJpbnRrKCJYZW4gaW1hZ2UgbG9hZCBiYXNlIGFkZHJlc3M6ICUjbHhcbiIsIHhlbl9w aHlzX3N0YXJ0KTsKKwogICAgIHByaW50aygiVmlkZW8gaW5mb3JtYXRpb246XG4iKTsKIAogICAg IC8qIFByaW50IFZHQSBkaXNwbGF5IG1vZGUgaW5mb3JtYXRpb24uICovCkBAIC05NzMsNyArOTcy LDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlf cCkKICAgICAgICAgICAgICAgICAgICAgLyogTm90IHByZXNlbnQsIDFHQiBtYXBwaW5nLCBvciBh bHJlYWR5IHJlbG9jYXRlZD8gKi8KICAgICAgICAgICAgICAgICAgICAgaWYgKCAhKGwzZV9nZXRf ZmxhZ3MoKnBsM2UpICYgX1BBR0VfUFJFU0VOVCkgfHwKICAgICAgICAgICAgICAgICAgICAgICAg ICAobDNlX2dldF9mbGFncygqcGwzZSkgJiBfUEFHRV9QU0UpIHx8Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgKGwzZV9nZXRfcGZuKCpwbDNlKSA+IDB4MTAwMCkgKQorICAgICAgICAgICAgICAg ICAgICAgICAgIChsM2VfZ2V0X3BmbigqcGwzZSkgPiBQRk5fRE9XTih4ZW5fcGh5c19zdGFydCkp ICkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAg ICAqcGwzZSA9IGwzZV9mcm9tX2ludHB0ZShsM2VfZ2V0X2ludHB0ZSgqcGwzZSkgKwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGh5c19zdGFydCk7CkBA IC05ODMsNyArOTgyLDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWdu ZWQgbG9uZyBtYmlfcCkKICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5vdCBwcmVzZW50LCBQ U0UsIG9yIGFscmVhZHkgcmVsb2NhdGVkPyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgaWYg KCAhKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCkgfHwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFNFKSB8fAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobDJlX2dldF9wZm4oKnBsMmUpID4gMHgxMDAw KSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsMmVfZ2V0X3BmbigqcGwyZSkgPiBQ Rk5fRE9XTih4ZW5fcGh5c19zdGFydCkpICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICpwbDJlID0gbDJlX2Zyb21faW50cHRl KGwyZV9nZXRfaW50cHRlKCpwbDJlKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB4ZW5fcGh5c19zdGFydCk7CkBAIC0xMDA2LDcgKzEwMDUsOCBAQCB2 b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnczsKIAotICAgICAg ICAgICAgICAgIGlmICggIShsMmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNFTlQpICkK KyAgICAgICAgICAgICAgICBpZiAoICEobDJlX2dldF9mbGFncygqcGwyZSkgJiBfUEFHRV9QUkVT RU5UKSB8fAorICAgICAgICAgICAgICAgICAgICAgKGwyZV9nZXRfcGZuKCpwbDJlKSA+IFBGTl9E T1dOKHhlbl9waHlzX3N0YXJ0KSkgKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAog ICAgICAgICAgICAgICAgIGlmICggIXVzaW5nXzJNX21hcHBpbmcoKSApCkBAIC0xMDYwLDYgKzEw NjAsOCBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1i aV9wKQogICAgICAgICAgICAgICAgIDogIm1lbW9yeSIgKTsKIAogICAgICAgICAgICAgYm9vdHN0 cmFwX21hcChOVUxMKTsKKworICAgICAgICAgICAgcHJpbnRrKCJOZXcgWGVuIGltYWdlIGJhc2Ug YWRkcmVzczogJSNseFxuIiwgeGVuX3BoeXNfc3RhcnQpOwogICAgICAgICB9CiAKICAgICAgICAg LyogSXMgdGhlIHJlZ2lvbiBzdWl0YWJsZSBmb3IgcmVsb2NhdGluZyB0aGUgbXVsdGlib290IG1v ZHVsZXM/ICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMg Yi94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKaW5kZXggZjEzNTY1NC4uODdlNTcz YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCisrKyBiL3hl bi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwpAQCAtMTc5LDUgKzE3OSw4IEBAIHZvaWQg X19kdW1teV9fKHZvaWQpCiAgICAgT0ZGU0VUKE1CMl9lZmk2NF9paCwgbXVsdGlib290Ml90YWdf ZWZpNjRfaWhfdCwgcG9pbnRlcik7CiAgICAgQkxBTksoKTsKIAorICAgIERFRklORShsMl9pZGVu dG1hcF9zaXplb2YsIHNpemVvZihsMl9pZGVudG1hcCkpOworICAgIEJMQU5LKCk7CisKICAgICBP RkZTRVQoRE9NQUlOX3ZtX2Fzc2lzdCwgc3RydWN0IGRvbWFpbiwgdm1fYXNzaXN0KTsKIH0KZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wYWdlLmgKaW5kZXggYWY3ZDNlOC4uYTU0ZmRkMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9wYWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTI4OCw3 ICsyODgsNyBAQCBleHRlcm4gcm9vdF9wZ2VudHJ5X3QgaWRsZV9wZ190YWJsZVtST09UX1BBR0VU QUJMRV9FTlRSSUVTXTsKIGV4dGVybiBsMl9wZ2VudHJ5X3QgICpjb21wYXRfaWRsZV9wZ190YWJs ZV9sMjsKIGV4dGVybiB1bnNpZ25lZCBpbnQgICBtMnBfY29tcGF0X3ZzdGFydDsKIGV4dGVybiBs Ml9wZ2VudHJ5X3QgbDJfeGVubWFwW0wyX1BBR0VUQUJMRV9FTlRSSUVTXSwKLSAgICBsMl9ib290 bWFwW0wyX1BBR0VUQUJMRV9FTlRSSUVTXTsKKyAgICBsMl9ib290bWFwWzQqTDJfUEFHRVRBQkxF X0VOVFJJRVNdOwogZXh0ZXJuIGwzX3BnZW50cnlfdCBsM19ib290bWFwW0wzX1BBR0VUQUJMRV9F TlRSSUVTXTsKIGV4dGVybiBsMl9wZ2VudHJ5X3QgbDJfaWRlbnRtYXBbNCpMMl9QQUdFVEFCTEVf RU5UUklFU107CiBleHRlcm4gbDFfcGdlbnRyeV90IGwxX2ZpeG1hcFtMMV9QQUdFVEFCTEVfRU5U UklFU107Ci0tIAoxLjcuMTAuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=