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 971AFC74A5B for ; Tue, 21 Mar 2023 09:50:04 +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=06C04BokHD6Zwief0wBA2qKNdj1p7/sYM+9ynggHwsI=; b=mwnc0vzUOQmRDG 75uMSWuoEtR2eWGX0ldlM1d69EWrzmKnmIHvPxZi4MxWuFbaD1AuyY4Aqlg++/m2SBW0imMAt6MTd zfMJYGELqUPvw8YRKiUMlknDYOLzeg0l8BzdGVedcDvXWH93NmSd/27/861hkXBoWuX9bEvHgSaVi FC3Wfuu4y5tyw+02HFk3H/i21ThETjZZ0QRAWOtKg0K6Lclcnn3O4LGdUJTTVYx7FJHW4iXggQ3Py 5uKFFdtEvmuYy4ruSfsPo7BtI6xQsvmldrdqEi4HZ4eWn7u6mXTWSVZd8LqGqTQwk2rGgZqeQN53Y Bzij33iESuu3YZsimH6Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peYc8-00Bvjn-0S; Tue, 21 Mar 2023 09:49:08 +0000 Received: from fllv0016.ext.ti.com ([198.47.19.142]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peYc4-00Bvik-05 for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 09:49:06 +0000 Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 32L9msi0037365; Tue, 21 Mar 2023 04:48:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1679392134; bh=JJIYrcey46uy+S3AUzULE5SHPkG70JA9TDTd6IjyWNw=; h=Date:Subject:To:CC:References:From:In-Reply-To; b=onWV1zrmtM6rWiMG74/F8iknw9yrrTiJrZuCkPgvScMJGGBwoDtqlboYdYckJYDCH ZLQfpG3KsiG/jL8XCg40VZNZKi/ZZI+NOnXOgh29x79loOGHyMB9Wp3YY2bh4TWyfE ymu85u/8ZCpSxc3Ax3I6zery9CbMJ423TA5EBQ74= Received: from DLEE103.ent.ti.com (dlee103.ent.ti.com [157.170.170.33]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 32L9msAO096312 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 21 Mar 2023 04:48:54 -0500 Received: from DLEE109.ent.ti.com (157.170.170.41) by DLEE103.ent.ti.com (157.170.170.33) 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 04:48:53 -0500 Received: from fllv0039.itg.ti.com (10.64.41.19) by DLEE109.ent.ti.com (157.170.170.41) 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 04:48:53 -0500 Received: from [10.24.69.114] (ileaxei01-snat2.itg.ti.com [10.180.69.6]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 32L9mmPr021899; Tue, 21 Mar 2023 04:48:49 -0500 Message-ID: Date: Tue, 21 Mar 2023 15:18:48 +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: [EXTERNAL] Re: [EXTERNAL] 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: <67dd1d04-147d-0e40-c06b-6e1e0dd05f13@kernel.org> 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_024904_233282_EA3F79A3 X-CRM114-Status: GOOD ( 34.35 ) 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 SGkgUm9nZXIsCgpPbiAyMS8wMy8yMyAxNDo1NCwgUm9nZXIgUXVhZHJvcyB3cm90ZToKPiBIaSwK PiAKPiBPbiAyMS8wMy8yMDIzIDA3OjIzLCBNZCBEYW5pc2ggQW53YXIgd3JvdGU6Cj4+IEhpIEFu ZHJldywgUm9nZXIsCj4+Cj4+IE9uIDIwLzAzLzIzIDIxOjQ4LCBBbmRyZXcgRGF2aXMgd3JvdGU6 Cj4+PiBPbiAzLzIwLzIzIDEyOjExIEFNLCBNZCBEYW5pc2ggQW53YXIgd3JvdGU6Cj4+Pj4gSGkg Um9nZXIsCj4+Pj4KPj4+PiBPbiAxNy8wMy8yMyAxNDoyNiwgUm9nZXIgUXVhZHJvcyB3cm90ZToK Pj4+Pj4gSGkgQW5kcmV3ICYgRGFuaXNoLAo+Pj4+Pgo+Pj4+Pgo+Pj4+PiBPbiAxMy8wMy8yMDIz IDEzOjExLCBNRCBEYW5pc2ggQW53YXIgd3JvdGU6Cj4+Pj4+PiBGcm9tOiAiQW5kcmV3IEYuIERh dmlzIiA8YWZkQHRpLmNvbT4KPj4+Pj4+Cj4+Pj4+PiBBZGQgdHdvIG5ldyBBUEkgLSBwcnVzc19y ZXF1ZXN0X21lbV9yZWdpb24oKSAmIHBydXNzX3JlbGVhc2VfbWVtX3JlZ2lvbigpLAo+Pj4+Pj4g dG8gdGhlIFBSVVNTIHBsYXRmb3JtIGRyaXZlciB0byBhbGxvdyBjbGllbnQgZHJpdmVycyB0byBh Y3F1aXJlIGFuZCByZWxlYXNlCj4+Pj4+PiB0aGUgY29tbW9uIG1lbW9yeSByZXNvdXJjZXMgcHJl c2VudCB3aXRoaW4gYSBQUlUtSUNTUyBzdWJzeXN0ZW0uIFRoaXMKPj4+Pj4+IGFsbG93cyB0aGUg Y2xpZW50IGRyaXZlcnMgdG8gZGlyZWN0bHkgbWFuaXB1bGF0ZSB0aGUgcmVzcGVjdGl2ZSBtZW1v cmllcywKPj4+Pj4+IGFzIHBlciB0aGVpciBkZXNpZ24gY29udHJhY3Qgd2l0aCB0aGUgYXNzb2Np YXRlZCBmaXJtd2FyZS4KPj4+Pj4+Cj4+Pj4+PiBDby1kZXZlbG9wZWQtYnk6IFN1bWFuIEFubmEg PHMtYW5uYUB0aS5jb20+Cj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBTdW1hbiBBbm5hIDxzLWFubmFA dGkuY29tPgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3IEYuIERhdmlzIDxhZmRAdGkuY29t Pgo+Pj4+Pj4gQ28tZGV2ZWxvcGVkLWJ5OiBHcnplZ29yeiBKYXN6Y3p5ayA8Z3J6ZWdvcnouamFz emN6eWtAbGluYXJvLm9yZz4KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEdyemVnb3J6IEphc3pjenlr IDxncnplZ29yei5qYXN6Y3p5a0BsaW5hcm8ub3JnPgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTUQg RGFuaXNoIEFud2FyIDxkYW5pc2hhbndhckB0aS5jb20+Cj4+Pj4+PiBSZXZpZXdlZC1ieTogUm9n ZXIgUXVhZHJvcyA8cm9nZXJxQGtlcm5lbC5vcmc+Cj4+Pj4+PiAtLS0KPj4+Pj4+IMKgIGRyaXZl cnMvc29jL3RpL3BydXNzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDc3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4+Pj4+PiDCoCBpbmNsdWRlL2xpbnV4L3BydXNzX2RyaXZlci5o wqDCoMKgwqAgfCAyNyArKystLS0tLS0tLQo+Pj4+Pj4gwqAgaW5jbHVkZS9saW51eC9yZW1vdGVw cm9jL3BydXNzLmggfCAzOSArKysrKysrKysrKysrKysrCj4+Pj4+Cj4+Pj4+Cj4+Pj4+IFdlIGhh dmUgdGhlc2UgMiBoZWFkZXIgZmlsZXMgYW5kIEkgdGhpbmsgYW55dGhpbmcgdGhhdCBkZWFscyB3 aXRoCj4+Pj4+ICdzdHJ1Y3QgcHJ1c3MnIHNob3VsZCBnbyBpbiBpbmNsdWRlL2xpbnV4L3BydXNz X2RyaXZlci5oCj4+Pj4+Cj4+Pj4+IEFueXRoaW5nIHRoYXQgZGVhbHMgd2l0aCBwcnVfcnByb2Mg KGkuZS4gc3RydWN0IHJwcm9jKSBzaG91bGQgZ28gaW4KPj4+Pj4gaW5jbHVkZS9saW51eC9yZW1v dGVwcm9jL3BydXNzLmgKPj4+Pj4KPj4+Pj4gRG8geW91IGFncmVlPwo+Pj4+Pgo+Pj4+Cj4+Pj4g SSBhZ3JlZSB3aXRoIHlvdSBSb2dlciBidXQgQW5kcmV3IGlzIHRoZSByaWdodCBwZXJzb24gdG8g Y29tbWVudCBoZXJlIGFzIGhlIGlzCj4+Pj4gdGhlIGF1dGhvciBvZiB0aGlzIGFuZCBzZXZlcmFs IG90aGVyIHBhdGNoZXMuCj4+Pj4KPj4+PiBIaSBBbmRyZXcsIENhbiB5b3UgcGxlYXNlIGNvbW1l bnQgb24gdGhpcz8KPj4+Pgo+Pj4KPj4+IE9yaWdpbmFsIGlkZWEgd2FzIGEgY29uc3VtZXIgZHJp dmVyIChsaWtlICJJQ1NTRyBFdGhlcm5ldCBEcml2ZXIiIGluIHlvdXIgb3RoZXIKPj4+IHNlcmll cykgY291bGQganVzdAo+Pj4KPj4+ICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9jL3BydXNzLmg+ Cj4+Pgo+Pj4gYW5kIGdldCBldmVyeXRoaW5nIHRoZXkgbmVlZCwgYW5kIG5vdGhpbmcgdGhleSBk byBub3QuCj4+Pgo+Pgo+PiBJZiB3ZSBwbGFuIG9uIGNvbnRpbnVpbmcgdGhlIG9yaWdpbmFsIGlk ZWEsIHRoZW4gSSB0aGluayBrZWVwaW5nIHRoZSBoZWFkZXIKPj4gZmlsZXMgYXMgaXQgaXMgd2ls bCBiZSB0aGUgYmVzdC4gQmVjYXVzZSBpZiB3ZSBtb3ZlIGFueXRoaW5nIHRoYXQgZGVhbHMgd2l0 aAo+PiAnc3RydWN0IHBydXNzJyB0byBpbmNsdWRlL2xpbnV4L3BydXNzX2RyaXZlci5oIGFuZCBh bnl0aGluZyB0aGF0IGRlYWxzIHdpdGgKPj4gcHJ1X3Jwcm9jIChpLmUuIHN0cnVjdCBycHJvYykg dG8gaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jL3BydXNzLmgsIHRoZW4gdGhlCj4+IGNvbnN1bWVy IGRyaXZlcnMgd2lsbCBuZWVkIHRvIGRvLAo+Pgo+PiAjaW5jbHVkZSA8bGludXgvcmVtb3RlcHJv Yy9wcnVzcy5oPgo+PiAjaW5jbHVkZSA8bGludXgvcHJ1c3NfZHJpdmVyLmg+Cj4+Cj4+IFJvZ2Vy LCBzaG91bGQgSSBrZWVwIHRoZSBoZWFkZXIgZmlsZXMgYXJyYW5nZW1lbnQgYXMgaXQgaXM/Cj4+ Cj4gCj4gT0sgYnV0IGNhbiB3ZSBwbGVhc2UgcmVuYW1lIG9uZSBvZiB0aGVtIHRvIHNvbWV0aGlu ZyBlbHNlIHNvIHRoZXkgZG9uJ3QKPiBzb3VuZCB2ZXJ5IHNpbWlsYXIuIE1heWJlIHlvdSBjb3Vs ZCB1c2UgQW5kcmV3J3Mgc3VnZ2VzdGlvbiBiZWxvdy4KPiAKClllcyBzdXJlLCBJJ2xsIHJlbmFt ZSB0aGUgaGVhZGVyIGZpbGVzIHRvIHJlZHVjZSBjb25mdXNpb24uIFRoZSBwcnVzc19kcml2ZXIu aAppcyBsb2NhdGVkIGluIGluY2x1ZGUvbGludXgsIGltcGx5aW5nIGl0J3Mgbm90IGludGVybmFs IHRvIFBSVVNTLiBTbyBJIHdpbGwKa2VlcCB0aGlzIGhlYWRlciBmaWxlIG5hbWUgYXMgaXQgaXMu CgpUaGVyZSBhcmUgdG90YWwgMyBwcnVzcyByZWxhdGVkIGhlYWRlciBmaWxlcy4KCjEuIGluY2x1 ZGUvbGludXgvcHJ1c3NfZHJpdmVyLmggKFB1YmxpYyBoZWFkZXIgZmlsZSwgbm90IGludGVybmFs IHRvIFBSVVNTLAp3aWxsIGtlZXAgaXQgYXMgaXQgaXMuIFRoaXMgZXhpc3RzIHRvIGFsbG93IGNv bW11bmljYXRpb24gYmV0d2VlbiB0aGUgcHJ1c3MKY29yZSBhbmQgdGhlIHBydSBycHJvYyBkcml2 ZXIgd2hpY2ggbGl2ZSBpbiBkaWZmZXJlbnQgc3Vic3lzdGVtcy4pCjIuIGluY2x1ZGUvbGludXgv cmVtb3RlcHJvYy9wcnVzcy5oIChQdWJsaWMgaGVhZGVyIGZpbGUsIG5vdCBpbnRlcm5hbCB0byBQ UlVTUywKd2lsbCBrZWVwIGl0IGFzIGl0IGlzLiBPbmx5IHRoaXMgaGVhZGVyIGZpbGUgbmVlZHMg dG8gYmUgaW5jbHVkZWQgYnkgY2xpZW50CmRyaXZlcnMuKQozLiBkcml2ZXJzL3NvYy90aS9wcnVz cy5oIChJbnRlcm5hbCB0byBQUlVTUywgSSB3aWxsIHJlbmFtZSB0aGlzIHRvCnBydXNzX2ludGVy bmFsLmgsIHRoaXMgZmlsZSBoYXMgcHJpdmF0ZSBkZWZpbml0aW9ucyBhbmQgQVBJcyB0byBtb2Rp ZnkgUFJVU1MKQ0ZHIHNwYWNlLiBUaGlzIGZpbGUgaXMgcHJpdmF0ZSB0byBwcnVzcy5jKQoKUGxl YXNlIGxldCBtZSBrbm93IGlmIHRoZSBhYm92ZSBsb29rcyBPSy4KCj4+PiBwcnVzc19kcml2ZXIu aCAod2hpY2ggY291bGQgYmUgcmVuYW1lZCBwcnVzc19pbnRlcm5hbC5oKSBleGlzdHMgdG8gYWxs b3cKPj4+IGNvbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBwcnVzcyBjb3JlIGFuZCB0aGUgcHJ1IHJw cm9jIGRyaXZlciB3aGljaCBsaXZlCj4+PiBpbiBkaWZmZXJlbnQgc3Vic3lzdGVtcy4KPj4+Cj4+ PiBBbmRyZXcKPj4+Cj4+Pj4+PiDCoCAzIGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCsp LCAyMiBkZWxldGlvbnMoLSkKPj4+Pj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2Mv dGkvcHJ1c3MuYyBiL2RyaXZlcnMvc29jL3RpL3BydXNzLmMKPj4+Pj4+IGluZGV4IGExNjlhYTFl ZDA0NC4uYzgwNTNjMGQ3MzVmIDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9zb2MvdGkvcHJ1 c3MuYwo+Pj4+Pj4gKysrIGIvZHJpdmVycy9zb2MvdGkvcHJ1c3MuYwo+Pj4+Pj4gQEAgLTg4LDYg Kzg4LDgyIEBAIHZvaWQgcHJ1c3NfcHV0KHN0cnVjdCBwcnVzcyAqcHJ1c3MpCj4+Pj4+PiDCoCB9 Cj4+Pj4+PiDCoCBFWFBPUlRfU1lNQk9MX0dQTChwcnVzc19wdXQpOwo+Pj4+Pj4gwqAgKy8qKgo+ Pj4+Pj4gKyAqIHBydXNzX3JlcXVlc3RfbWVtX3JlZ2lvbigpIC0gcmVxdWVzdCBhIG1lbW9yeSBy ZXNvdXJjZQo+Pj4+Pj4gKyAqIEBwcnVzczogdGhlIHBydXNzIGluc3RhbmNlCj4+Pj4+PiArICog QG1lbV9pZDogdGhlIG1lbW9yeSByZXNvdXJjZSBpZAo+Pj4+Pj4gKyAqIEByZWdpb246IHBvaW50 ZXIgdG8gbWVtb3J5IHJlZ2lvbiBzdHJ1Y3R1cmUgdG8gYmUgZmlsbGVkIGluCj4+Pj4+PiArICoK Pj4+Pj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhIGNsaWVudCBkcml2ZXIgdG8gcmVxdWVz dCBhIG1lbW9yeSByZXNvdXJjZSwKPj4+Pj4+ICsgKiBhbmQgaWYgc3VjY2Vzc2Z1bCwgd2lsbCBs ZXQgdGhlIGNsaWVudCBkcml2ZXIgb3duIHRoZSBwYXJ0aWN1bGFyCj4+Pj4+PiArICogbWVtb3J5 IHJlZ2lvbiB1bnRpbCByZWxlYXNlZCB1c2luZyB0aGUgcHJ1c3NfcmVsZWFzZV9tZW1fcmVnaW9u KCkKPj4+Pj4+ICsgKiBBUEkuCj4+Pj4+PiArICoKPj4+Pj4+ICsgKiBSZXR1cm46IDAgaWYgcmVx dWVzdGVkIG1lbW9yeSByZWdpb24gaXMgYXZhaWxhYmxlIChpbiBzdWNoIGNhc2UgcG9pbnRlciB0 bwo+Pj4+Pj4gKyAqIG1lbW9yeSByZWdpb24gaXMgcmV0dXJuZWQgdmlhIEByZWdpb24pLCBhbiBl cnJvciBvdGhlcndpc2UKPj4+Pj4+ICsgKi8KPj4+Pj4+ICtpbnQgcHJ1c3NfcmVxdWVzdF9tZW1f cmVnaW9uKHN0cnVjdCBwcnVzcyAqcHJ1c3MsIGVudW0gcHJ1c3NfbWVtIG1lbV9pZCwKPj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgcHJ1c3NfbWVtX3JlZ2lv biAqcmVnaW9uKQo+Pj4+Pj4gK3sKPj4+Pj4+ICvCoMKgwqAgaWYgKCFwcnVzcyB8fCAhcmVnaW9u IHx8IG1lbV9pZCA+PSBQUlVTU19NRU1fTUFYKQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVy biAtRUlOVkFMOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoCBtdXRleF9sb2NrKCZwcnVzcy0+bG9j ayk7Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKgIGlmIChwcnVzcy0+bWVtX2luX3VzZVttZW1faWRd KSB7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgbXV0ZXhfdW5sb2NrKCZwcnVzcy0+bG9jayk7Cj4+ Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FQlVTWTsKPj4+Pj4+ICvCoMKgwqAgfQo+Pj4+ Pj4gKwo+Pj4+Pj4gK8KgwqDCoCAqcmVnaW9uID0gcHJ1c3MtPm1lbV9yZWdpb25zW21lbV9pZF07 Cj4+Pj4+PiArwqDCoMKgIHBydXNzLT5tZW1faW5fdXNlW21lbV9pZF0gPSByZWdpb247Cj4+Pj4+ PiArCj4+Pj4+PiArwqDCoMKgIG11dGV4X3VubG9jaygmcHJ1c3MtPmxvY2spOwo+Pj4+Pj4gKwo+ Pj4+Pj4gK8KgwqDCoCByZXR1cm4gMDsKPj4+Pj4+ICt9Cj4+Pj4+PiArRVhQT1JUX1NZTUJPTF9H UEwocHJ1c3NfcmVxdWVzdF9tZW1fcmVnaW9uKTsKPj4+Pj4+ICsKPj4+Pj4+ICsvKioKPj4+Pj4+ ICsgKiBwcnVzc19yZWxlYXNlX21lbV9yZWdpb24oKSAtIHJlbGVhc2UgYSBtZW1vcnkgcmVzb3Vy Y2UKPj4+Pj4+ICsgKiBAcHJ1c3M6IHRoZSBwcnVzcyBpbnN0YW5jZQo+Pj4+Pj4gKyAqIEByZWdp b246IHRoZSBtZW1vcnkgcmVnaW9uIHRvIHJlbGVhc2UKPj4+Pj4+ICsgKgo+Pj4+Pj4gKyAqIFRo aXMgZnVuY3Rpb24gaXMgdGhlIGNvbXBsaW1lbnRhcnkgZnVuY3Rpb24gdG8KPj4+Pj4+ICsgKiBw cnVzc19yZXF1ZXN0X21lbV9yZWdpb24oKSwgYW5kIGFsbG93cyB0aGUgY2xpZW50IGRyaXZlcnMg dG8KPj4+Pj4+ICsgKiByZWxlYXNlIGJhY2sgYSBtZW1vcnkgcmVzb3VyY2UuCj4+Pj4+PiArICoK Pj4+Pj4+ICsgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UK Pj4+Pj4+ICsgKi8KPj4+Pj4+ICtpbnQgcHJ1c3NfcmVsZWFzZV9tZW1fcmVnaW9uKHN0cnVjdCBw cnVzcyAqcHJ1c3MsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3Ry dWN0IHBydXNzX21lbV9yZWdpb24gKnJlZ2lvbikKPj4+Pj4+ICt7Cj4+Pj4+PiArwqDCoMKgIGlu dCBpZDsKPj4+Pj4+ICsKPj4+Pj4+ICvCoMKgwqAgaWYgKCFwcnVzcyB8fCAhcmVnaW9uKQo+Pj4+ Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDC oCBtdXRleF9sb2NrKCZwcnVzcy0+bG9jayk7Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKgIC8qIGZp bmQgb3V0IHRoZSBtZW1vcnkgcmVnaW9uIGJlaW5nIHJlbGVhc2VkICovCj4+Pj4+PiArwqDCoMKg IGZvciAoaWQgPSAwOyBpZCA8IFBSVVNTX01FTV9NQVg7IGlkKyspIHsKPj4+Pj4+ICvCoMKgwqDC oMKgwqDCoCBpZiAocHJ1c3MtPm1lbV9pbl91c2VbaWRdID09IHJlZ2lvbikKPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+PiArCj4+Pj4+ PiArwqDCoMKgIGlmIChpZCA9PSBQUlVTU19NRU1fTUFYKSB7Cj4+Pj4+PiArwqDCoMKgwqDCoMKg wqAgbXV0ZXhfdW5sb2NrKCZwcnVzcy0+bG9jayk7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIC1FSU5WQUw7Cj4+Pj4+PiArwqDCoMKgIH0KPj4+Pj4+ICsKPj4+Pj4+ICvCoMKgwqAgcHJ1 c3MtPm1lbV9pbl91c2VbaWRdID0gTlVMTDsKPj4+Pj4+ICsKPj4+Pj4+ICvCoMKgwqAgbXV0ZXhf dW5sb2NrKCZwcnVzcy0+bG9jayk7Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKgIHJldHVybiAwOwo+ Pj4+Pj4gK30KPj4+Pj4+ICtFWFBPUlRfU1lNQk9MX0dQTChwcnVzc19yZWxlYXNlX21lbV9yZWdp b24pOwo+Pj4+Pj4gKwo+Pj4+Pj4gwqAgc3RhdGljIHZvaWQgcHJ1c3Nfb2ZfZnJlZV9jbGtfcHJv dmlkZXIodm9pZCAqZGF0YSkKPj4+Pj4+IMKgIHsKPj4+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGRl dmljZV9ub2RlICpjbGtfbXV4X25wID0gZGF0YTsKPj4+Pj4+IEBAIC0yOTAsNiArMzY2LDcgQEAg c3RhdGljIGludCBwcnVzc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+Pj4+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PTUVNOwo+Pj4+Pj4gwqAgwqDCoMKgwqDC oCBwcnVzcy0+ZGV2ID0gZGV2Owo+Pj4+Pj4gK8KgwqDCoCBtdXRleF9pbml0KCZwcnVzcy0+bG9j ayk7Cj4+Pj4+PiDCoCDCoMKgwqDCoMKgIGNoaWxkID0gb2ZfZ2V0X2NoaWxkX2J5X25hbWUobnAs ICJtZW1vcmllcyIpOwo+Pj4+Pj4gwqDCoMKgwqDCoCBpZiAoIWNoaWxkKSB7Cj4+Pj4+PiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wcnVzc19kcml2ZXIuaCBiL2luY2x1ZGUvbGludXgvcHJ1 c3NfZHJpdmVyLmgKPj4+Pj4+IGluZGV4IDg2MjQyZmI1YTY0YS4uMjJiNGIzN2QyNTM2IDEwMDY0 NAo+Pj4+Pj4gLS0tIGEvaW5jbHVkZS9saW51eC9wcnVzc19kcml2ZXIuaAo+Pj4+Pj4gKysrIGIv aW5jbHVkZS9saW51eC9wcnVzc19kcml2ZXIuaAo+Pj4+Pj4gQEAgLTksMzcgKzksMTggQEAKPj4+ Pj4+IMKgICNpZm5kZWYgX1BSVVNTX0RSSVZFUl9IXwo+Pj4+Pj4gwqAgI2RlZmluZSBfUFJVU1Nf RFJJVkVSX0hfCj4+Pj4+PiDCoCArI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+Cj4+Pj4+PiDCoCAj aW5jbHVkZSA8bGludXgvcmVtb3RlcHJvYy9wcnVzcy5oPgo+Pj4+Pj4gwqAgI2luY2x1ZGUgPGxp bnV4L3R5cGVzLmg+Cj4+Pj4+PiDCoCAtLyoKPj4+Pj4+IC0gKiBlbnVtIHBydXNzX21lbSAtIFBS VVNTIG1lbW9yeSByYW5nZSBpZGVudGlmaWVycwo+Pj4+Pj4gLSAqLwo+Pj4+Pj4gLWVudW0gcHJ1 c3NfbWVtIHsKPj4+Pj4+IC3CoMKgwqAgUFJVU1NfTUVNX0RSQU0wID0gMCwKPj4+Pj4+IC3CoMKg wqAgUFJVU1NfTUVNX0RSQU0xLAo+Pj4+Pj4gLcKgwqDCoCBQUlVTU19NRU1fU0hSRF9SQU0yLAo+ Pj4+Pj4gLcKgwqDCoCBQUlVTU19NRU1fTUFYLAo+Pj4+Pj4gLX07Cj4+Pj4+PiAtCj4+Pj4+PiAt LyoqCj4+Pj4+PiAtICogc3RydWN0IHBydXNzX21lbV9yZWdpb24gLSBQUlVTUyBtZW1vcnkgcmVn aW9uIHN0cnVjdHVyZQo+Pj4+Pj4gLSAqIEB2YToga2VybmVsIHZpcnR1YWwgYWRkcmVzcyBvZiB0 aGUgUFJVU1MgbWVtb3J5IHJlZ2lvbgo+Pj4+Pj4gLSAqIEBwYTogcGh5c2ljYWwgKGJ1cykgYWRk cmVzcyBvZiB0aGUgUFJVU1MgbWVtb3J5IHJlZ2lvbgo+Pj4+Pj4gLSAqIEBzaXplOiBzaXplIG9m IHRoZSBQUlVTUyBtZW1vcnkgcmVnaW9uCj4+Pj4+PiAtICovCj4+Pj4+PiAtc3RydWN0IHBydXNz X21lbV9yZWdpb24gewo+Pj4+Pj4gLcKgwqDCoCB2b2lkIF9faW9tZW0gKnZhOwo+Pj4+Pj4gLcKg wqDCoCBwaHlzX2FkZHJfdCBwYTsKPj4+Pj4+IC3CoMKgwqAgc2l6ZV90IHNpemU7Cj4+Pj4+PiAt fTsKPj4+Pj4+IC0KPj4+Pj4+IMKgIC8qKgo+Pj4+Pj4gwqDCoCAqIHN0cnVjdCBwcnVzcyAtIFBS VVNTIHBhcmVudCBzdHJ1Y3R1cmUKPj4+Pj4+IMKgwqAgKiBAZGV2OiBwcnVzcyBkZXZpY2UgcG9p bnRlcgo+Pj4+Pj4gwqDCoCAqIEBjZmdfYmFzZTogYmFzZSBpb21hcCBmb3IgQ0ZHIHJlZ2lvbgo+ Pj4+Pj4gwqDCoCAqIEBjZmdfcmVnbWFwOiByZWdtYXAgZm9yIGNvbmZpZyByZWdpb24KPj4+Pj4+ IMKgwqAgKiBAbWVtX3JlZ2lvbnM6IGRhdGEgZm9yIGVhY2ggb2YgdGhlIFBSVVNTIG1lbW9yeSBy ZWdpb25zCj4+Pj4+PiArICogQG1lbV9pbl91c2U6IHRvIGluZGljYXRlIGlmIG1lbW9yeSByZXNv dXJjZSBpcyBpbiB1c2UKPj4+Pj4+ICsgKiBAbG9jazogbXV0ZXggdG8gc2VyaWFsaXplIGFjY2Vz cyB0byByZXNvdXJjZXMKPj4+Pj4+IMKgwqAgKiBAY29yZV9jbGtfbXV4OiBjbGsgaGFuZGxlIGZv ciBQUlVTUyBDT1JFX0NMS19NVVgKPj4+Pj4+IMKgwqAgKiBAaWVwX2Nsa19tdXg6IGNsayBoYW5k bGUgZm9yIFBSVVNTIElFUF9DTEtfTVVYCj4+Pj4+PiDCoMKgICovCj4+Pj4+PiBAQCAtNDgsNiAr MjksOCBAQCBzdHJ1Y3QgcHJ1c3Mgewo+Pj4+Pj4gwqDCoMKgwqDCoCB2b2lkIF9faW9tZW0gKmNm Z19iYXNlOwo+Pj4+Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgcmVnbWFwICpjZmdfcmVnbWFwOwo+Pj4+ Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgcHJ1c3NfbWVtX3JlZ2lvbiBtZW1fcmVnaW9uc1tQUlVTU19N RU1fTUFYXTsKPj4+Pj4+ICvCoMKgwqAgc3RydWN0IHBydXNzX21lbV9yZWdpb24gKm1lbV9pbl91 c2VbUFJVU1NfTUVNX01BWF07Cj4+Pj4+PiArwqDCoMKgIHN0cnVjdCBtdXRleCBsb2NrOyAvKiBQ UlUgcmVzb3VyY2UgbG9jayAqLwo+Pj4+Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgY2xrICpjb3JlX2Ns a19tdXg7Cj4+Pj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBjbGsgKmllcF9jbGtfbXV4Owo+Pj4+Pj4g wqAgfTsKPj4+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3JlbW90ZXByb2MvcHJ1c3Mu aAo+Pj4+Pj4gYi9pbmNsdWRlL2xpbnV4L3JlbW90ZXByb2MvcHJ1c3MuaAo+Pj4+Pj4gaW5kZXgg OTNhOThjYWM3ODI5Li4zM2Y5MzBlMGEwY2UgMTAwNjQ0Cj4+Pj4+PiAtLS0gYS9pbmNsdWRlL2xp bnV4L3JlbW90ZXByb2MvcHJ1c3MuaAo+Pj4+Pj4gKysrIGIvaW5jbHVkZS9saW51eC9yZW1vdGVw cm9jL3BydXNzLmgKPj4+Pj4+IEBAIC00NCw2ICs0NCwyOCBAQCBlbnVtIHBydV9jdGFibGVfaWR4 IHsKPj4+Pj4+IMKgwqDCoMKgwqAgUFJVX0MzMSwKPj4+Pj4+IMKgIH07Cj4+Pj4+PiDCoCArLyoK Pj4+Pj4+ICsgKiBlbnVtIHBydXNzX21lbSAtIFBSVVNTIG1lbW9yeSByYW5nZSBpZGVudGlmaWVy cwo+Pj4+Pj4gKyAqLwo+Pj4+Pj4gK2VudW0gcHJ1c3NfbWVtIHsKPj4+Pj4+ICvCoMKgwqAgUFJV U1NfTUVNX0RSQU0wID0gMCwKPj4+Pj4+ICvCoMKgwqAgUFJVU1NfTUVNX0RSQU0xLAo+Pj4+Pj4g K8KgwqDCoCBQUlVTU19NRU1fU0hSRF9SQU0yLAo+Pj4+Pj4gK8KgwqDCoCBQUlVTU19NRU1fTUFY LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArLyoqCj4+Pj4+PiArICogc3RydWN0IHBydXNz X21lbV9yZWdpb24gLSBQUlVTUyBtZW1vcnkgcmVnaW9uIHN0cnVjdHVyZQo+Pj4+Pj4gKyAqIEB2 YToga2VybmVsIHZpcnR1YWwgYWRkcmVzcyBvZiB0aGUgUFJVU1MgbWVtb3J5IHJlZ2lvbgo+Pj4+ Pj4gKyAqIEBwYTogcGh5c2ljYWwgKGJ1cykgYWRkcmVzcyBvZiB0aGUgUFJVU1MgbWVtb3J5IHJl Z2lvbgo+Pj4+Pj4gKyAqIEBzaXplOiBzaXplIG9mIHRoZSBQUlVTUyBtZW1vcnkgcmVnaW9uCj4+ Pj4+PiArICovCj4+Pj4+PiArc3RydWN0IHBydXNzX21lbV9yZWdpb24gewo+Pj4+Pj4gK8KgwqDC oCB2b2lkIF9faW9tZW0gKnZhOwo+Pj4+Pj4gK8KgwqDCoCBwaHlzX2FkZHJfdCBwYTsKPj4+Pj4+ ICvCoMKgwqAgc2l6ZV90IHNpemU7Cj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+IMKgIHN0cnVj dCBkZXZpY2Vfbm9kZTsKPj4+Pj4+IMKgIHN0cnVjdCBycHJvYzsKPj4+Pj4+IMKgIHN0cnVjdCBw cnVzczsKPj4+Pj4+IEBAIC01Miw2ICs3NCwxMCBAQCBzdHJ1Y3QgcHJ1c3M7Cj4+Pj4+PiDCoCDC oCBzdHJ1Y3QgcHJ1c3MgKnBydXNzX2dldChzdHJ1Y3QgcnByb2MgKnJwcm9jKTsKPj4+Pj4+IMKg IHZvaWQgcHJ1c3NfcHV0KHN0cnVjdCBwcnVzcyAqcHJ1c3MpOwo+Pj4+Pj4gK2ludCBwcnVzc19y ZXF1ZXN0X21lbV9yZWdpb24oc3RydWN0IHBydXNzICpwcnVzcywgZW51bSBwcnVzc19tZW0gbWVt X2lkLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwcnVz c19tZW1fcmVnaW9uICpyZWdpb24pOwo+Pj4+Pj4gK2ludCBwcnVzc19yZWxlYXNlX21lbV9yZWdp b24oc3RydWN0IHBydXNzICpwcnVzcywKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdHJ1Y3QgcHJ1c3NfbWVtX3JlZ2lvbiAqcmVnaW9uKTsKPj4+Pj4+IMKgIMKgICNl bHNlCj4+Pj4+PiDCoCBAQCAtNjIsNiArODgsMTkgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcHJ1 c3MgKnBydXNzX2dldChzdHJ1Y3QgcnByb2MKPj4+Pj4+ICpycHJvYykKPj4+Pj4+IMKgIMKgIHN0 YXRpYyBpbmxpbmUgdm9pZCBwcnVzc19wdXQoc3RydWN0IHBydXNzICpwcnVzcykgeyB9Cj4+Pj4+ PiDCoCArc3RhdGljIGlubGluZSBpbnQgcHJ1c3NfcmVxdWVzdF9tZW1fcmVnaW9uKHN0cnVjdCBw cnVzcyAqcHJ1c3MsCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZW51bSBwcnVzc19tZW0gbWVtX2lkLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwcnVzc19tZW1fcmVnaW9uICpyZWdp b24pCj4+Pj4+PiArewo+Pj4+Pj4gK8KgwqDCoCByZXR1cm4gLUVPUE5PVFNVUFA7Cj4+Pj4+PiAr fQo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBpbmxpbmUgaW50IHBydXNzX3JlbGVhc2VfbWVtX3Jl Z2lvbihzdHJ1Y3QgcHJ1c3MgKnBydXNzLAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwcnVzc19tZW1fcmVnaW9uICpyZWdpb24pCj4+ Pj4+PiArewo+Pj4+Pj4gK8KgwqDCoCByZXR1cm4gLUVPUE5PVFNVUFA7Cj4+Pj4+PiArfQo+Pj4+ Pj4gKwo+Pj4+Pj4gwqAgI2VuZGlmIC8qIENPTkZJR19USV9QUlVTUyAqLwo+Pj4+Pj4gwqAgwqAg I2lmIElTX0VOQUJMRUQoQ09ORklHX1BSVV9SRU1PVEVQUk9DKQo+Pj4+Pgo+Pj4+PiBjaGVlcnMs Cj4+Pj4+IC1yb2dlcgo+Pj4+Cj4+Cj4gCj4gY2hlZXJzLAo+IC1yb2dlcgoKLS0gClRoYW5rcyBh bmQgUmVnYXJkcywKRGFuaXNoLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=