From mboxrd@z Thu Jan 1 00:00:00 1970 From: Volodymyr Babchuk Subject: [PATCH v2 01/13] arm: add generic TEE mediator framework Date: Mon, 3 Sep 2018 19:54:25 +0300 Message-ID: <1535993677-20816-2-git-send-email-volodymyr_babchuk@epam.com> References: <1535993677-20816-1-git-send-email-volodymyr_babchuk@epam.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fws7z-0005Yx-6S for xen-devel@lists.xenproject.org; Mon, 03 Sep 2018 16:55:03 +0000 In-Reply-To: <1535993677-20816-1-git-send-email-volodymyr_babchuk@epam.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, xen-devel@lists.xen.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Volodymyr Babchuk List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIGJhc2ljIGZyYW1ld29yayBmb3IgVEVFIG1lZGlhdG9ycy4gR3Vlc3Rz IGNhbid0IHRhbGsKdG8gVEVFIGRpcmVjdGx5LCB3ZSBuZWVkIHNvbWUgZW50aXR5IHRoYXQgd2ls bCBpbnRlcmNlcHQgcmVxdWVzdAphbmQgZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGVtLiAiVEVF IG1lZGlhdG9yIiBpcyBhIHN1Y2ggZW50aXR5LgoKVGhpcyBpcyBob3cgaXQgd29ya3M6IHVzZXIg Y2FuIGJ1aWxkIFhFTiB3aXRoIG11bHRpcGxlIFRFRSBtZWRpYXRvcnMKKHNlZSB0aGUgbmV4dCBw YXRjaGVzLCB3aGVyZSBPUC1URUUgbWVkaWF0b3IgaXMgaW50cm9kdWNlZCkuClRFRSBtZWRpYXRv ciByZWdpc3RlciBzZWxmIHdpdGggUkVHSVNURVJfVEVFX01FRElBVE9SKCkgbWFjcm8gaW4gdGhl CnNhbWUgd2F5LCBhcyBkZXZpY2UgZHJpdmVycyB1c2UgRFRfREVWSUNFX1NUQVJUKCkvRFRfREVW SUNFX0VORCgpCm1hY3Jvcy4KSW4gcnVudGltZSwgZHVyaW5nIGluaXRpYWxpemF0aW9uLCBmcmFt ZXdvcmsgY2FsbHMgcHJvYmUoKSBmdW5jdGlvbgpmb3IgZWFjaCBhdmFpbGFibGUgbWVkaWF0b3Ig ZHJpdmVyIHRvIGZpbmQgd2hpY2ggVEVFIGlzIGluc3RhbGxlZApvbiB0aGUgcGxhdGZvcm0uIFRo ZW4gZ2VuZXJpYyB2U01DIGhhbmRsZXIgd2lsbCBjYWxsIHNlbGVjdGVkIG1lZGlhdG9yCndoZW4g aXQgaW50ZXJjZXB0IFNNQy9IVkMgdGhhdCBiZWxvbmdzIHRvIFRFRSBPUyBvciBURUUgYXBwbGlj YXRpb24uCgpDdXJlbnRseSBURUUgbWVkaWF0b3IgaXMgZW5hYmxlZCBvbmx5IGZvciBEb20wLgoK U2lnbmVkLW9mZi1ieTogVm9sb2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0u Y29tPgotLS0KCiBDaGFuZ2VzIGZyb20gdjE6CiAgLSBSZW1vdmVkIHRlZV9yZW1vdmUoKSBmdW5j dGlvbgogIC0gQ09ORklHX1RFRSBkZXBlbmRzIG9uIEVYUEVSVAogIC0gdGVlX2RvbWFpbl9jcmVh dGVkKCkgY29udmVydGVkIHRvIHRlZV9lbmFibGUoKQogIC0gdGVlX2luaXQoKSBpcyBjYWxsZWQg dXNpbmcgaW5pdGNhbGwoKSBtZWNoYW5pc20KICAtIHRlZV9oYW5kbGVfc21jKCkgcmVuYW1lZCB0 byB0ZWVfaGFuZGxlX2NhbGwoKQoKIENoYW5nZXMgZnJvbSAiUkZDIiB2ZXJzaW9uOgogIC0gcmVu YW1lZCBDT05GSUdfQVJNX1RFRSB0byBDT05GSUdfVEVFCiAgLSBjaGFuZ2VkIGRpc2NvdmVyeSBt ZWNoYW5pc206IGluc3RlYWQgb2YgVVVJRCBtYXRoaW5nLCBURUUtc3BlY2lmaWMKICAgICBwcm9i aW5nIGlzIHVzZWQKCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICB8ICA2ICsrKwogeGVu L2FyY2gvYXJtL0tjb25maWcgICAgICAgICAgfCAgOSArKysrKwogeGVuL2FyY2gvYXJtL01ha2Vm aWxlICAgICAgICAgfCAgMSArCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICAgICB8ICA0ICsr CiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgICB8ICA0ICsrCiB4ZW4vYXJjaC9hcm0vc2V0 dXAuYyAgICAgICAgICB8ICAxICsKIHhlbi9hcmNoL2FybS9zaHV0ZG93bi5jICAgICAgIHwgIDEg KwogeGVuL2FyY2gvYXJtL3RlZS9LY29uZmlnICAgICAgfCAgMAogeGVuL2FyY2gvYXJtL3RlZS9N YWtlZmlsZSAgICAgfCAgMSArCiB4ZW4vYXJjaC9hcm0vdGVlL3RlZS5jICAgICAgICB8IDY5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vdnNtYy5jICAgICAg ICAgICB8ICA1ICsrKwogeGVuL2FyY2gvYXJtL3hlbi5sZHMuUyAgICAgICAgfCAgNyArKysrCiB4 ZW4vaW5jbHVkZS9hc20tYXJtL3RlZS90ZWUuaCB8IDkxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDEzIGZpbGVzIGNoYW5nZWQsIDE5OSBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3RlZS9LY29uZmlnCiBjcmVhdGUgbW9k ZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhl bi9hcmNoL2FybS90ZWUvdGVlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20t YXJtL3RlZS90ZWUuaAoKZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5k ZXggMTk3MDEwMC4uNjA1ZTZiZCAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIvTUFJTlRB SU5FUlMKQEAgLTM3Niw2ICszNzYsMTIgQEAgRjoJY29uZmlnL1N0dWJkb20ubWsuaW4KIEY6CW00 L3N0dWJkb20ubTQKIEY6CXN0dWJkb20vCiAKK1RFRSBNRURJQVRPUlMKK006CVZvbG9keW15ciBC YWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KK1M6CVN1cHBvcnRlZAorRjoJeGVu L2FyY2gvYXJtL3RlZS8KK0Y6CXhlbi9pbmNsdWRlL2FzbS1hcm0vdGVlCisKIFRPT0xTVEFDSwog TToJSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CiBNOglXZWkgTGl1IDx3 ZWkubGl1MkBjaXRyaXguY29tPgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94 ZW4vYXJjaC9hcm0vS2NvbmZpZwppbmRleCA1ODZiYzYyLi4wOTY4Mzc4IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0vS2NvbmZpZworKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZwpAQCAtMTAyLDYg KzEwMiwxMyBAQCBjb25maWcgSEFSREVOX0JSQU5DSF9QUkVESUNUT1IKIAogCSAgSWYgdW5zdXJl LCBzYXkgWS4KIAorY29uZmlnIFRFRQorCWJvb2wgIkVuYWJsZSBURUUgbWVkaWF0b3JzIHN1cHBv cnQiIGlmIEVYUEVSVCA9ICJ5IgorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVu YWJsZXMgZ2VuZXJpYyBURUUgbWVkaWF0b3JzIHN1cHBvcnQuIEl0IGFsbG93cyBndWVzdHMKKwkg IHRvIGFjY2VzcyByZWFsIFRFRSB2aWEgb25lIG9mIFRFRSBtZWRpYXRvcnMgaW1wbGVtZW50ZWQg aW4gWEVOLgorCiBlbmRtZW51CiAKIG1lbnUgIkFSTSBlcnJhdGEgd29ya2Fyb3VuZCB2aWEgdGhl IGFsdGVybmF0aXZlIGZyYW1ld29yayIKQEAgLTIyNywzICsyMzQsNSBAQCBzb3VyY2UgImFyY2gv YXJtL3BsYXRmb3Jtcy9LY29uZmlnIgogc291cmNlICJjb21tb24vS2NvbmZpZyIKIAogc291cmNl ICJkcml2ZXJzL0tjb25maWciCisKK3NvdXJjZSAiYXJjaC9hcm0vdGVlL0tjb25maWciCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKaW5k ZXggMzdmYTgyNi4uNjMwZDgxNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlCisr KyBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQpAQCAtMyw2ICszLDcgQEAgc3ViZGlyLSQoQ09ORklH X0FSTV82NCkgKz0gYXJtNjQKIHN1YmRpci15ICs9IHBsYXRmb3Jtcwogc3ViZGlyLSQoQ09ORklH X0FSTV82NCkgKz0gZWZpCiBzdWJkaXItJChDT05GSUdfQUNQSSkgKz0gYWNwaQorc3ViZGlyLSQo Q09ORklHX1RFRSkgKz0gdGVlCiAKIG9iai0kKENPTkZJR19IQVNfQUxURVJOQVRJVkUpICs9IGFs dGVybmF0aXZlLm8KIG9iai15ICs9IGJvb3RmZHQuaW5pdC5vCmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggNGJhZWNjMi4uZGI1 ZjVlZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL2Fy bS9kb21haW4uYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGFzbS9wbGF0Zm9ybS5oPgog I2luY2x1ZGUgPGFzbS9wcm9jaW5mby5oPgogI2luY2x1ZGUgPGFzbS9yZWdzLmg+CisjaW5jbHVk ZSA8YXNtL3RlZS90ZWUuaD4KICNpbmNsdWRlIDxhc20vdmZwLmg+CiAjaW5jbHVkZSA8YXNtL3Zn aWMuaD4KICNpbmNsdWRlIDxhc20vdnRpbWVyLmg+CkBAIC05MDIsNiArOTAzLDkgQEAgaW50IGRv bWFpbl9yZWxpbnF1aXNoX3Jlc291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICAgKi8K ICAgICAgICAgZG9tYWluX3ZwbDAxMV9kZWluaXQoZCk7CiAKKyAgICAgICAgLyogRnJlZSBURUUg bWVkaWF0b3IgcmVzb3VyY2VzICovCisgICAgICAgIHRlZV9kb21haW5fZGVzdHJveShkKTsKKwog ICAgICAgICBkLT5hcmNoLnJlbG1lbSA9IFJFTE1FTV94ZW47CiAgICAgICAgIC8qIEZhbGx0aHJv dWdoICovCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9h cmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCBlMWM3OWIyLi5kMjA4ZWM3IDEwMDY0NAotLS0g YS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9i dWlsZC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8YXNtL3BzY2kuaD4KICNpbmNsdWRl IDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgorI2luY2x1ZGUgPGFz bS90ZWUvdGVlLmg+CiAKICNpbmNsdWRlIDx4ZW4vaXJxLmg+CiAjaW5jbHVkZSA8eGVuL2dyYW50 X3RhYmxlLmg+CkBAIC0yMTkzLDYgKzIxOTQsOSBAQCBpbnQgX19pbml0IGNvbnN0cnVjdF9kb20w KHN0cnVjdCBkb21haW4gKmQpCiAgICAgc2V0X2N1cnJlbnQoc2F2ZWRfY3VycmVudCk7CiAgICAg cDJtX3Jlc3RvcmVfc3RhdGUoc2F2ZWRfY3VycmVudCk7CiAKKyAgICAvKiBFbmFibGUgVEVFICov CisgICAgdGVlX2VuYWJsZShkKTsKKwogICAgIGRpc2NhcmRfaW5pdGlhbF9tb2R1bGVzKCk7CiAK ICAgICBtZW1zZXQocmVncywgMCwgc2l6ZW9mKCpyZWdzKSk7CmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCmluZGV4IDQ1ZjM4NDEuLjY4MDM1 NmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL2FybS9z ZXR1cC5jCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+CiAjaW5j bHVkZSA8YXNtL3Byb2NpbmZvLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8 YXNtL3RlZS90ZWUuaD4KICNpbmNsdWRlIDx4c20veHNtLmg+CiAjaW5jbHVkZSA8YXNtL2FjcGku aD4KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NodXRkb3duLmMgYi94ZW4vYXJjaC9hcm0v c2h1dGRvd24uYwppbmRleCBiMzJmMDdlLi4zMGM2OTUwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vc2h1dGRvd24uYworKysgYi94ZW4vYXJjaC9hcm0vc2h1dGRvd24uYwpAQCAtNSw2ICs1LDcg QEAKICNpbmNsdWRlIDx4ZW4vc21wLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+CiAjaW5j bHVkZSA8YXNtL3BzY2kuaD4KKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5oPgogCiBzdGF0aWMgdm9p ZCBub3JldHVybiBoYWx0X3RoaXNfY3B1KHZvaWQgKmFyZykKIHsKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS90ZWUvS2NvbmZpZyBiL3hlbi9hcmNoL2FybS90ZWUvS2NvbmZpZwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vdGVlL01ha2VmaWxlIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTRkNDc5Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2Fy Y2gvYXJtL3RlZS9NYWtlZmlsZQpAQCAtMCwwICsxIEBACitvYmoteSArPSB0ZWUubwpkaWZmIC0t Z2l0IGEveGVuL2FyY2gvYXJtL3RlZS90ZWUuYyBiL3hlbi9hcmNoL2FybS90ZWUvdGVlLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZkMDE0OAotLS0gL2Rldi9udWxsCisr KyBiL3hlbi9hcmNoL2FybS90ZWUvdGVlLmMKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIHhlbi9h cmNoL2FybS90ZWUvdGVlLmMKKyAqCisgKiBHZW5lcmljIHBhcnQgb2YgVEVFIG1lZGlhdG9yIHN1 YnN5c3RlbQorICoKKyAqIFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFt LmNvbT4KKyAqIENvcHlyaWdodCAoYykgMjAxOCBFUEFNIFN5c3RlbXMuCisgKgorICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8eGVuL2luaXQuaD4KKyNpbmNsdWRlIDx4ZW4vZXJy bm8uaD4KKyNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5oPgor CitleHRlcm4gY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjIF9zdGVlbWVkaWF0b3JbXSwg X2V0ZWVtZWRpYXRvcltdOworc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3Jfb3BzICpt ZWRpYXRvcl9vcHM7CisKK2Jvb2wgdGVlX2hhbmRsZV9jYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzKQoreworICAgIGlmICggIW1lZGlhdG9yX29wcyApCisgICAgICAgIHJldHVybiBmYWxz ZTsKKworICAgIHJldHVybiBtZWRpYXRvcl9vcHMtPmhhbmRsZV9jYWxsKHJlZ3MpOworfQorCitp bnQgdGVlX2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIGlmICggIW1lZGlhdG9yX29w cyApCisgICAgICAgIHJldHVybiAtRU5PREVWOworCisgICAgcmV0dXJuIG1lZGlhdG9yX29wcy0+ ZW5hYmxlKGQpOworfQorCit2b2lkIHRlZV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpk KQoreworICAgIGlmICggIW1lZGlhdG9yX29wcyApCisgICAgICAgIHJldHVybjsKKworICAgIHJl dHVybiBtZWRpYXRvcl9vcHMtPmRvbWFpbl9kZXN0cm95KGQpOworfQorCitzdGF0aWMgaW50IF9f aW5pdCB0ZWVfaW5pdCh2b2lkKQoreworICAgIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3JfZGVz YyAqZGVzYzsKKworICAgIGZvciAoIGRlc2MgPSBfc3RlZW1lZGlhdG9yOyBkZXNjICE9IF9ldGVl bWVkaWF0b3I7IGRlc2MrKyApCisgICAgICAgIGlmICggZGVzYy0+b3BzLT5wcm9iZSgpICkKKyAg ICAgICAgeworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJVc2luZyBURUUgbWVkaWF0 b3IgZm9yICVzXG4iLCBkZXNjLT5uYW1lKTsKKyAgICAgICAgICAgIG1lZGlhdG9yX29wcyA9IGRl c2MtPm9wczsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgcmV0dXJuIDA7 Cit9CisKK19faW5pdGNhbGwodGVlX2luaXQpOworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgor ICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQK KyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vdnNtYy5jIGIveGVuL2FyY2gvYXJtL3ZzbWMuYwppbmRleCBjNGNjYWU2Li5kMDE5 OWM3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdnNtYy5jCisrKyBiL3hlbi9hcmNoL2FybS92 c21jLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxhc20vbW9uaXRvci5oPgogI2luY2x1 ZGUgPGFzbS9yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL3NtY2NjLmg+CisjaW5jbHVkZSA8YXNtL3Rl ZS90ZWUuaD4KICNpbmNsdWRlIDxhc20vdHJhcHMuaD4KICNpbmNsdWRlIDxhc20vdnBzY2kuaD4K IApAQCAtMjcyLDYgKzI3MywxMCBAQCBzdGF0aWMgYm9vbCB2c21jY2NfaGFuZGxlX2NhbGwoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIGNhc2UgQVJNX1NNQ0NDX09XTkVSX1NU QU5EQVJEOgogICAgICAgICAgICAgaGFuZGxlZCA9IGhhbmRsZV9zc3NjKHJlZ3MpOwogICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX1NNQ0NDX09XTkVSX1RSVVNURURfQVBQIC4u LiBBUk1fU01DQ0NfT1dORVJfVFJVU1RFRF9BUFBfRU5EOgorICAgICAgICBjYXNlIEFSTV9TTUND Q19PV05FUl9UUlVTVEVEX09TIC4uLiBBUk1fU01DQ0NfT1dORVJfVFJVU1RFRF9PU19FTkQ6Cisg ICAgICAgICAgICBoYW5kbGVkID0gdGVlX2hhbmRsZV9jYWxsKHJlZ3MpOworICAgICAgICAgICAg YnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS94ZW4u bGRzLlMgYi94ZW4vYXJjaC9hcm0veGVuLmxkcy5TCmluZGV4IDI0NWEwZTAuLmU0YTJkNmUgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gvYXJtL3hlbi5s ZHMuUwpAQCAtMTMzLDYgKzEzMywxMyBAQCBTRUNUSU9OUwogICAgICAgX2FlZGV2aWNlID0gLjsK ICAgfSA6dGV4dAogCisgIC4gPSBBTElHTig4KTsKKyAgLnRlZW1lZGlhdG9yLmluZm8gOiB7Cisg ICAgICBfc3RlZW1lZGlhdG9yID0gLjsKKyAgICAgICooLnRlZW1lZGlhdG9yLmluZm8pCisgICAg ICBfZXRlZW1lZGlhdG9yID0gLjsKKyAgfSA6dGV4dAorCiAgIC4gPSBBTElHTihQQUdFX1NJWkUp OyAgICAgICAgICAgICAvKiBJbml0IGNvZGUgYW5kIGRhdGEgKi8KICAgX19pbml0X2JlZ2luID0g LjsKICAgLmluaXQudGV4dCA6IHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdGVl L3RlZS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uMGU4YjU3NgotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vdGVlL3RlZS5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiB4ZW4vaW5jbHVkZS9h c20tYXJtL3RlZS90ZWUuaAorICoKKyAqIEdlbmVyaWMgcGFydCBvZiBURUUgbWVkaWF0b3Igc3Vi c3lzdGVtCisgKgorICogVm9sb2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0u Y29tPgorICogQ29weXJpZ2h0IChjKSAyMDE4IEVQQU0gU3lzdGVtcy4KKyAqCisgKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19BUkNIX0FSTV9URUVfVEVFX0hfXworI2RlZmluZSBf X0FSQ0hfQVJNX1RFRV9URUVfSF9fCisKKyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8 eGVuL3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KKworI2lmZGVmIENPTkZJR19URUUK Kworc3RydWN0IHRlZV9tZWRpYXRvcl9vcHMgeworICAgIC8qCisgICAgICogUHJvYmUgZm9yIFRF RS4gU2hvdWxkIHJldHVybiB0cnVlIGlmIFRFRSBmb3VuZCBhbmQKKyAgICAgKiBtZWRpYXRvciBp cyBpbml0aWFsaXplZC4KKyAgICAgKi8KKyAgICBib29sICgqcHJvYmUpKHZvaWQpOworCisgICAg LyoKKyAgICAgKiBDYWxsZWQgZHVyaW5nIGRvbWFpbiBjb25zdHJ1Y3Rpb24gaWYgdG9vbHN0YWNr IHJlcXVlc3RzIHRvIGVuYWJsZQorICAgICAqIFRFRSBzdXBwb3J0IHNvIG1lZGlhdG9yIGNhbiBp bmZvcm0gVEVFIGFib3V0IG5ldworICAgICAqIGd1ZXN0IGFuZCBjcmVhdGUgb3duIHN0cnVjdHVy ZXMgZm9yIHRoZSBuZXcgZG9tYWluLgorICAgICAqLworICAgIGludCAoKmVuYWJsZSkoc3RydWN0 IGRvbWFpbiAqZCk7CisKKyAgICAvKgorICAgICAqIENhbGxlZCBkdXJpbmcgZG9tYWluIGRlc3Ry dWN0aW9uIHRvIGluZm9ybSBURUUgdGhhdCBndWVzdCBpcyBub3cgZGVhZAorICAgICAqIGFuZCB0 byBkZXN0cm95IGFsbCByZXNvdXJjZXMgYWxsb2NhdGVkIGZvciB0aGUgZG9tYWluIGJlaW5nIGRl c3Ryb3llZC4KKyAgICAgKi8KKyAgICB2b2lkICgqZG9tYWluX2Rlc3Ryb3kpKHN0cnVjdCBkb21h aW4gKmQpOworCisgICAgLyogSGFuZGxlIFNNQ0NDIGNhbGwgZm9yIGN1cnJlbnQgZG9tYWluLiAq LworICAgIGJvb2wgKCpoYW5kbGVfY2FsbCkoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwor fTsKKworc3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjIHsKKyAgICAvKiBOYW1lIG9mIHRoZSBURUUu IEp1c3QgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4gKi8KKyAgICBjb25zdCBjaGFyICpuYW1lOwor CisgICAgLyogTWVkaWF0b3IgY2FsbGJhY2tzIGFzIGRlc2NyaWJlZCBhYm92ZS4gKi8KKyAgICBj b25zdCBzdHJ1Y3QgdGVlX21lZGlhdG9yX29wcyAqb3BzOworfTsKKworYm9vbCB0ZWVfaGFuZGxl X2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOworaW50IHRlZV9lbmFibGUoc3RydWN0 IGRvbWFpbiAqZCk7Cit2b2lkIHRlZV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKTsK KworI2RlZmluZSBSRUdJU1RFUl9URUVfTUVESUFUT1IoX25hbWUsIF9uYW1lc3RyLCBfb3BzKSAg ICAgICAgICBcCitzdGF0aWMgY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjIF9fdGVlX2Rl c2NfIyNfbmFtZSBfX3VzZWQgICAgIFwKK19fc2VjdGlvbigiLnRlZW1lZGlhdG9yLmluZm8iKSA9 IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIC5uYW1lID0gX25hbWVz dHIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg Lm9wcyA9IF9vcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKK30KKworI2Vsc2UKKworc3RhdGljIGlubGluZSBib29sIHRlZV9oYW5kbGVfY2Fs bChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK K3N0YXRpYyBpbmxpbmUgaW50IHRlZV9lbmFibGUoc3RydWN0IGRvbWFpbiAqZCkKK3sKKyAgICBy ZXR1cm4gLUVOT0RFVjsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHRlZV9kb21haW5fZGVzdHJv eShzdHJ1Y3QgZG9tYWluICpkKSB7fQorCisjZW5kaWYgIC8qIENPTkZJR19URUUgKi8KKworI2Vu ZGlmIC8qIF9fQVJDSF9BUk1fVEVFX1RFRV9IX18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxl czoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0 OiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwotLSAKMi43LjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs