From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 01/13] arm: add generic TEE mediator framework Date: Mon, 3 Sep 2018 18:22:26 +0100 Message-ID: References: <1535993677-20816-1-git-send-email-volodymyr_babchuk@epam.com> <1535993677-20816-2-git-send-email-volodymyr_babchuk@epam.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fwsYZ-00045F-JS for xen-devel@lists.xenproject.org; Mon, 03 Sep 2018 17:22:31 +0000 In-Reply-To: <1535993677-20816-2-git-send-email-volodymyr_babchuk@epam.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Volodymyr Babchuk , xen-devel@lists.xenproject.org, xen-devel@lists.xen.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org SGkgVm9sb2R5bXlyLAoKT24gMDMvMDkvMTggMTc6NTQsIFZvbG9keW15ciBCYWJjaHVrIHdyb3Rl Ogo+IFRoaXMgcGF0Y2ggYWRkcyBiYXNpYyBmcmFtZXdvcmsgZm9yIFRFRSBtZWRpYXRvcnMuIEd1 ZXN0cyBjYW4ndCB0YWxrCj4gdG8gVEVFIGRpcmVjdGx5LCB3ZSBuZWVkIHNvbWUgZW50aXR5IHRo YXQgd2lsbCBpbnRlcmNlcHQgcmVxdWVzdAo+IGFuZCBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRo ZW0uICJURUUgbWVkaWF0b3IiIGlzIGEgc3VjaCBlbnRpdHkuCj4gCj4gVGhpcyBpcyBob3cgaXQg d29ya3M6IHVzZXIgY2FuIGJ1aWxkIFhFTiB3aXRoIG11bHRpcGxlIFRFRSBtZWRpYXRvcnMKPiAo c2VlIHRoZSBuZXh0IHBhdGNoZXMsIHdoZXJlIE9QLVRFRSBtZWRpYXRvciBpcyBpbnRyb2R1Y2Vk KS4KPiBURUUgbWVkaWF0b3IgcmVnaXN0ZXIgc2VsZiB3aXRoIFJFR0lTVEVSX1RFRV9NRURJQVRP UigpIG1hY3JvIGluIHRoZQo+IHNhbWUgd2F5LCBhcyBkZXZpY2UgZHJpdmVycyB1c2UgRFRfREVW SUNFX1NUQVJUKCkvRFRfREVWSUNFX0VORCgpCj4gbWFjcm9zLgo+IEluIHJ1bnRpbWUsIGR1cmlu ZyBpbml0aWFsaXphdGlvbiwgZnJhbWV3b3JrIGNhbGxzIHByb2JlKCkgZnVuY3Rpb24KPiBmb3Ig ZWFjaCBhdmFpbGFibGUgbWVkaWF0b3IgZHJpdmVyIHRvIGZpbmQgd2hpY2ggVEVFIGlzIGluc3Rh bGxlZAo+IG9uIHRoZSBwbGF0Zm9ybS4gVGhlbiBnZW5lcmljIHZTTUMgaGFuZGxlciB3aWxsIGNh bGwgc2VsZWN0ZWQgbWVkaWF0b3IKPiB3aGVuIGl0IGludGVyY2VwdCBTTUMvSFZDIHRoYXQgYmVs b25ncyB0byBURUUgT1Mgb3IgVEVFIGFwcGxpY2F0aW9uLgo+IAo+IEN1cmVudGx5IFRFRSBtZWRp YXRvciBpcyBlbmFibGVkIG9ubHkgZm9yIERvbTAuCgpOSVQ6IHMvQ3VyZW50bHkvQ3VycmVudGx5 LwoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNo dWtAZXBhbS5jb20+Cj4gLS0tCj4gCj4gICBDaGFuZ2VzIGZyb20gdjE6Cj4gICAgLSBSZW1vdmVk IHRlZV9yZW1vdmUoKSBmdW5jdGlvbgo+ICAgIC0gQ09ORklHX1RFRSBkZXBlbmRzIG9uIEVYUEVS VAo+ICAgIC0gdGVlX2RvbWFpbl9jcmVhdGVkKCkgY29udmVydGVkIHRvIHRlZV9lbmFibGUoKQo+ ICAgIC0gdGVlX2luaXQoKSBpcyBjYWxsZWQgdXNpbmcgaW5pdGNhbGwoKSBtZWNoYW5pc20KPiAg ICAtIHRlZV9oYW5kbGVfc21jKCkgcmVuYW1lZCB0byB0ZWVfaGFuZGxlX2NhbGwoKQo+IAo+ICAg Q2hhbmdlcyBmcm9tICJSRkMiIHZlcnNpb246Cj4gICAgLSByZW5hbWVkIENPTkZJR19BUk1fVEVF IHRvIENPTkZJR19URUUKPiAgICAtIGNoYW5nZWQgZGlzY292ZXJ5IG1lY2hhbmlzbTogaW5zdGVh ZCBvZiBVVUlEIG1hdGhpbmcsIFRFRS1zcGVjaWZpYwo+ICAgICAgIHByb2JpbmcgaXMgdXNlZAo+ IAo+ICAgTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgfCAgNiArKysKPiAgIHhlbi9hcmNo L2FybS9LY29uZmlnICAgICAgICAgIHwgIDkgKysrKysKPiAgIHhlbi9hcmNoL2FybS9NYWtlZmls ZSAgICAgICAgIHwgIDEgKwo+ICAgeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICAgfCAgNCAr Kwo+ICAgeGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jICAgfCAgNCArKwo+ICAgeGVuL2FyY2gv YXJtL3NldHVwLmMgICAgICAgICAgfCAgMSArCj4gICB4ZW4vYXJjaC9hcm0vc2h1dGRvd24uYyAg ICAgICB8ICAxICsKPiAgIHhlbi9hcmNoL2FybS90ZWUvS2NvbmZpZyAgICAgIHwgIDAKPiAgIHhl bi9hcmNoL2FybS90ZWUvTWFrZWZpbGUgICAgIHwgIDEgKwo+ICAgeGVuL2FyY2gvYXJtL3RlZS90 ZWUuYyAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgeGVu L2FyY2gvYXJtL3ZzbWMuYyAgICAgICAgICAgfCAgNSArKysKPiAgIHhlbi9hcmNoL2FybS94ZW4u bGRzLlMgICAgICAgIHwgIDcgKysrKwo+ICAgeGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgg fCA5MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAxMyBm aWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhl bi9hcmNoL2FybS90ZWUvS2NvbmZpZwo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2Fy bS90ZWUvTWFrZWZpbGUKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vdGVlL3Rl ZS5jCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgK PiAKPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwo+IGluZGV4IDE5NzAx MDAuLjYwNWU2YmQgMTAwNjQ0Cj4gLS0tIGEvTUFJTlRBSU5FUlMKPiArKysgYi9NQUlOVEFJTkVS Uwo+IEBAIC0zNzYsNiArMzc2LDEyIEBAIEY6CWNvbmZpZy9TdHViZG9tLm1rLmluCj4gICBGOglt NC9zdHViZG9tLm00Cj4gICBGOglzdHViZG9tLwo+ICAgCj4gK1RFRSBNRURJQVRPUlMKPiArTToJ Vm9sb2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPgo+ICtTOglTdXBw b3J0ZWQKPiArRjoJeGVuL2FyY2gvYXJtL3RlZS8KPiArRjoJeGVuL2luY2x1ZGUvYXNtLWFybS90 ZWUKPiArCj4gICBUT09MU1RBQ0sKPiAgIE06CUlhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5j aXRyaXguY29tPgo+ICAgTToJV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KPiBkaWZmIC0t Z2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZwo+IGluZGV4 IDU4NmJjNjIuLjA5NjgzNzggMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcKPiAr KysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZwo+IEBAIC0xMDIsNiArMTAyLDEzIEBAIGNvbmZpZyBI QVJERU5fQlJBTkNIX1BSRURJQ1RPUgo+ICAgCj4gICAJICBJZiB1bnN1cmUsIHNheSBZLgo+ICAg Cj4gK2NvbmZpZyBURUUKPiArCWJvb2wgIkVuYWJsZSBURUUgbWVkaWF0b3JzIHN1cHBvcnQiIGlm IEVYUEVSVCA9ICJ5Igo+ICsJZGVmYXVsdCBuCj4gKwloZWxwCj4gKwkgIFRoaXMgb3B0aW9uIGVu YWJsZXMgZ2VuZXJpYyBURUUgbWVkaWF0b3JzIHN1cHBvcnQuIEl0IGFsbG93cyBndWVzdHMKPiAr CSAgdG8gYWNjZXNzIHJlYWwgVEVFIHZpYSBvbmUgb2YgVEVFIG1lZGlhdG9ycyBpbXBsZW1lbnRl ZCBpbiBYRU4uCj4gKwo+ICAgZW5kbWVudQo+ICAgCj4gICBtZW51ICJBUk0gZXJyYXRhIHdvcmth cm91bmQgdmlhIHRoZSBhbHRlcm5hdGl2ZSBmcmFtZXdvcmsiCj4gQEAgLTIyNywzICsyMzQsNSBA QCBzb3VyY2UgImFyY2gvYXJtL3BsYXRmb3Jtcy9LY29uZmlnIgo+ICAgc291cmNlICJjb21tb24v S2NvbmZpZyIKPiAgIAo+ICAgc291cmNlICJkcml2ZXJzL0tjb25maWciCj4gKwo+ICtzb3VyY2Ug ImFyY2gvYXJtL3RlZS9LY29uZmlnIgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vTWFrZWZp bGUgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKPiBpbmRleCAzN2ZhODI2Li42MzBkODE2IDEwMDY0 NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+ICsrKyBiL3hlbi9hcmNoL2FybS9NYWtl ZmlsZQo+IEBAIC0zLDYgKzMsNyBAQCBzdWJkaXItJChDT05GSUdfQVJNXzY0KSArPSBhcm02NAo+ ICAgc3ViZGlyLXkgKz0gcGxhdGZvcm1zCj4gICBzdWJkaXItJChDT05GSUdfQVJNXzY0KSArPSBl ZmkKPiAgIHN1YmRpci0kKENPTkZJR19BQ1BJKSArPSBhY3BpCj4gK3N1YmRpci0kKENPTkZJR19U RUUpICs9IHRlZQo+ICAgCj4gICBvYmotJChDT05GSUdfSEFTX0FMVEVSTkFUSVZFKSArPSBhbHRl cm5hdGl2ZS5vCj4gICBvYmoteSArPSBib290ZmR0LmluaXQubwo+IGRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKPiBpbmRleCA0YmFlY2My Li5kYjVmNWVmIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYwo+ICsrKyBiL3hl bi9hcmNoL2FybS9kb21haW4uYwo+IEBAIC0zMiw2ICszMiw3IEBACj4gICAjaW5jbHVkZSA8YXNt L3BsYXRmb3JtLmg+Cj4gICAjaW5jbHVkZSA8YXNtL3Byb2NpbmZvLmg+Cj4gICAjaW5jbHVkZSA8 YXNtL3JlZ3MuaD4KPiArI2luY2x1ZGUgPGFzbS90ZWUvdGVlLmg+Cj4gICAjaW5jbHVkZSA8YXNt L3ZmcC5oPgo+ICAgI2luY2x1ZGUgPGFzbS92Z2ljLmg+Cj4gICAjaW5jbHVkZSA8YXNtL3Z0aW1l ci5oPgo+IEBAIC05MDIsNiArOTAzLDkgQEAgaW50IGRvbWFpbl9yZWxpbnF1aXNoX3Jlc291cmNl cyhzdHJ1Y3QgZG9tYWluICpkKQo+ICAgICAgICAgICAgKi8KPiAgICAgICAgICAgZG9tYWluX3Zw bDAxMV9kZWluaXQoZCk7Cj4gICAKPiArICAgICAgICAvKiBGcmVlIFRFRSBtZWRpYXRvciByZXNv dXJjZXMgKi8KPiArICAgICAgICB0ZWVfZG9tYWluX2Rlc3Ryb3koZCk7Cj4gKwo+ICAgICAgICAg ICBkLT5hcmNoLnJlbG1lbSA9IFJFTE1FTV94ZW47Cj4gICAgICAgICAgIC8qIEZhbGx0aHJvdWdo ICovCj4gICAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVu L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4gaW5kZXggZTFjNzliMi4uZDIwOGVjNyAxMDA2NDQK PiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKPiArKysgYi94ZW4vYXJjaC9hcm0v ZG9tYWluX2J1aWxkLmMKPiBAQCAtMjAsNiArMjAsNyBAQAo+ICAgI2luY2x1ZGUgPGFzbS9wc2Np Lmg+Cj4gICAjaW5jbHVkZSA8YXNtL3NldHVwLmg+Cj4gICAjaW5jbHVkZSA8YXNtL2NwdWZlYXR1 cmUuaD4KPiArI2luY2x1ZGUgPGFzbS90ZWUvdGVlLmg+Cj4gICAKPiAgICNpbmNsdWRlIDx4ZW4v aXJxLmg+Cj4gICAjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+Cj4gQEAgLTIxOTMsNiArMjE5 NCw5IEBAIGludCBfX2luaXQgY29uc3RydWN0X2RvbTAoc3RydWN0IGRvbWFpbiAqZCkKPiAgICAg ICBzZXRfY3VycmVudChzYXZlZF9jdXJyZW50KTsKPiAgICAgICBwMm1fcmVzdG9yZV9zdGF0ZShz YXZlZF9jdXJyZW50KTsKPiAgIAo+ICsgICAgLyogRW5hYmxlIFRFRSAqLwo+ICsgICAgdGVlX2Vu YWJsZShkKTsKPiArCj4gICAgICAgZGlzY2FyZF9pbml0aWFsX21vZHVsZXMoKTsKPiAgIAo+ICAg ICAgIG1lbXNldChyZWdzLCAwLCBzaXplb2YoKnJlZ3MpKTsKPiBkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwo+IGluZGV4IDQ1ZjM4NDEuLjY4 MDM1NmYgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3NldHVwLmMKPiArKysgYi94ZW4vYXJj aC9hcm0vc2V0dXAuYwo+IEBAIC00Nyw2ICs0Nyw3IEBACj4gICAjaW5jbHVkZSA8YXNtL3BsYXRm b3JtLmg+Cj4gICAjaW5jbHVkZSA8YXNtL3Byb2NpbmZvLmg+Cj4gICAjaW5jbHVkZSA8YXNtL3Nl dHVwLmg+Cj4gKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5oPgo+ICAgI2luY2x1ZGUgPHhzbS94c20u aD4KPiAgICNpbmNsdWRlIDxhc20vYWNwaS5oPgo+ICAgCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9zaHV0ZG93bi5jIGIveGVuL2FyY2gvYXJtL3NodXRkb3duLmMKPiBpbmRleCBiMzJmMDdl Li4zMGM2OTUwIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9zaHV0ZG93bi5jCj4gKysrIGIv eGVuL2FyY2gvYXJtL3NodXRkb3duLmMKPiBAQCAtNSw2ICs1LDcgQEAKPiAgICNpbmNsdWRlIDx4 ZW4vc21wLmg+Cj4gICAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+Cj4gICAjaW5jbHVkZSA8YXNt L3BzY2kuaD4KPiArI2luY2x1ZGUgPGFzbS90ZWUvdGVlLmg+Cj4gICAKPiAgIHN0YXRpYyB2b2lk IG5vcmV0dXJuIGhhbHRfdGhpc19jcHUodm9pZCAqYXJnKQo+ICAgewo+IGRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcgYi94ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcKPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmU2OWRlMjkKClBsZWFzZSBhdm9pZCBl bXB0eSBmaWxlIGFuZCBpbnRyb2R1Y2UgdGhlbSBvbmx5IHdoZW4gdGhleSBhcmUgZ29pbmcgdG8g CmJlIGZpbGxlZC4KCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvTWFrZWZpbGUgYi94 ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwLi5jNTRkNDc5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUv TWFrZWZpbGUKPiBAQCAtMCwwICsxIEBACj4gK29iai15ICs9IHRlZS5vCj4gZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS90ZWUvdGVlLmMgYi94ZW4vYXJjaC9hcm0vdGVlL3RlZS5jCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi43ZmQwMTQ4Cj4gLS0tIC9kZXYvbnVsbAo+ ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvdGVlLmMKPiBAQCAtMCwwICsxLDY5IEBACj4gKy8qCj4g KyAqIHhlbi9hcmNoL2FybS90ZWUvdGVlLmMKPiArICoKPiArICogR2VuZXJpYyBwYXJ0IG9mIFRF RSBtZWRpYXRvciBzdWJzeXN0ZW0KPiArICoKPiArICogVm9sb2R5bXlyIEJhYmNodWsgPHZvbG9k eW15cl9iYWJjaHVrQGVwYW0uY29tPgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTggRVBBTSBTeXN0 ZW1zLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwo+ICsgKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiArICovCj4gKwo+ICsjaW5jbHVk ZSA8eGVuL2luaXQuaD4KPiArI2luY2x1ZGUgPHhlbi9lcnJuby5oPgo+ICsjaW5jbHVkZSA8eGVu L3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5oPgo+ICsKPiArZXh0ZXJuIGNvbnN0 IHN0cnVjdCB0ZWVfbWVkaWF0b3JfZGVzYyBfc3RlZW1lZGlhdG9yW10sIF9ldGVlbWVkaWF0b3Jb XTsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3Jfb3BzICptZWRpYXRvcl9vcHM7 Cj4gKwo+ICtib29sIHRlZV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykK PiArewo+ICsgICAgaWYgKCAhbWVkaWF0b3Jfb3BzICkKPiArICAgICAgICByZXR1cm4gZmFsc2U7 Cj4gKwo+ICsgICAgcmV0dXJuIG1lZGlhdG9yX29wcy0+aGFuZGxlX2NhbGwocmVncyk7Cj4gK30K PiArCj4gK2ludCB0ZWVfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQpCj4gK3sKPiArICAgIGlmICgg IW1lZGlhdG9yX29wcyApCj4gKyAgICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ICsgICAgcmV0 dXJuIG1lZGlhdG9yX29wcy0+ZW5hYmxlKGQpOwo+ICt9Cj4gKwo+ICt2b2lkIHRlZV9kb21haW5f ZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQo+ICt7Cj4gKyAgICBpZiAoICFtZWRpYXRvcl9vcHMg KQo+ICsgICAgICAgIHJldHVybjsKPiArCj4gKyAgICByZXR1cm4gbWVkaWF0b3Jfb3BzLT5kb21h aW5fZGVzdHJveShkKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBfX2luaXQgdGVlX2luaXQodm9p ZCkKPiArewo+ICsgICAgY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjICpkZXNjOwo+ICsK PiArICAgIGZvciAoIGRlc2MgPSBfc3RlZW1lZGlhdG9yOyBkZXNjICE9IF9ldGVlbWVkaWF0b3I7 IGRlc2MrKyApCj4gKyAgICAgICAgaWYgKCBkZXNjLT5vcHMtPnByb2JlKCkgKQo+ICsgICAgICAg IHsKPiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJVc2luZyBURUUgbWVkaWF0b3Ig Zm9yICVzXG4iLCBkZXNjLT5uYW1lKTsKPiArICAgICAgICAgICAgbWVkaWF0b3Jfb3BzID0gZGVz Yy0+b3BzOwo+ICsgICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAgICB9Cj4gKyAgICByZXR1 cm4gMDsKPiArfQo+ICsKPiArX19pbml0Y2FsbCh0ZWVfaW5pdCk7Cj4gKwo+ICsvKgo+ICsgKiBM b2NhbCB2YXJpYWJsZXM6Cj4gKyAqIG1vZGU6IEMKPiArICogYy1maWxlLXN0eWxlOiAiQlNEIgo+ ICsgKiBjLWJhc2ljLW9mZnNldDogNAo+ICsgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKPiArICog RW5kOgo+ICsgKi8KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZzbWMuYyBiL3hlbi9hcmNo L2FybS92c21jLmMKPiBpbmRleCBjNGNjYWU2Li5kMDE5OWM3IDEwMDY0NAo+IC0tLSBhL3hlbi9h cmNoL2FybS92c21jLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vdnNtYy5jCj4gQEAgLTIzLDYgKzIz LDcgQEAKPiAgICNpbmNsdWRlIDxhc20vbW9uaXRvci5oPgo+ICAgI2luY2x1ZGUgPGFzbS9yZWdz Lmg+Cj4gICAjaW5jbHVkZSA8YXNtL3NtY2NjLmg+Cj4gKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5o Pgo+ICAgI2luY2x1ZGUgPGFzbS90cmFwcy5oPgo+ICAgI2luY2x1ZGUgPGFzbS92cHNjaS5oPgo+ ICAgCj4gQEAgLTI3Miw2ICsyNzMsMTAgQEAgc3RhdGljIGJvb2wgdnNtY2NjX2hhbmRsZV9jYWxs KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQo+ICAgICAgICAgICBjYXNlIEFSTV9TTUNDQ19P V05FUl9TVEFOREFSRDoKPiAgICAgICAgICAgICAgIGhhbmRsZWQgPSBoYW5kbGVfc3NzYyhyZWdz KTsKPiAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgIGNhc2UgQVJNX1NNQ0NDX09XTkVS X1RSVVNURURfQVBQIC4uLiBBUk1fU01DQ0NfT1dORVJfVFJVU1RFRF9BUFBfRU5EOgo+ICsgICAg ICAgIGNhc2UgQVJNX1NNQ0NDX09XTkVSX1RSVVNURURfT1MgLi4uIEFSTV9TTUNDQ19PV05FUl9U UlVTVEVEX09TX0VORDoKPiArICAgICAgICAgICAgaGFuZGxlZCA9IHRlZV9oYW5kbGVfY2FsbChy ZWdzKTsKPiArICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICAgIH0KPiAgICAgICB9Cj4gICAK PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3hlbi5sZHMuUyBiL3hlbi9hcmNoL2FybS94ZW4u bGRzLlMKPiBpbmRleCAyNDVhMGUwLi5lNGEyZDZlIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2Fy bS94ZW4ubGRzLlMKPiArKysgYi94ZW4vYXJjaC9hcm0veGVuLmxkcy5TCj4gQEAgLTEzMyw2ICsx MzMsMTMgQEAgU0VDVElPTlMKPiAgICAgICAgIF9hZWRldmljZSA9IC47Cj4gICAgIH0gOnRleHQK PiAgIAo+ICsgIC4gPSBBTElHTig4KTsKPiArICAudGVlbWVkaWF0b3IuaW5mbyA6IHsKPiArICAg ICAgX3N0ZWVtZWRpYXRvciA9IC47Cj4gKyAgICAgICooLnRlZW1lZGlhdG9yLmluZm8pCj4gKyAg ICAgIF9ldGVlbWVkaWF0b3IgPSAuOwo+ICsgIH0gOnRleHQKPiArCj4gICAgIC4gPSBBTElHTihQ QUdFX1NJWkUpOyAgICAgICAgICAgICAvKiBJbml0IGNvZGUgYW5kIGRhdGEgKi8KPiAgICAgX19p bml0X2JlZ2luID0gLjsKPiAgICAgLmluaXQudGV4dCA6IHsKPiBkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLWFybS90ZWUvdGVlLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3RlZS90ZWUuaAo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMGU4YjU3Ngo+IC0tLSAvZGV2 L251bGwKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3RlZS90ZWUuaAo+IEBAIC0wLDAgKzEs OTEgQEAKPiArLyoKPiArICogeGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgKPiArICoKPiAr ICogR2VuZXJpYyBwYXJ0IG9mIFRFRSBtZWRpYXRvciBzdWJzeXN0ZW0KPiArICoKPiArICogVm9s b2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPgo+ICsgKiBDb3B5cmln aHQgKGMpIDIwMTggRVBBTSBTeXN0ZW1zLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ICsgKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNp b24gMiBhcwo+ICsgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4K PiArICovCj4gKwo+ICsjaWZuZGVmIF9fQVJDSF9BUk1fVEVFX1RFRV9IX18KPiArI2RlZmluZSBf X0FSQ0hfQVJNX1RFRV9URUVfSF9fCj4gKwo+ICsjaW5jbHVkZSA8eGVuL2xpYi5oPgo+ICsjaW5j bHVkZSA8eGVuL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDxhc20vcmVncy5oPgo+ICsKPiArI2lmZGVm IENPTkZJR19URUUKPiArCj4gK3N0cnVjdCB0ZWVfbWVkaWF0b3Jfb3BzIHsKPiArICAgIC8qCj4g KyAgICAgKiBQcm9iZSBmb3IgVEVFLiBTaG91bGQgcmV0dXJuIHRydWUgaWYgVEVFIGZvdW5kIGFu ZAo+ICsgICAgICogbWVkaWF0b3IgaXMgaW5pdGlhbGl6ZWQuCj4gKyAgICAgKi8KPiArICAgIGJv b2wgKCpwcm9iZSkodm9pZCk7Cj4gKwo+ICsgICAgLyoKPiArICAgICAqIENhbGxlZCBkdXJpbmcg ZG9tYWluIGNvbnN0cnVjdGlvbiBpZiB0b29sc3RhY2sgcmVxdWVzdHMgdG8gZW5hYmxlCj4gKyAg ICAgKiBURUUgc3VwcG9ydCBzbyBtZWRpYXRvciBjYW4gaW5mb3JtIFRFRSBhYm91dCBuZXcKPiAr ICAgICAqIGd1ZXN0IGFuZCBjcmVhdGUgb3duIHN0cnVjdHVyZXMgZm9yIHRoZSBuZXcgZG9tYWlu Lgo+ICsgICAgICovCj4gKyAgICBpbnQgKCplbmFibGUpKHN0cnVjdCBkb21haW4gKmQpOwo+ICsK PiArICAgIC8qCj4gKyAgICAgKiBDYWxsZWQgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiB0byBp bmZvcm0gVEVFIHRoYXQgZ3Vlc3QgaXMgbm93IGRlYWQKPiArICAgICAqIGFuZCB0byBkZXN0cm95 IGFsbCByZXNvdXJjZXMgYWxsb2NhdGVkIGZvciB0aGUgZG9tYWluIGJlaW5nIGRlc3Ryb3llZC4K PiArICAgICAqLwo+ICsgICAgdm9pZCAoKmRvbWFpbl9kZXN0cm95KShzdHJ1Y3QgZG9tYWluICpk KTsKPiArCj4gKyAgICAvKiBIYW5kbGUgU01DQ0MgY2FsbCBmb3IgY3VycmVudCBkb21haW4uICov Cj4gKyAgICBib29sICgqaGFuZGxlX2NhbGwpKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsK PiArfTsKPiArCj4gK3N0cnVjdCB0ZWVfbWVkaWF0b3JfZGVzYyB7Cj4gKyAgICAvKiBOYW1lIG9m IHRoZSBURUUuIEp1c3QgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4gKi8KPiArICAgIGNvbnN0IGNo YXIgKm5hbWU7Cj4gKwo+ICsgICAgLyogTWVkaWF0b3IgY2FsbGJhY2tzIGFzIGRlc2NyaWJlZCBh Ym92ZS4gKi8KPiArICAgIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3Jfb3BzICpvcHM7Cj4gK307 Cj4gKwo+ICtib29sIHRlZV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7 Cj4gK2ludCB0ZWVfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQpOwo+ICt2b2lkIHRlZV9kb21haW5f ZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKTsKPiArCj4gKyNkZWZpbmUgUkVHSVNURVJfVEVFX01F RElBVE9SKF9uYW1lLCBfbmFtZXN0ciwgX29wcykgICAgICAgICAgXAo+ICtzdGF0aWMgY29uc3Qg c3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjIF9fdGVlX2Rlc2NfIyNfbmFtZSBfX3VzZWQgICAgIFwK PiArX19zZWN0aW9uKCIudGVlbWVkaWF0b3IuaW5mbyIpID0geyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gKyAgICAubmFtZSA9IF9uYW1lc3RyLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgLm9wcyA9IF9vcHMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArfQo+ICsK PiArI2Vsc2UKPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCB0ZWVfaGFuZGxlX2NhbGwoc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsK PiArc3RhdGljIGlubGluZSBpbnQgdGVlX2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkKQo+ICt7Cj4g KyAgICByZXR1cm4gLUVOT0RFVjsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIHRlZV9k b21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKSB7fQo+ICsKPiArI2VuZGlmICAvKiBDT05G SUdfVEVFICovCj4gKwo+ICsjZW5kaWYgLyogX19BUkNIX0FSTV9URUVfVEVFX0hfXyAqLwo+ICsK PiArLyoKPiArICogTG9jYWwgdmFyaWFibGVzOgo+ICsgKiBtb2RlOiBDCj4gKyAqIGMtZmlsZS1z dHlsZTogIkJTRCIKPiArICogYy1iYXNpYy1vZmZzZXQ6IDQKPiArICogaW5kZW50LXRhYnMtbW9k ZTogbmlsCj4gKyAqIEVuZDoKPiArICovCj4gCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs