From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 47A35C74A5B for ; Tue, 21 Mar 2023 10:47:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4Kv1nha3JngJFVVtYcoHz17XZl3S4vfSkwv+B0IGrWI=; b=3GOjKsOJ9u61rq iBE0YJXbj8EYkVruIIiyKV0VFfXtEv5SkgDYUibKq8Ly3/dIdFLJcx0Bsx6uzIaBya4NnRNvs5OPr I5k2Qq20xeCjpsLyk4hNyV79t570FxDBPjXysHA6znyuutImuys5w5ebQFVfoifUsIjjqcWo4nYxV eYle3HVwIwNzJ2FvLEdlhu72nOV+V+aNpCDPY+wIcmHNtA4alumgsXT+9gtotaq7lx+esJ71DR7IR 9WpEIGUp3VpdBI8W2LkbjY2w9s7d9tWDUxM9ODNFPtUQN3fb014Vn/dIFvS4hZKPCWFehOhSo3dzy br4pwQ/CJUOmnsuHoNBg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peZUn-00C5NI-38; Tue, 21 Mar 2023 10:45:38 +0000 Received: from lelv0143.ext.ti.com ([198.47.23.248]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peZUj-00C5MU-29 for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 10:45:36 +0000 Received: from fllv0034.itg.ti.com ([10.64.40.246]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 32LAjQv7021809; Tue, 21 Mar 2023 05:45:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1679395526; bh=RRpojhEr2Xe9nVJ0oJ+9jQQkzpZoouG8ozS4yyriaoI=; h=Date:Subject:To:CC:References:From:In-Reply-To; b=gk06te091a69OQbqojahbU4hRkkgu9ElLRONB9DgvdsPKM2DDM9jL6fPKZK5BpevQ /+PecGgILYzOVbcpRl56YCPeNLw5copqjRNGfKm1rKTiTa9fJBlWZRFFG07bq4YkWo /cWAxg1sjGDdZuzGV4P8BVBbgXvLOEt5QIIY7xsc= Received: from DLEE112.ent.ti.com (dlee112.ent.ti.com [157.170.170.23]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 32LAjQNo128719 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 21 Mar 2023 05:45:26 -0500 Received: from DLEE100.ent.ti.com (157.170.170.30) by DLEE112.ent.ti.com (157.170.170.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16; Tue, 21 Mar 2023 05:45:25 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE100.ent.ti.com (157.170.170.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16 via Frontend Transport; Tue, 21 Mar 2023 05:45:25 -0500 Received: from [10.24.69.114] (ileaxei01-snat2.itg.ti.com [10.180.69.6]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 32LAjKow031381; Tue, 21 Mar 2023 05:45:21 -0500 Message-ID: <845c264b-17c8-ccd5-efa4-f8f73df0e6a7@ti.com> Date: Tue, 21 Mar 2023 16:15:20 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH v4 2/5] soc: ti: pruss: Add pruss_{request,release}_mem_region() API Content-Language: en-US To: Roger Quadros , Andrew Davis , MD Danish Anwar , Suman Anna , Vignesh Raghavendra , Mathieu Poirier , Bjorn Andersson , Santosh Shilimkar , Nishanth Menon CC: , , , , , , References: <20230313111127.1229187-1-danishanwar@ti.com> <20230313111127.1229187-3-danishanwar@ti.com> <3f26b194-287c-074d-8e78-572875f9a734@kernel.org> <52aeb13f-1fe4-825f-9d28-ba64860ae76d@ti.com> <13048b01-641a-1d92-178c-02b87c5fa1b9@ti.com> <5b936f1b-3c5b-30ab-7074-e202fd6555b6@ti.com> <67dd1d04-147d-0e40-c06b-6e1e0dd05f13@kernel.org> From: Md Danish Anwar Organization: Texas Instruments In-Reply-To: X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230321_034533_789408_4A2C45C4 X-CRM114-Status: GOOD ( 33.29 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAyMS8wMy8yMyAxNTo1MywgUm9nZXIgUXVhZHJvcyB3cm90ZToKPiAKPiAKPiBPbiAyMS8w My8yMDIzIDExOjQ4LCBNZCBEYW5pc2ggQW53YXIgd3JvdGU6Cj4+IEhpIFJvZ2VyLAo+Pgo+PiBP biAyMS8wMy8yMyAxNDo1NCwgUm9nZXIgUXVhZHJvcyB3cm90ZToKPj4+IEhpLAo+Pj4KPj4+IE9u IDIxLzAzLzIwMjMgMDc6MjMsIE1kIERhbmlzaCBBbndhciB3cm90ZToKPj4+PiBIaSBBbmRyZXcs IFJvZ2VyLAo+Pj4+Cj4+Pj4gT24gMjAvMDMvMjMgMjE6NDgsIEFuZHJldyBEYXZpcyB3cm90ZToK Pj4+Pj4gT24gMy8yMC8yMyAxMjoxMSBBTSwgTWQgRGFuaXNoIEFud2FyIHdyb3RlOgo+Pj4+Pj4g SGkgUm9nZXIsCj4+Pj4+Pgo+Pj4+Pj4gT24gMTcvMDMvMjMgMTQ6MjYsIFJvZ2VyIFF1YWRyb3Mg d3JvdGU6Cj4+Pj4+Pj4gSGkgQW5kcmV3ICYgRGFuaXNoLAo+Pj4+Pj4+Cj4+Pj4+Pj4KPj4+Pj4+ PiBPbiAxMy8wMy8yMDIzIDEzOjExLCBNRCBEYW5pc2ggQW53YXIgd3JvdGU6Cj4+Pj4+Pj4+IEZy b206ICJBbmRyZXcgRi4gRGF2aXMiIDxhZmRAdGkuY29tPgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBBZGQg dHdvIG5ldyBBUEkgLSBwcnVzc19yZXF1ZXN0X21lbV9yZWdpb24oKSAmIHBydXNzX3JlbGVhc2Vf bWVtX3JlZ2lvbigpLAo+Pj4+Pj4+PiB0byB0aGUgUFJVU1MgcGxhdGZvcm0gZHJpdmVyIHRvIGFs bG93IGNsaWVudCBkcml2ZXJzIHRvIGFjcXVpcmUgYW5kIHJlbGVhc2UKPj4+Pj4+Pj4gdGhlIGNv bW1vbiBtZW1vcnkgcmVzb3VyY2VzIHByZXNlbnQgd2l0aGluIGEgUFJVLUlDU1Mgc3Vic3lzdGVt LiBUaGlzCj4+Pj4+Pj4+IGFsbG93cyB0aGUgY2xpZW50IGRyaXZlcnMgdG8gZGlyZWN0bHkgbWFu aXB1bGF0ZSB0aGUgcmVzcGVjdGl2ZSBtZW1vcmllcywKPj4+Pj4+Pj4gYXMgcGVyIHRoZWlyIGRl c2lnbiBjb250cmFjdCB3aXRoIHRoZSBhc3NvY2lhdGVkIGZpcm13YXJlLgo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiBDby1kZXZlbG9wZWQtYnk6IFN1bWFuIEFubmEgPHMtYW5uYUB0aS5jb20+Cj4+Pj4+Pj4+ IFNpZ25lZC1vZmYtYnk6IFN1bWFuIEFubmEgPHMtYW5uYUB0aS5jb20+Cj4+Pj4+Pj4+IFNpZ25l ZC1vZmYtYnk6IEFuZHJldyBGLiBEYXZpcyA8YWZkQHRpLmNvbT4KPj4+Pj4+Pj4gQ28tZGV2ZWxv cGVkLWJ5OiBHcnplZ29yeiBKYXN6Y3p5ayA8Z3J6ZWdvcnouamFzemN6eWtAbGluYXJvLm9yZz4K Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogR3J6ZWdvcnogSmFzemN6eWsgPGdyemVnb3J6Lmphc3pj enlrQGxpbmFyby5vcmc+Cj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1EIERhbmlzaCBBbndhciA8 ZGFuaXNoYW53YXJAdGkuY29tPgo+Pj4+Pj4+PiBSZXZpZXdlZC1ieTogUm9nZXIgUXVhZHJvcyA8 cm9nZXJxQGtlcm5lbC5vcmc+Cj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+PiDCoCBkcml2ZXJzL3NvYy90 aS9wcnVzcy5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA3NyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+Pj4+Pj4+PiDCoCBpbmNsdWRlL2xpbnV4L3BydXNzX2RyaXZlci5owqDCoMKg wqAgfCAyNyArKystLS0tLS0tLQo+Pj4+Pj4+PiDCoCBpbmNsdWRlL2xpbnV4L3JlbW90ZXByb2Mv cHJ1c3MuaCB8IDM5ICsrKysrKysrKysrKysrKysKPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4gV2Ug aGF2ZSB0aGVzZSAyIGhlYWRlciBmaWxlcyBhbmQgSSB0aGluayBhbnl0aGluZyB0aGF0IGRlYWxz IHdpdGgKPj4+Pj4+PiAnc3RydWN0IHBydXNzJyBzaG91bGQgZ28gaW4gaW5jbHVkZS9saW51eC9w cnVzc19kcml2ZXIuaAo+Pj4+Pj4+Cj4+Pj4+Pj4gQW55dGhpbmcgdGhhdCBkZWFscyB3aXRoIHBy dV9ycHJvYyAoaS5lLiBzdHJ1Y3QgcnByb2MpIHNob3VsZCBnbyBpbgo+Pj4+Pj4+IGluY2x1ZGUv bGludXgvcmVtb3RlcHJvYy9wcnVzcy5oCj4+Pj4+Pj4KPj4+Pj4+PiBEbyB5b3UgYWdyZWU/Cj4+ Pj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBJIGFncmVlIHdpdGggeW91IFJvZ2VyIGJ1dCBBbmRyZXcgaXMg dGhlIHJpZ2h0IHBlcnNvbiB0byBjb21tZW50IGhlcmUgYXMgaGUgaXMKPj4+Pj4+IHRoZSBhdXRo b3Igb2YgdGhpcyBhbmQgc2V2ZXJhbCBvdGhlciBwYXRjaGVzLgo+Pj4+Pj4KPj4+Pj4+IEhpIEFu ZHJldywgQ2FuIHlvdSBwbGVhc2UgY29tbWVudCBvbiB0aGlzPwo+Pj4+Pj4KPj4+Pj4KPj4+Pj4g T3JpZ2luYWwgaWRlYSB3YXMgYSBjb25zdW1lciBkcml2ZXIgKGxpa2UgIklDU1NHIEV0aGVybmV0 IERyaXZlciIgaW4geW91ciBvdGhlcgo+Pj4+PiBzZXJpZXMpIGNvdWxkIGp1c3QKPj4+Pj4KPj4+ Pj4gI2luY2x1ZGUgPGxpbnV4L3JlbW90ZXByb2MvcHJ1c3MuaD4KPj4+Pj4KPj4+Pj4gYW5kIGdl dCBldmVyeXRoaW5nIHRoZXkgbmVlZCwgYW5kIG5vdGhpbmcgdGhleSBkbyBub3QuCj4+Pj4+Cj4+ Pj4KPj4+PiBJZiB3ZSBwbGFuIG9uIGNvbnRpbnVpbmcgdGhlIG9yaWdpbmFsIGlkZWEsIHRoZW4g SSB0aGluayBrZWVwaW5nIHRoZSBoZWFkZXIKPj4+PiBmaWxlcyBhcyBpdCBpcyB3aWxsIGJlIHRo ZSBiZXN0LiBCZWNhdXNlIGlmIHdlIG1vdmUgYW55dGhpbmcgdGhhdCBkZWFscyB3aXRoCj4+Pj4g J3N0cnVjdCBwcnVzcycgdG8gaW5jbHVkZS9saW51eC9wcnVzc19kcml2ZXIuaCBhbmQgYW55dGhp bmcgdGhhdCBkZWFscyB3aXRoCj4+Pj4gcHJ1X3Jwcm9jIChpLmUuIHN0cnVjdCBycHJvYykgdG8g aW5jbHVkZS9saW51eC9yZW1vdGVwcm9jL3BydXNzLmgsIHRoZW4gdGhlCj4+Pj4gY29uc3VtZXIg ZHJpdmVycyB3aWxsIG5lZWQgdG8gZG8sCj4+Pj4KPj4+PiAjaW5jbHVkZSA8bGludXgvcmVtb3Rl cHJvYy9wcnVzcy5oPgo+Pj4+ICNpbmNsdWRlIDxsaW51eC9wcnVzc19kcml2ZXIuaD4KPj4+Pgo+ Pj4+IFJvZ2VyLCBzaG91bGQgSSBrZWVwIHRoZSBoZWFkZXIgZmlsZXMgYXJyYW5nZW1lbnQgYXMg aXQgaXM/Cj4+Pj4KPj4+Cj4+PiBPSyBidXQgY2FuIHdlIHBsZWFzZSByZW5hbWUgb25lIG9mIHRo ZW0gdG8gc29tZXRoaW5nIGVsc2Ugc28gdGhleSBkb24ndAo+Pj4gc291bmQgdmVyeSBzaW1pbGFy LiBNYXliZSB5b3UgY291bGQgdXNlIEFuZHJldydzIHN1Z2dlc3Rpb24gYmVsb3cuCj4+Pgo+Pgo+ PiBZZXMgc3VyZSwgSSdsbCByZW5hbWUgdGhlIGhlYWRlciBmaWxlcyB0byByZWR1Y2UgY29uZnVz aW9uLiBUaGUgcHJ1c3NfZHJpdmVyLmgKPj4gaXMgbG9jYXRlZCBpbiBpbmNsdWRlL2xpbnV4LCBp bXBseWluZyBpdCdzIG5vdCBpbnRlcm5hbCB0byBQUlVTUy4gU28gSSB3aWxsCj4+IGtlZXAgdGhp cyBoZWFkZXIgZmlsZSBuYW1lIGFzIGl0IGlzLgo+Pgo+PiBUaGVyZSBhcmUgdG90YWwgMyBwcnVz cyByZWxhdGVkIGhlYWRlciBmaWxlcy4KPj4KPj4gMS4gaW5jbHVkZS9saW51eC9wcnVzc19kcml2 ZXIuaCAoUHVibGljIGhlYWRlciBmaWxlLCBub3QgaW50ZXJuYWwgdG8gUFJVU1MsCj4+IHdpbGwg a2VlcCBpdCBhcyBpdCBpcy4gVGhpcyBleGlzdHMgdG8gYWxsb3cgY29tbXVuaWNhdGlvbiBiZXR3 ZWVuIHRoZSBwcnVzcwo+PiBjb3JlIGFuZCB0aGUgcHJ1IHJwcm9jIGRyaXZlciB3aGljaCBsaXZl IGluIGRpZmZlcmVudCBzdWJzeXN0ZW1zLikKPiAKPiBBbmRyZXcgYXNrZWQgeW91IHRvIHJlbmFt ZSB0aGlzIHRvIHBydXNzX2ludGVybmFsLmgKCk9LLCBJIHdpbGwgY2hhbmdlIHBydXNzX2RyaXZl ci5oIHRvIHBydXNzX2ludGVybmFsLmgKCj4gCj4+IDIuIGluY2x1ZGUvbGludXgvcmVtb3RlcHJv Yy9wcnVzcy5oIChQdWJsaWMgaGVhZGVyIGZpbGUsIG5vdCBpbnRlcm5hbCB0byBQUlVTUywKPj4g d2lsbCBrZWVwIGl0IGFzIGl0IGlzLiBPbmx5IHRoaXMgaGVhZGVyIGZpbGUgbmVlZHMgdG8gYmUg aW5jbHVkZWQgYnkgY2xpZW50Cj4+IGRyaXZlcnMuKQo+PiAzLiBkcml2ZXJzL3NvYy90aS9wcnVz cy5oIChJbnRlcm5hbCB0byBQUlVTUywgSSB3aWxsIHJlbmFtZSB0aGlzIHRvCj4+IHBydXNzX2lu dGVybmFsLmgsIHRoaXMgZmlsZSBoYXMgcHJpdmF0ZSBkZWZpbml0aW9ucyBhbmQgQVBJcyB0byBt b2RpZnkgUFJVU1MKPj4gQ0ZHIHNwYWNlLiBUaGlzIGZpbGUgaXMgcHJpdmF0ZSB0byBwcnVzcy5j KQo+IAo+IE5vIHBvaW50IGluIGNoYW5naW5nIHRoaXMgZmlsZSdzIG5hbWUgYXMgdGhpcyBpcyBu b3QgdmlzaWJsZSBlbHNld2hlcmUuCj4gCgpPSywgSSB3aWxsIGtlZXAgZHJpdmVycy9zb2MvdGkv cHJ1c3MuaCBhbmQgaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jL3BydXNzLmggYXMKaXQgaXMuCgo+ Pgo+PiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgdGhlIGFib3ZlIGxvb2tzIE9LLgo+Pgo+Pj4+PiBw cnVzc19kcml2ZXIuaCAod2hpY2ggY291bGQgYmUgcmVuYW1lZCBwcnVzc19pbnRlcm5hbC5oKSBl eGlzdHMgdG8gYWxsb3cKPj4+Pj4gY29tdW5pY2F0aW9uIGJldHdlZW4gdGhlIHBydXNzIGNvcmUg YW5kIHRoZSBwcnUgcnByb2MgZHJpdmVyIHdoaWNoIGxpdmUKPj4+Pj4gaW4gZGlmZmVyZW50IHN1 YnN5c3RlbXMuCj4+Pj4+Cj4+Pj4+IEFuZHJldwo+Pj4+Pgo+Pj4+Pj4+PiDCoCAzIGZpbGVzIGNo YW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKPj4+Pj4+Pj4KPj4+Pj4+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3RpL3BydXNzLmMgYi9kcml2ZXJzL3NvYy90aS9w cnVzcy5jCj4+Pj4+Pj4+IGluZGV4IGExNjlhYTFlZDA0NC4uYzgwNTNjMGQ3MzVmIDEwMDY0NAo+ Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL3NvYy90aS9wcnVzcy5jCj4+Pj4+Pj4+ICsrKyBiL2RyaXZl cnMvc29jL3RpL3BydXNzLmMKPj4+Pj4+Pj4gQEAgLTg4LDYgKzg4LDgyIEBAIHZvaWQgcHJ1c3Nf cHV0KHN0cnVjdCBwcnVzcyAqcHJ1c3MpCj4+Pj4+Pj4+IMKgIH0KPj4+Pj4+Pj4gwqAgRVhQT1JU X1NZTUJPTF9HUEwocHJ1c3NfcHV0KTsKPj4+Pj4+Pj4gwqAgKy8qKgo+Pj4+Pj4+PiArICogcHJ1 c3NfcmVxdWVzdF9tZW1fcmVnaW9uKCkgLSByZXF1ZXN0IGEgbWVtb3J5IHJlc291cmNlCj4+Pj4+ Pj4+ICsgKiBAcHJ1c3M6IHRoZSBwcnVzcyBpbnN0YW5jZQo+Pj4+Pj4+PiArICogQG1lbV9pZDog dGhlIG1lbW9yeSByZXNvdXJjZSBpZAo+Pj4+Pj4+PiArICogQHJlZ2lvbjogcG9pbnRlciB0byBt ZW1vcnkgcmVnaW9uIHN0cnVjdHVyZSB0byBiZSBmaWxsZWQgaW4KPj4+Pj4+Pj4gKyAqCj4+Pj4+ Pj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhIGNsaWVudCBkcml2ZXIgdG8gcmVxdWVzdCBh IG1lbW9yeSByZXNvdXJjZSwKPj4+Pj4+Pj4gKyAqIGFuZCBpZiBzdWNjZXNzZnVsLCB3aWxsIGxl dCB0aGUgY2xpZW50IGRyaXZlciBvd24gdGhlIHBhcnRpY3VsYXIKPj4+Pj4+Pj4gKyAqIG1lbW9y eSByZWdpb24gdW50aWwgcmVsZWFzZWQgdXNpbmcgdGhlIHBydXNzX3JlbGVhc2VfbWVtX3JlZ2lv bigpCj4+Pj4+Pj4+ICsgKiBBUEkuCj4+Pj4+Pj4+ICsgKgo+Pj4+Pj4+PiArICogUmV0dXJuOiAw IGlmIHJlcXVlc3RlZCBtZW1vcnkgcmVnaW9uIGlzIGF2YWlsYWJsZSAoaW4gc3VjaCBjYXNlIHBv aW50ZXIgdG8KPj4+Pj4+Pj4gKyAqIG1lbW9yeSByZWdpb24gaXMgcmV0dXJuZWQgdmlhIEByZWdp b24pLCBhbiBlcnJvciBvdGhlcndpc2UKPj4+Pj4+Pj4gKyAqLwo+Pj4+Pj4+PiAraW50IHBydXNz X3JlcXVlc3RfbWVtX3JlZ2lvbihzdHJ1Y3QgcHJ1c3MgKnBydXNzLCBlbnVtIHBydXNzX21lbSBt ZW1faWQsCj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qg cHJ1c3NfbWVtX3JlZ2lvbiAqcmVnaW9uKQo+Pj4+Pj4+PiArewo+Pj4+Pj4+PiArwqDCoMKgIGlm ICghcHJ1c3MgfHwgIXJlZ2lvbiB8fCBtZW1faWQgPj0gUFJVU1NfTUVNX01BWCkKPj4+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+Pj4+Pj4+PiArCj4+Pj4+Pj4+ICvCoMKg wqAgbXV0ZXhfbG9jaygmcHJ1c3MtPmxvY2spOwo+Pj4+Pj4+PiArCj4+Pj4+Pj4+ICvCoMKgwqAg aWYgKHBydXNzLT5tZW1faW5fdXNlW21lbV9pZF0pIHsKPj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg IG11dGV4X3VubG9jaygmcHJ1c3MtPmxvY2spOwo+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIC1FQlVTWTsKPj4+Pj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4gK8KgwqDC oCAqcmVnaW9uID0gcHJ1c3MtPm1lbV9yZWdpb25zW21lbV9pZF07Cj4+Pj4+Pj4+ICvCoMKgwqAg cHJ1c3MtPm1lbV9pbl91c2VbbWVtX2lkXSA9IHJlZ2lvbjsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiAr wqDCoMKgIG11dGV4X3VubG9jaygmcHJ1c3MtPmxvY2spOwo+Pj4+Pj4+PiArCj4+Pj4+Pj4+ICvC oMKgwqAgcmV0dXJuIDA7Cj4+Pj4+Pj4+ICt9Cj4+Pj4+Pj4+ICtFWFBPUlRfU1lNQk9MX0dQTChw cnVzc19yZXF1ZXN0X21lbV9yZWdpb24pOwo+Pj4+Pj4+PiArCj4+Pj4+Pj4+ICsvKioKPj4+Pj4+ Pj4gKyAqIHBydXNzX3JlbGVhc2VfbWVtX3JlZ2lvbigpIC0gcmVsZWFzZSBhIG1lbW9yeSByZXNv dXJjZQo+Pj4+Pj4+PiArICogQHBydXNzOiB0aGUgcHJ1c3MgaW5zdGFuY2UKPj4+Pj4+Pj4gKyAq IEByZWdpb246IHRoZSBtZW1vcnkgcmVnaW9uIHRvIHJlbGVhc2UKPj4+Pj4+Pj4gKyAqCj4+Pj4+ Pj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBjb21wbGltZW50YXJ5IGZ1bmN0aW9uIHRvCj4+ Pj4+Pj4+ICsgKiBwcnVzc19yZXF1ZXN0X21lbV9yZWdpb24oKSwgYW5kIGFsbG93cyB0aGUgY2xp ZW50IGRyaXZlcnMgdG8KPj4+Pj4+Pj4gKyAqIHJlbGVhc2UgYmFjayBhIG1lbW9yeSByZXNvdXJj ZS4KPj4+Pj4+Pj4gKyAqCj4+Pj4+Pj4+ICsgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgYW4gZXJy b3IgY29kZSBvdGhlcndpc2UKPj4+Pj4+Pj4gKyAqLwo+Pj4+Pj4+PiAraW50IHBydXNzX3JlbGVh c2VfbWVtX3JlZ2lvbihzdHJ1Y3QgcHJ1c3MgKnBydXNzLAo+Pj4+Pj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHBydXNzX21lbV9yZWdpb24gKnJlZ2lvbikKPj4+ Pj4+Pj4gK3sKPj4+Pj4+Pj4gK8KgwqDCoCBpbnQgaWQ7Cj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4gK8Kg wqDCoCBpZiAoIXBydXNzIHx8ICFyZWdpb24pCj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1 cm4gLUVJTlZBTDsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArwqDCoMKgIG11dGV4X2xvY2soJnBydXNz LT5sb2NrKTsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArwqDCoMKgIC8qIGZpbmQgb3V0IHRoZSBtZW1v cnkgcmVnaW9uIGJlaW5nIHJlbGVhc2VkICovCj4+Pj4+Pj4+ICvCoMKgwqAgZm9yIChpZCA9IDA7 IGlkIDwgUFJVU1NfTUVNX01BWDsgaWQrKykgewo+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgaWYg KHBydXNzLT5tZW1faW5fdXNlW2lkXSA9PSByZWdpb24pCj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGJyZWFrOwo+Pj4+Pj4+PiArwqDCoMKgIH0KPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiAr wqDCoMKgIGlmIChpZCA9PSBQUlVTU19NRU1fTUFYKSB7Cj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDC oCBtdXRleF91bmxvY2soJnBydXNzLT5sb2NrKTsKPj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJl dHVybiAtRUlOVkFMOwo+Pj4+Pj4+PiArwqDCoMKgIH0KPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArwqDC oMKgIHBydXNzLT5tZW1faW5fdXNlW2lkXSA9IE5VTEw7Cj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4gK8Kg wqDCoCBtdXRleF91bmxvY2soJnBydXNzLT5sb2NrKTsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArwqDC oMKgIHJldHVybiAwOwo+Pj4+Pj4+PiArfQo+Pj4+Pj4+PiArRVhQT1JUX1NZTUJPTF9HUEwocHJ1 c3NfcmVsZWFzZV9tZW1fcmVnaW9uKTsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiDCoCBzdGF0aWMgdm9p ZCBwcnVzc19vZl9mcmVlX2Nsa19wcm92aWRlcih2b2lkICpkYXRhKQo+Pj4+Pj4+PiDCoCB7Cj4+ Pj4+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGRldmljZV9ub2RlICpjbGtfbXV4X25wID0gZGF0YTsK Pj4+Pj4+Pj4gQEAgLTI5MCw2ICszNjYsNyBAQCBzdGF0aWMgaW50IHBydXNzX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gLUVOT01FTTsKPj4+Pj4+Pj4gwqAgwqDCoMKgwqDCoCBwcnVzcy0+ZGV2ID0gZGV2Owo+Pj4+ Pj4+PiArwqDCoMKgIG11dGV4X2luaXQoJnBydXNzLT5sb2NrKTsKPj4+Pj4+Pj4gwqAgwqDCoMKg wqDCoCBjaGlsZCA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKG5wLCAibWVtb3JpZXMiKTsKPj4+Pj4+ Pj4gwqDCoMKgwqDCoCBpZiAoIWNoaWxkKSB7Cj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L3BydXNzX2RyaXZlci5oIGIvaW5jbHVkZS9saW51eC9wcnVzc19kcml2ZXIuaAo+Pj4+ Pj4+PiBpbmRleCA4NjI0MmZiNWE2NGEuLjIyYjRiMzdkMjUzNiAxMDA2NDQKPj4+Pj4+Pj4gLS0t IGEvaW5jbHVkZS9saW51eC9wcnVzc19kcml2ZXIuaAo+Pj4+Pj4+PiArKysgYi9pbmNsdWRlL2xp bnV4L3BydXNzX2RyaXZlci5oCj4+Pj4+Pj4+IEBAIC05LDM3ICs5LDE4IEBACj4+Pj4+Pj4+IMKg ICNpZm5kZWYgX1BSVVNTX0RSSVZFUl9IXwo+Pj4+Pj4+PiDCoCAjZGVmaW5lIF9QUlVTU19EUklW RVJfSF8KPj4+Pj4+Pj4gwqAgKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+Pj4+Pj4+PiDCoCAj aW5jbHVkZSA8bGludXgvcmVtb3RlcHJvYy9wcnVzcy5oPgo+Pj4+Pj4+PiDCoCAjaW5jbHVkZSA8 bGludXgvdHlwZXMuaD4KPj4+Pj4+Pj4gwqAgLS8qCj4+Pj4+Pj4+IC0gKiBlbnVtIHBydXNzX21l bSAtIFBSVVNTIG1lbW9yeSByYW5nZSBpZGVudGlmaWVycwo+Pj4+Pj4+PiAtICovCj4+Pj4+Pj4+ IC1lbnVtIHBydXNzX21lbSB7Cj4+Pj4+Pj4+IC3CoMKgwqAgUFJVU1NfTUVNX0RSQU0wID0gMCwK Pj4+Pj4+Pj4gLcKgwqDCoCBQUlVTU19NRU1fRFJBTTEsCj4+Pj4+Pj4+IC3CoMKgwqAgUFJVU1Nf TUVNX1NIUkRfUkFNMiwKPj4+Pj4+Pj4gLcKgwqDCoCBQUlVTU19NRU1fTUFYLAo+Pj4+Pj4+PiAt fTsKPj4+Pj4+Pj4gLQo+Pj4+Pj4+PiAtLyoqCj4+Pj4+Pj4+IC0gKiBzdHJ1Y3QgcHJ1c3NfbWVt X3JlZ2lvbiAtIFBSVVNTIG1lbW9yeSByZWdpb24gc3RydWN0dXJlCj4+Pj4+Pj4+IC0gKiBAdmE6 IGtlcm5lbCB2aXJ0dWFsIGFkZHJlc3Mgb2YgdGhlIFBSVVNTIG1lbW9yeSByZWdpb24KPj4+Pj4+ Pj4gLSAqIEBwYTogcGh5c2ljYWwgKGJ1cykgYWRkcmVzcyBvZiB0aGUgUFJVU1MgbWVtb3J5IHJl Z2lvbgo+Pj4+Pj4+PiAtICogQHNpemU6IHNpemUgb2YgdGhlIFBSVVNTIG1lbW9yeSByZWdpb24K Pj4+Pj4+Pj4gLSAqLwo+Pj4+Pj4+PiAtc3RydWN0IHBydXNzX21lbV9yZWdpb24gewo+Pj4+Pj4+ PiAtwqDCoMKgIHZvaWQgX19pb21lbSAqdmE7Cj4+Pj4+Pj4+IC3CoMKgwqAgcGh5c19hZGRyX3Qg cGE7Cj4+Pj4+Pj4+IC3CoMKgwqAgc2l6ZV90IHNpemU7Cj4+Pj4+Pj4+IC19Owo+Pj4+Pj4+PiAt Cj4+Pj4+Pj4+IMKgIC8qKgo+Pj4+Pj4+PiDCoMKgICogc3RydWN0IHBydXNzIC0gUFJVU1MgcGFy ZW50IHN0cnVjdHVyZQo+Pj4+Pj4+PiDCoMKgICogQGRldjogcHJ1c3MgZGV2aWNlIHBvaW50ZXIK Pj4+Pj4+Pj4gwqDCoCAqIEBjZmdfYmFzZTogYmFzZSBpb21hcCBmb3IgQ0ZHIHJlZ2lvbgo+Pj4+ Pj4+PiDCoMKgICogQGNmZ19yZWdtYXA6IHJlZ21hcCBmb3IgY29uZmlnIHJlZ2lvbgo+Pj4+Pj4+ PiDCoMKgICogQG1lbV9yZWdpb25zOiBkYXRhIGZvciBlYWNoIG9mIHRoZSBQUlVTUyBtZW1vcnkg cmVnaW9ucwo+Pj4+Pj4+PiArICogQG1lbV9pbl91c2U6IHRvIGluZGljYXRlIGlmIG1lbW9yeSBy ZXNvdXJjZSBpcyBpbiB1c2UKPj4+Pj4+Pj4gKyAqIEBsb2NrOiBtdXRleCB0byBzZXJpYWxpemUg YWNjZXNzIHRvIHJlc291cmNlcwo+Pj4+Pj4+PiDCoMKgICogQGNvcmVfY2xrX211eDogY2xrIGhh bmRsZSBmb3IgUFJVU1MgQ09SRV9DTEtfTVVYCj4+Pj4+Pj4+IMKgwqAgKiBAaWVwX2Nsa19tdXg6 IGNsayBoYW5kbGUgZm9yIFBSVVNTIElFUF9DTEtfTVVYCj4+Pj4+Pj4+IMKgwqAgKi8KPj4+Pj4+ Pj4gQEAgLTQ4LDYgKzI5LDggQEAgc3RydWN0IHBydXNzIHsKPj4+Pj4+Pj4gwqDCoMKgwqDCoCB2 b2lkIF9faW9tZW0gKmNmZ19iYXNlOwo+Pj4+Pj4+PiDCoMKgwqDCoMKgIHN0cnVjdCByZWdtYXAg KmNmZ19yZWdtYXA7Cj4+Pj4+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IHBydXNzX21lbV9yZWdpb24g bWVtX3JlZ2lvbnNbUFJVU1NfTUVNX01BWF07Cj4+Pj4+Pj4+ICvCoMKgwqAgc3RydWN0IHBydXNz X21lbV9yZWdpb24gKm1lbV9pbl91c2VbUFJVU1NfTUVNX01BWF07Cj4+Pj4+Pj4+ICvCoMKgwqAg c3RydWN0IG11dGV4IGxvY2s7IC8qIFBSVSByZXNvdXJjZSBsb2NrICovCj4+Pj4+Pj4+IMKgwqDC oMKgwqAgc3RydWN0IGNsayAqY29yZV9jbGtfbXV4Owo+Pj4+Pj4+PiDCoMKgwqDCoMKgIHN0cnVj dCBjbGsgKmllcF9jbGtfbXV4Owo+Pj4+Pj4+PiDCoCB9Owo+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9yZW1vdGVwcm9jL3BydXNzLmgKPj4+Pj4+Pj4gYi9pbmNsdWRlL2xpbnV4 L3JlbW90ZXByb2MvcHJ1c3MuaAo+Pj4+Pj4+PiBpbmRleCA5M2E5OGNhYzc4MjkuLjMzZjkzMGUw YTBjZSAxMDA2NDQKPj4+Pj4+Pj4gLS0tIGEvaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jL3BydXNz LmgKPj4+Pj4+Pj4gKysrIGIvaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jL3BydXNzLmgKPj4+Pj4+ Pj4gQEAgLTQ0LDYgKzQ0LDI4IEBAIGVudW0gcHJ1X2N0YWJsZV9pZHggewo+Pj4+Pj4+PiDCoMKg wqDCoMKgIFBSVV9DMzEsCj4+Pj4+Pj4+IMKgIH07Cj4+Pj4+Pj4+IMKgICsvKgo+Pj4+Pj4+PiAr ICogZW51bSBwcnVzc19tZW0gLSBQUlVTUyBtZW1vcnkgcmFuZ2UgaWRlbnRpZmllcnMKPj4+Pj4+ Pj4gKyAqLwo+Pj4+Pj4+PiArZW51bSBwcnVzc19tZW0gewo+Pj4+Pj4+PiArwqDCoMKgIFBSVVNT X01FTV9EUkFNMCA9IDAsCj4+Pj4+Pj4+ICvCoMKgwqAgUFJVU1NfTUVNX0RSQU0xLAo+Pj4+Pj4+ PiArwqDCoMKgIFBSVVNTX01FTV9TSFJEX1JBTTIsCj4+Pj4+Pj4+ICvCoMKgwqAgUFJVU1NfTUVN X01BWCwKPj4+Pj4+Pj4gK307Cj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4gKy8qKgo+Pj4+Pj4+PiArICog c3RydWN0IHBydXNzX21lbV9yZWdpb24gLSBQUlVTUyBtZW1vcnkgcmVnaW9uIHN0cnVjdHVyZQo+ Pj4+Pj4+PiArICogQHZhOiBrZXJuZWwgdmlydHVhbCBhZGRyZXNzIG9mIHRoZSBQUlVTUyBtZW1v cnkgcmVnaW9uCj4+Pj4+Pj4+ICsgKiBAcGE6IHBoeXNpY2FsIChidXMpIGFkZHJlc3Mgb2YgdGhl IFBSVVNTIG1lbW9yeSByZWdpb24KPj4+Pj4+Pj4gKyAqIEBzaXplOiBzaXplIG9mIHRoZSBQUlVT UyBtZW1vcnkgcmVnaW9uCj4+Pj4+Pj4+ICsgKi8KPj4+Pj4+Pj4gK3N0cnVjdCBwcnVzc19tZW1f cmVnaW9uIHsKPj4+Pj4+Pj4gK8KgwqDCoCB2b2lkIF9faW9tZW0gKnZhOwo+Pj4+Pj4+PiArwqDC oMKgIHBoeXNfYWRkcl90IHBhOwo+Pj4+Pj4+PiArwqDCoMKgIHNpemVfdCBzaXplOwo+Pj4+Pj4+ PiArfTsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiDCoCBzdHJ1Y3QgZGV2aWNlX25vZGU7Cj4+Pj4+Pj4+ IMKgIHN0cnVjdCBycHJvYzsKPj4+Pj4+Pj4gwqAgc3RydWN0IHBydXNzOwo+Pj4+Pj4+PiBAQCAt NTIsNiArNzQsMTAgQEAgc3RydWN0IHBydXNzOwo+Pj4+Pj4+PiDCoCDCoCBzdHJ1Y3QgcHJ1c3Mg KnBydXNzX2dldChzdHJ1Y3QgcnByb2MgKnJwcm9jKTsKPj4+Pj4+Pj4gwqAgdm9pZCBwcnVzc19w dXQoc3RydWN0IHBydXNzICpwcnVzcyk7Cj4+Pj4+Pj4+ICtpbnQgcHJ1c3NfcmVxdWVzdF9tZW1f cmVnaW9uKHN0cnVjdCBwcnVzcyAqcHJ1c3MsIGVudW0gcHJ1c3NfbWVtIG1lbV9pZCwKPj4+Pj4+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwcnVzc19tZW1fcmVn aW9uICpyZWdpb24pOwo+Pj4+Pj4+PiAraW50IHBydXNzX3JlbGVhc2VfbWVtX3JlZ2lvbihzdHJ1 Y3QgcHJ1c3MgKnBydXNzLAo+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgc3RydWN0IHBydXNzX21lbV9yZWdpb24gKnJlZ2lvbik7Cj4+Pj4+Pj4+IMKgIMKgICNlbHNl Cj4+Pj4+Pj4+IMKgIEBAIC02Miw2ICs4OCwxOSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBwcnVz cyAqcHJ1c3NfZ2V0KHN0cnVjdCBycHJvYwo+Pj4+Pj4+PiAqcnByb2MpCj4+Pj4+Pj4+IMKgIMKg IHN0YXRpYyBpbmxpbmUgdm9pZCBwcnVzc19wdXQoc3RydWN0IHBydXNzICpwcnVzcykgeyB9Cj4+ Pj4+Pj4+IMKgICtzdGF0aWMgaW5saW5lIGludCBwcnVzc19yZXF1ZXN0X21lbV9yZWdpb24oc3Ry dWN0IHBydXNzICpwcnVzcywKPj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGVudW0gcHJ1c3NfbWVtIG1lbV9pZCwKPj4+Pj4+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwcnVzc19tZW1fcmVn aW9uICpyZWdpb24pCj4+Pj4+Pj4+ICt7Cj4+Pj4+Pj4+ICvCoMKgwqAgcmV0dXJuIC1FT1BOT1RT VVBQOwo+Pj4+Pj4+PiArfQo+Pj4+Pj4+PiArCj4+Pj4+Pj4+ICtzdGF0aWMgaW5saW5lIGludCBw cnVzc19yZWxlYXNlX21lbV9yZWdpb24oc3RydWN0IHBydXNzICpwcnVzcywKPj4+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwcnVzc19t ZW1fcmVnaW9uICpyZWdpb24pCj4+Pj4+Pj4+ICt7Cj4+Pj4+Pj4+ICvCoMKgwqAgcmV0dXJuIC1F T1BOT1RTVVBQOwo+Pj4+Pj4+PiArfQo+Pj4+Pj4+PiArCj4+Pj4+Pj4+IMKgICNlbmRpZiAvKiBD T05GSUdfVElfUFJVU1MgKi8KPj4+Pj4+Pj4gwqAgwqAgI2lmIElTX0VOQUJMRUQoQ09ORklHX1BS VV9SRU1PVEVQUk9DKQo+Pj4+Pj4+Cj4gCj4gCj4gY2hlZXJzLAo+IC1yb2dlcgoKLS0gClRoYW5r cyBhbmQgUmVnYXJkcywKRGFuaXNoLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=