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 01650C433FE for ; Tue, 22 Nov 2022 10:08:59 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References: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=jHhLbXF2YuQDAo+RAHznRfmrsrSmZ8rWfrUGIU2hjxU=; b=fLGnDwaMPdHKhP xmamQxOJtv37oT14QPsV/j7YdX7tKe8BG1BW1+svRrKCUiW4lRWRHXFeR6gq8NapSv1i/746rTU45 YRLWqX3iXITT1AeVgcHSTGeTyPmg4zuDypUpOhhYyMAFwrex1A1i+a04wuz6vlezOe7jqisNulxiK TlW92pKE28Lw2Nl3Gh/xvJLfsT6BsCSMVlTrTV3yUlNUpamuI/FKMIiV0XR0Kf+8vt5MHX8RzOHsS T4YmeMbWF1ruAWxwuMuBw5kyoyBPm0kBNCtyoNuP8HER0sof6g/QQVkKpsXaJ4BXLWb/Ua4pKsa4a xi8HJpzVcklYk6scg07Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oxQBf-007dX0-G2; Tue, 22 Nov 2022 10:07:31 +0000 Received: from fllv0016.ext.ti.com ([198.47.19.142]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oxQBP-007dGx-46 for linux-arm-kernel@lists.infradead.org; Tue, 22 Nov 2022 10:07:20 +0000 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 2AMA6xZd116018; Tue, 22 Nov 2022 04:06:59 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1669111619; bh=5KECzsV3oZ7XuJuaiJWcm4GxO0TJVgS0h98ei4XpzEQ=; h=Date:Subject:To:CC:References:From:In-Reply-To; b=tZJFepw7T6e4rAuzU/dx3Fh1Y04hOvQYiMUAgl6aKsdRAe2kelN6iWNM0n3W1+Ehy QHSqHJtvalxUOxGPXn/s+b/VqHRpkluRwlvV99w7YRZ/ZghuVh6ZumhP9BZgAVAPWK mKFUrbFXFOOIZDQDATcTwc1SQ2bz4CvKblU8d48c= Received: from DFLE102.ent.ti.com (dfle102.ent.ti.com [10.64.6.23]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 2AMA6xM2007057 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 22 Nov 2022 04:06:59 -0600 Received: from DFLE110.ent.ti.com (10.64.6.31) by DFLE102.ent.ti.com (10.64.6.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16; Tue, 22 Nov 2022 04:06:58 -0600 Received: from fllv0039.itg.ti.com (10.64.41.19) by DFLE110.ent.ti.com (10.64.6.31) 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, 22 Nov 2022 04:06:58 -0600 Received: from [10.24.69.114] (ileaxei01-snat.itg.ti.com [10.180.69.5]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 2AMA6sb3058680; Tue, 22 Nov 2022 04:06:54 -0600 Message-ID: Date: Tue, 22 Nov 2022 15:36:53 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [EXTERNAL] Re: [PATCH v9 2/6] remoteproc: pru: Add APIs to get and put the PRU cores Content-Language: en-US To: Mathieu Poirier , MD Danish Anwar References: <20221118111924.3277838-1-danishanwar@ti.com> <20221118111924.3277838-3-danishanwar@ti.com> <20221121174938.GC457869@p14s> From: Md Danish Anwar In-Reply-To: <20221121174938.GC457869@p14s> 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-20221122_020715_300759_777A07F1 X-CRM114-Status: GOOD ( 40.85 ) 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: , Cc: nm@ti.com, srk@ti.com, vigneshr@ti.com, devicetree@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, "Andrew F . Davis" , Roger Quadros , Rob Herring , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org 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 SGkgTWF0aGlldSwKCk9uIDIxLzExLzIyIDIzOjE5LCBNYXRoaWV1IFBvaXJpZXIgd3JvdGU6Cj4g T24gRnJpLCBOb3YgMTgsIDIwMjIgYXQgMDQ6NDk6MjBQTSArMDUzMCwgTUQgRGFuaXNoIEFud2Fy IHdyb3RlOgo+PiBGcm9tOiBUZXJvIEtyaXN0byA8dC1rcmlzdG9AdGkuY29tPgo+Pgo+PiBBZGQg dHdvIG5ldyBBUElzLCBwcnVfcnByb2NfZ2V0KCkgYW5kIHBydV9ycHJvY19wdXQoKSwgdG8gdGhl IFBSVQo+PiBkcml2ZXIgdG8gYWxsb3cgY2xpZW50IGRyaXZlcnMgdG8gYWNxdWlyZSBhbmQgcmVs ZWFzZSB0aGUgcmVtb3RlcHJvYwo+PiBkZXZpY2UgYXNzb2NpYXRlZCB3aXRoIGEgUFJVIGNvcmUu IFRoZSBQUlUgY29yZXMgYXJlIHRyZWF0ZWQgYXMKPj4gcmVzb3VyY2VzIHdpdGggb25seSBvbmUg Y2xpZW50IG93bmluZyBpdCBhdCBhIHRpbWUuCj4+Cj4+IFRoZSBwcnVfcnByb2NfZ2V0KCkgZnVu Y3Rpb24gcmV0dXJucyB0aGUgcnByb2MgaGFuZGxlIGNvcnJlc3BvbmRpbmcKPj4gdG8gYSBQUlUg Y29yZSBpZGVudGlmaWVkIGJ5IHRoZSBkZXZpY2UgdHJlZSAidGkscHJ1cyIgcHJvcGVydHkgdW5k ZXIKPj4gdGhlIGNsaWVudCBub2RlLiBUaGUgcHJ1X3Jwcm9jX3B1dCgpIGlzIHRoZSBjb21wbGVt ZW50YXJ5IGZ1bmN0aW9uCj4+IHRvIHBydV9ycHJvY19nZXQoKS4KPj4KPj4gU2lnbmVkLW9mZi1i eTogU3VtYW4gQW5uYSA8cy1hbm5hQHRpLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogVGVybyBLcmlz dG8gPHQta3Jpc3RvQHRpLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogR3J6ZWdvcnogSmFzemN6eWsg PGdyemVnb3J6Lmphc3pjenlrQGxpbmFyby5vcmc+Cj4+IFNpZ25lZC1vZmYtYnk6IE1EIERhbmlz aCBBbndhciA8ZGFuaXNoYW53YXJAdGkuY29tPgo+PiAtLS0KPj4gIGRyaXZlcnMvcmVtb3RlcHJv Yy9wcnVfcnByb2MuYyB8IDEzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPj4g IGluY2x1ZGUvbGludXgvcHJ1c3MuaCAgICAgICAgICB8ICA0NyArKysrKysrKysrKysKPj4gIDIg ZmlsZXMgY2hhbmdlZCwgMTc5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4+ICBjcmVh dGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9wcnVzcy5oCj4+Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9jLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jw cm9jLmMKPj4gaW5kZXggMTI4YmY5OTEyZjJjLi40NzY5YWRlOWMzMTYgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYwo+PiArKysgYi9kcml2ZXJzL3JlbW90ZXBy b2MvcHJ1X3Jwcm9jLmMKPj4gQEAgLTIsMTIgKzIsMTQgQEAKPj4gIC8qCj4+ICAgKiBQUlUtSUNT UyByZW1vdGVwcm9jIGRyaXZlciBmb3IgdmFyaW91cyBUSSBTb0NzCj4+ICAgKgo+PiAtICogQ29w eXJpZ2h0IChDKSAyMDE0LTIwMjAgVGV4YXMgSW5zdHJ1bWVudHMgSW5jb3Jwb3JhdGVkIC0gaHR0 cHM6Ly93d3cudGkuY29tLwo+PiArICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjIgVGV4YXMgSW5z dHJ1bWVudHMgSW5jb3Jwb3JhdGVkIC0gaHR0cHM6Ly93d3cudGkuY29tLwo+PiAgICoKPj4gICAq IEF1dGhvcihzKToKPj4gICAqCVN1bWFuIEFubmEgPHMtYW5uYUB0aS5jb20+Cj4+ICAgKglBbmRy ZXcgRi4gRGF2aXMgPGFmZEB0aS5jb20+Cj4+ICAgKglHcnplZ29yeiBKYXN6Y3p5ayA8Z3J6ZWdv cnouamFzemN6eWtAbGluYXJvLm9yZz4gZm9yIFRleGFzIEluc3RydW1lbnRzCj4+ICsgKglQdXJh bmpheSBNb2hhbiA8cC1tb2hhbkB0aS5jb20+Cj4+ICsgKglNZCBEYW5pc2ggQW53YXIgPGRhbmlz aGFud2FyQHRpLmNvbT4KPj4gICAqLwo+PiAgCj4+ICAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+ Cj4+IEBAIC0xNiw2ICsxOCw3IEBACj4+ICAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4+ICAj aW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4+ICAjaW5jbHVkZSA8bGludXgvb2ZfaXJxLmg+ Cj4+ICsjaW5jbHVkZSA8bGludXgvcHJ1c3MuaD4KPj4gICNpbmNsdWRlIDxsaW51eC9wcnVzc19k cml2ZXIuaD4KPj4gICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9jLmg+Cj4+ICAKPj4gQEAgLTEx MSw2ICsxMTQsOCBAQCBzdHJ1Y3QgcHJ1X3ByaXZhdGVfZGF0YSB7Cj4+ICAgKiBAcnByb2M6IHJl bW90ZXByb2MgcG9pbnRlciBmb3IgdGhpcyBQUlUgY29yZQo+PiAgICogQGRhdGE6IFBSVSBjb3Jl IHNwZWNpZmljIGRhdGEKPj4gICAqIEBtZW1fcmVnaW9uczogZGF0YSBmb3IgZWFjaCBvZiB0aGUg UFJVIG1lbW9yeSByZWdpb25zCj4+ICsgKiBAY2xpZW50X25wOiBjbGllbnQgZGV2aWNlIG5vZGUK Pj4gKyAqIEBsb2NrOiBtdXRleCB0byBwcm90ZWN0IGNsaWVudCB1c2FnZQo+PiAgICogQGZ3X25h bWU6IG5hbWUgb2YgZmlybXdhcmUgaW1hZ2UgdXNlZCBkdXJpbmcgbG9hZGluZwo+PiAgICogQG1h cHBlZF9pcnE6IHZpcnR1YWwgaW50ZXJydXB0IG51bWJlcnMgb2YgY3JlYXRlZCBmdyBzcGVjaWZp YyBtYXBwaW5nCj4+ICAgKiBAcHJ1X2ludGVycnVwdF9tYXA6IHBvaW50ZXIgdG8gaW50ZXJydXB0 IG1hcHBpbmcgZGVzY3JpcHRpb24gKGZpcm13YXJlKQo+PiBAQCAtMTI2LDYgKzEzMSw4IEBAIHN0 cnVjdCBwcnVfcnByb2Mgewo+PiAgCXN0cnVjdCBycHJvYyAqcnByb2M7Cj4+ICAJY29uc3Qgc3Ry dWN0IHBydV9wcml2YXRlX2RhdGEgKmRhdGE7Cj4+ICAJc3RydWN0IHBydXNzX21lbV9yZWdpb24g bWVtX3JlZ2lvbnNbUFJVX0lPTUVNX01BWF07Cj4+ICsJc3RydWN0IGRldmljZV9ub2RlICpjbGll bnRfbnA7Cj4+ICsJc3RydWN0IG11dGV4IGxvY2s7Cj4+ICAJY29uc3QgY2hhciAqZndfbmFtZTsK Pj4gIAl1bnNpZ25lZCBpbnQgKm1hcHBlZF9pcnE7Cj4+ICAJc3RydWN0IHBydV9pcnFfcnNjICpw cnVfaW50ZXJydXB0X21hcDsKPj4gQEAgLTE0Niw2ICsxNTMsMTI1IEBAIHZvaWQgcHJ1X2NvbnRy b2xfd3JpdGVfcmVnKHN0cnVjdCBwcnVfcnByb2MgKnBydSwgdW5zaWduZWQgaW50IHJlZywgdTMy IHZhbCkKPj4gIAl3cml0ZWxfcmVsYXhlZCh2YWwsIHBydS0+bWVtX3JlZ2lvbnNbUFJVX0lPTUVN X0NUUkxdLnZhICsgcmVnKTsKPj4gIH0KPj4gIAo+PiArc3RhdGljIHN0cnVjdCBycHJvYyAqX19w cnVfcnByb2NfZ2V0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIGludCBpbmRleCkKPj4gK3sKPj4g KwlzdHJ1Y3QgcnByb2MgKnJwcm9jOwo+PiArCXBoYW5kbGUgcnByb2NfcGhhbmRsZTsKPj4gKwlp bnQgcmV0Owo+PiArCj4+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzJfaW5kZXgobnAsICJ0 aSxwcnVzIiwgaW5kZXgsICZycHJvY19waGFuZGxlKTsKPj4gKwlpZiAocmV0KQo+PiArCQlyZXR1 cm4gRVJSX1BUUihyZXQpOwo+PiArCj4+ICsJcnByb2MgPSBycHJvY19nZXRfYnlfcGhhbmRsZShy cHJvY19waGFuZGxlKTsKPj4gKwlpZiAoIXJwcm9jKSB7Cj4+ICsJCXJldCA9IC1FUFJPQkVfREVG RVI7Cj4+ICsJCWdvdG8gZXJyX25vX3Jwcm9jX2hhbmRsZTsKPj4gKwl9Cj4+ICsKPj4gKwkvKiBt YWtlIHN1cmUgaXQgaXMgUFJVIHJwcm9jICovCj4+ICsJaWYgKCFpc19wcnVfcnByb2MocnByb2Mt PmRldi5wYXJlbnQpKSB7Cj4+ICsJCXJwcm9jX3B1dChycHJvYyk7Cj4+ICsJCXJldHVybiBFUlJf UFRSKC1FTk9ERVYpOwo+PiArCX0KPj4gKwo+PiArCXJldHVybiBycHJvYzsKPj4gKwo+PiArZXJy X25vX3Jwcm9jX2hhbmRsZToKPj4gKwlycHJvY19wdXQocnByb2MpOwo+PiArCXJldHVybiBFUlJf UFRSKHJldCk7Cj4+ICt9Cj4+ICsKPj4gKy8qKgo+PiArICogcHJ1X3Jwcm9jX2dldCgpIC0gZ2V0 IHRoZSBQUlUgcnByb2MgaW5zdGFuY2UgZnJvbSBhIGRldmljZSBub2RlCj4+ICsgKiBAbnA6IHRo ZSB1c2VyL2NsaWVudCBkZXZpY2Ugbm9kZQo+PiArICogQGluZGV4OiBpbmRleCB0byB1c2UgZm9y IHRoZSB0aSxwcnVzIHByb3BlcnR5Cj4+ICsgKiBAcHJ1X2lkOiBvcHRpb25hbCBwb2ludGVyIHRv IHJldHVybiB0aGUgUFJVIHJlbW90ZXByb2MgcHJvY2Vzc29yIGlkCj4+ICsgKgo+PiArICogVGhp cyBmdW5jdGlvbiBsb29rcyB0aHJvdWdoIGEgY2xpZW50IGRldmljZSBub2RlJ3MgInRpLHBydXMi IHByb3BlcnR5IGF0Cj4+ICsgKiBpbmRleCBAaW5kZXggYW5kIHJldHVybnMgdGhlIHJwcm9jIGhh bmRsZSBmb3IgYSB2YWxpZCBQUlUgcmVtb3RlIHByb2Nlc3NvciBpZgo+PiArICogZm91bmQuIFRo ZSBmdW5jdGlvbiBhbGxvd3Mgb25seSBvbmUgdXNlciB0byBvd24gdGhlIFBSVSBycHJvYyByZXNv dXJjZSBhdCBhCj4+ICsgKiB0aW1lLiBDYWxsZXIgbXVzdCBjYWxsIHBydV9ycHJvY19wdXQoKSB3 aGVuIGRvbmUgd2l0aCB1c2luZyB0aGUgcnByb2MsIG5vdAo+PiArICogcmVxdWlyZWQgaWYgdGhl IGZ1bmN0aW9uIHJldHVybnMgYSBmYWlsdXJlLgo+PiArICoKPj4gKyAqIFdoZW4gb3B0aW9uYWwg QHBydV9pZCBwb2ludGVyIGlzIHBhc3NlZCB0aGUgUFJVIHJlbW90ZXByb2MgcHJvY2Vzc29yIGlk IGlzCj4+ICsgKiByZXR1cm5lZC4KPj4gKyAqCj4+ICsgKiBSZXR1cm46IHJwcm9jIGhhbmRsZSBv biBzdWNjZXNzLCBhbmQgYW4gRVJSX1BUUiBvbiBmYWlsdXJlIHVzaW5nIG9uZQo+PiArICogb2Yg dGhlIGZvbGxvd2luZyBlcnJvciB2YWx1ZXMKPj4gKyAqICAgIC1FTk9ERVYgaWYgZGV2aWNlIGlz IG5vdCBmb3VuZAo+PiArICogICAgLUVCVVNZIGlmIFBSVSBpcyBhbHJlYWR5IGFjcXVpcmVkIGJ5 IGFueW9uZQo+PiArICogICAgLUVQUk9CRV9ERUZFUiBpcyBQUlUgZGV2aWNlIGlzIG5vdCBwcm9i ZWQgeWV0Cj4+ICsgKi8KPj4gK3N0cnVjdCBycHJvYyAqcHJ1X3Jwcm9jX2dldChzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wLCBpbnQgaW5kZXgsCj4+ICsJCQkgICAgZW51bSBwcnVzc19wcnVfaWQgKnBy dV9pZCkKPj4gK3sKPj4gKwlzdHJ1Y3QgcnByb2MgKnJwcm9jOwo+PiArCXN0cnVjdCBwcnVfcnBy b2MgKnBydTsKPj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4+ICsJaW50IHJldDsKPj4gKwo+PiAr CXJwcm9jID0gX19wcnVfcnByb2NfZ2V0KG5wLCBpbmRleCk7Cj4+ICsJaWYgKElTX0VSUihycHJv YykpCj4+ICsJCXJldHVybiBycHJvYzsKPj4gKwo+PiArCXBydSA9IHJwcm9jLT5wcml2Owo+PiAr CWRldiA9ICZycHJvYy0+ZGV2Owo+PiArCj4+ICsJbXV0ZXhfbG9jaygmcHJ1LT5sb2NrKTsKPj4g Kwo+PiArCWlmIChwcnUtPmNsaWVudF9ucCkgewo+PiArCQltdXRleF91bmxvY2soJnBydS0+bG9j ayk7Cj4+ICsJCXB1dF9kZXZpY2UoZGV2KTsKPj4gKwkJcmV0ID0gLUVCVVNZOwo+PiArCQlnb3Rv IGVycl9ub19ycHJvY19oYW5kbGU7Cj4+ICsJfQo+PiArCj4+ICsJcHJ1LT5jbGllbnRfbnAgPSBu cDsKPj4gKwo+PiArCW11dGV4X3VubG9jaygmcHJ1LT5sb2NrKTsKPj4gKwo+PiArCWlmIChwcnVf aWQpCj4+ICsJCSpwcnVfaWQgPSBwcnUtPmlkOwo+PiArCj4+ICsJcmV0dXJuIHJwcm9jOwo+PiAr Cj4+ICtlcnJfbm9fcnByb2NfaGFuZGxlOgo+PiArCXJwcm9jX3B1dChycHJvYyk7Cj4+ICsJcmV0 dXJuIEVSUl9QVFIocmV0KTsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0xfR1BMKHBydV9ycHJvY19n ZXQpOwo+PiArCj4+ICsvKioKPj4gKyAqIHBydV9ycHJvY19wdXQoKSAtIHJlbGVhc2UgdGhlIFBS VSBycHJvYyByZXNvdXJjZQo+PiArICogQHJwcm9jOiB0aGUgcnByb2MgcmVzb3VyY2UgdG8gcmVs ZWFzZQo+PiArICoKPj4gKyAqIFJlbGVhc2VzIHRoZSBQUlUgcnByb2MgcmVzb3VyY2UgYW5kIG1h a2VzIGl0IGF2YWlsYWJsZSB0byBvdGhlcgo+PiArICogdXNlcnMuCj4+ICsgKi8KPj4gK3ZvaWQg cHJ1X3Jwcm9jX3B1dChzdHJ1Y3QgcnByb2MgKnJwcm9jKQo+PiArewo+PiArCXN0cnVjdCBwcnVf cnByb2MgKnBydTsKPj4gKwo+PiArCWlmIChJU19FUlJfT1JfTlVMTChycHJvYykgfHwgIWlzX3By dV9ycHJvYyhycHJvYy0+ZGV2LnBhcmVudCkpCj4+ICsJCXJldHVybjsKPj4gKwo+PiArCXBydSA9 IHJwcm9jLT5wcml2Owo+PiArCj4+ICsJbXV0ZXhfbG9jaygmcHJ1LT5sb2NrKTsKPj4gKwo+PiAr CWlmICghcHJ1LT5jbGllbnRfbnApIHsKPj4gKwkJbXV0ZXhfdW5sb2NrKCZwcnUtPmxvY2spOwo+ PiArCQlyZXR1cm47Cj4+ICsJfQo+PiArCj4+ICsJcHJ1LT5jbGllbnRfbnAgPSBOVUxMOwo+PiAr CW11dGV4X3VubG9jaygmcHJ1LT5sb2NrKTsKPj4gKwo+PiArCXJwcm9jX3B1dChycHJvYyk7Cj4+ ICt9Cj4+ICtFWFBPUlRfU1lNQk9MX0dQTChwcnVfcnByb2NfcHV0KTsKPj4gKwo+PiAgc3RhdGlj IGlubGluZSB1MzIgcHJ1X2RlYnVnX3JlYWRfcmVnKHN0cnVjdCBwcnVfcnByb2MgKnBydSwgdW5z aWduZWQgaW50IHJlZykKPj4gIHsKPj4gIAlyZXR1cm4gcmVhZGxfcmVsYXhlZChwcnUtPm1lbV9y ZWdpb25zW1BSVV9JT01FTV9ERUJVR10udmEgKyByZWcpOwo+PiBAQCAtODE2LDYgKzk0Miw4IEBA IHN0YXRpYyBpbnQgcHJ1X3Jwcm9jX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4+ICAJcHJ1LT5wcnVzcyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBwZGV2KTsKPj4gIAlwcnUt PnJwcm9jID0gcnByb2M7Cj4+ICAJcHJ1LT5md19uYW1lID0gZndfbmFtZTsKPj4gKwlwcnUtPmNs aWVudF9ucCA9IE5VTEw7Cj4+ICsJbXV0ZXhfaW5pdCgmcHJ1LT5sb2NrKTsKPj4gIAo+PiAgCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG1lbV9uYW1lcyk7IGkrKykgewo+PiAgCQlyZXMgPSBw bGF0Zm9ybV9nZXRfcmVzb3VyY2VfYnluYW1lKHBkZXYsIElPUkVTT1VSQ0VfTUVNLAo+PiBAQCAt OTA0LDcgKzEwMzIsNyBAQCBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBwcnVfcnByb2NfbWF0Y2gp Owo+PiAgCj4+ICBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBwcnVfcnByb2NfZHJpdmVy ID0gewo+PiAgCS5kcml2ZXIgPSB7Cj4+IC0JCS5uYW1lICAgPSAicHJ1LXJwcm9jIiwKPj4gKwkJ Lm5hbWUgICA9IFBSVV9SUFJPQ19EUlZOQU1FLAo+PiAgCQkub2ZfbWF0Y2hfdGFibGUgPSBwcnVf cnByb2NfbWF0Y2gsCj4+ICAJCS5zdXBwcmVzc19iaW5kX2F0dHJzID0gdHJ1ZSwKPj4gIAl9LAo+ PiBAQCAtOTE2LDUgKzEwNDQsNyBAQCBtb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHBydV9ycHJvY19k cml2ZXIpOwo+PiAgTU9EVUxFX0FVVEhPUigiU3VtYW4gQW5uYSA8cy1hbm5hQHRpLmNvbT4iKTsK Pj4gIE1PRFVMRV9BVVRIT1IoIkFuZHJldyBGLiBEYXZpcyA8YWZkQHRpLmNvbT4iKTsKPj4gIE1P RFVMRV9BVVRIT1IoIkdyemVnb3J6IEphc3pjenlrIDxncnplZ29yei5qYXN6Y3p5a0BsaW5hcm8u b3JnPiIpOwo+PiArTU9EVUxFX0FVVEhPUigiUHVyYW5qYXkgTW9oYW4gPHAtbW9oYW5AdGkuY29t PiIpOwo+PiArTU9EVUxFX0FVVEhPUigiTWQgRGFuaXNoIEFud2FyIDxkYW5pc2hhbndhckB0aS5j b20+Iik7Cj4+ICBNT0RVTEVfREVTQ1JJUFRJT04oIlBSVS1JQ1NTIFJlbW90ZSBQcm9jZXNzb3Ig RHJpdmVyIik7Cj4+ICBNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7Cj4+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L3BydXNzLmggYi9pbmNsdWRlL2xpbnV4L3BydXNzLmgKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi40OTA5MjI2ZjE0YTkKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9pbmNsdWRlL2xpbnV4L3BydXNzLmgKPj4gQEAgLTAsMCArMSw0NyBA QAo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwo+PiArLyoq Cj4+ICsgKiBQUlUtSUNTUyBTdWJzeXN0ZW0gdXNlciBpbnRlcmZhY2VzCj4+ICsgKgo+PiArICog Q29weXJpZ2h0IChDKSAyMDE1LTIwMjIgVGV4YXMgSW5zdHJ1bWVudHMgSW5jb3Jwb3JhdGVkIC0g aHR0cDovL3d3dy50aS5jb20KPj4gKyAqCVN1bWFuIEFubmEgPHMtYW5uYUB0aS5jb20+Cj4+ICsg Ki8KPj4gKwo+PiArI2lmbmRlZiBfX0xJTlVYX1BSVVNTX0gKPj4gKyNkZWZpbmUgX19MSU5VWF9Q UlVTU19ICj4+ICsKPj4gKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPj4gKyNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgo+PiArCj4+ICsjZGVmaW5lIFBSVV9SUFJPQ19EUlZOQU1FICJwcnUtcnBy b2MiCj4+ICsKPj4gK3N0cnVjdCBkZXZpY2Vfbm9kZTsKPj4gKwo+PiArI2lmIElTX0VOQUJMRUQo Q09ORklHX1BSVV9SRU1PVEVQUk9DKQo+PiArCj4+ICtzdHJ1Y3QgcnByb2MgKnBydV9ycHJvY19n ZXQoc3RydWN0IGRldmljZV9ub2RlICpucCwgaW50IGluZGV4LAo+PiArCQkJICAgIGVudW0gcHJ1 c3NfcHJ1X2lkICpwcnVfaWQpOwo+IAo+IERpZCB5b3UgcmVhbGx5IHNlbmQgbWUgY29kZSB0aGF0 IGRvZXNuJ3QgY29tcGlsZT8gIEl0IHN1cmUgbG9va3MgdGhhdCB3YXkuLi4gCj4gCgpQcmV2aW91 c2x5IHBhdGNoIDIvNiBhbmQgcGF0Y2ggMy82IG9mIHRoaXMgc2VyaWVzIHdlcmUgcGFydCBvZiB0 aGUgc2FtZSBwYXRjaC4KSW4gdGhlIHByZXZpb3VzIHZlcnNpb24gUm9nZXIgYXNrZWQgdG8gaW50 cm9kdWNlIHRoZSBwcnVzc19wcnVfaWQgZW51bSBpbiBhCnNlcGFyYXRlIHBhdGNoLiBTbyBJIHNw bGl0IHRoZSBvbGRlciBwYXRjaCAyLzYgaW50byB0d28gcGFydHMgKCAiQWRkIEFQSXMgdG8KZ2V0 IGFuZCBwdXQgdGhlIFBSVSBjb3JlcyIgYW5kICJBZGQgZW51bSBmb3IgUFJVIENvcmUgSWRlbnRp ZmllcnMiKS4KCkkgbWFkZSB0aGUgbmV3IHBhdGNoIGFzIDNyZCBwYXRjaCBhbmQga2VwdCB0aGlz IHBhdGNoIGFzIHNlY29uZCBwYXJ0IG9mIHRoZQpzZXJpZXMuIEkgY29tcGlsZWQgYWxsIHRoZSBw YXRjaGVzIHRvZ2V0aGVyIGFuZCBpdCB3YXMgZ2V0dGluZyBjb21waWxlZCBwcm9wZXJseS4KClRo ZXJlIHNlZW1zIHRvIGJlIG9yZGVyaW5nIGlzc3VlLCB0aGUgY3VycmVudCBwYXRjaCAoW1BBVENI IHY5IDIvNl0gcmVtb3RlcHJvYzoKcHJ1OiBBZGQgQVBJcyB0byBnZXQgYW5kIHB1dCB0aGUgUFJV IGNvcmVzICBkZXBlbmRzIG9uIHRoZSBuZXcgcGF0Y2ggKFtQQVRDSCB2OQozLzZdIHJlbW90ZXBy b2M6IHBydTogQWRkIGVudW0gZm9yIFBSVSBDb3JlIElkZW50aWZpZXJzKS4gSSBzaG91bGQgaGF2 ZSBhZGRlZAp0aGUgY3VycmVudCBwYXRjaCBhZnRlciB0aGUgZW51bSBpbnRyb2R1Y3Rpb24gcGF0 Y2guIEJ1dCBteSBiYWQsIEkgYWRkZWQgdGhlbQp0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCkkgZGlk bid0IGNvbXBpbGUgcGF0Y2hlcyBpbmRpdmlkdWFsbHkuIEkgY29tcGlsZWQgYWxsIDYgb2YgdGhl bSB0b2dldGhlciBhbmQKdGhleSBnb3QgY29tcGlsZWQuIEknbGwgcmVvcmRlciB0aGUgcGF0Y2hl cyBhbmQgbWFrZSBzdXJlIGVhY2ggcGF0Y2ggY29tcGlsZXMKcHJvcGVybHkuCgpUaGFua3MsCkRh bmlzaC4KCj4gCj4gICBDQyAgICAgIGRyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2Mubwo+IElu IGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVs LXJldmlldy9kcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9jLmM6MjE6Cj4gL2hvbWUvbXBvaXJp ZXIvd29yay9yZW1vdGVwcm9jL2tlcm5lbC1yZXZpZXcvaW5jbHVkZS9saW51eC9wcnVzcy5oOjIy OjEzOiB3YXJuaW5nOiDigJhlbnVtIHBydXNzX3BydV9pZOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFy YW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlv biBvciBkZWNsYXJhdGlvbgo+ICAgIDIyIHwgICAgICAgIGVudW0gcHJ1c3NfcHJ1X2lkICpwcnVf aWQpOwo+ICAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Cj4gL2hvbWUvbXBvaXJpZXIv d29yay9yZW1vdGVwcm9jL2tlcm5lbC1yZXZpZXcvZHJpdmVycy9yZW1vdGVwcm9jL3BydV9ycHJv Yy5jOjIwNzoxMzogd2FybmluZzog4oCYZW51bSBwcnVzc19wcnVfaWTigJkgZGVjbGFyZWQgaW5z aWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24KPiAgIDIwNyB8ICAgICAgICBlbnVtIHBydXNzX3BydV9p ZCAqcHJ1X2lkKQo+ICAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Cj4gL2hvbWUvbXBv aXJpZXIvd29yay9yZW1vdGVwcm9jL2tlcm5lbC1yZXZpZXcvZHJpdmVycy9yZW1vdGVwcm9jL3By dV9ycHJvYy5jOjIwNjoxNTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhwcnVfcnBy b2NfZ2V04oCZCj4gICAyMDYgfCBzdHJ1Y3QgcnByb2MgKnBydV9ycHJvY19nZXQoc3RydWN0IGRl dmljZV9ub2RlICpucCwgaW50IGluZGV4LAo+ICAgICAgIHwgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+Cj4gSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL21wb2lyaWVyL3dvcmsvcmVtb3Rl cHJvYy9rZXJuZWwtcmV2aWV3L2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYzoyMToKPiAv aG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVsLXJldmlldy9pbmNsdWRlL2xpbnV4 L3BydXNzLmg6MjE6MTU6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmHBydV9ycHJv Y19nZXTigJkgd2FzIGhlcmUKPiAgICAyMSB8IHN0cnVjdCBycHJvYyAqcHJ1X3Jwcm9jX2dldChz dHJ1Y3QgZGV2aWNlX25vZGUgKm5wLCBpbnQgaW5kZXgsCj4gICAgICAgfCAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn4KPiAvaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVsLXJl dmlldy9kcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9jLmM6IEluIGZ1bmN0aW9uIOKAmHBydV9y cHJvY19nZXTigJk6Cj4gL2hvbWUvbXBvaXJpZXIvd29yay9yZW1vdGVwcm9jL2tlcm5lbC1yZXZp ZXcvZHJpdmVycy9yZW1vdGVwcm9jL3BydV9ycHJvYy5jOjIzNTozOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhlbnVtIHBydXNzX3BydV9pZOKAmQo+ ICAgMjM1IHwgICAqcHJ1X2lkID0gcHJ1LT5pZDsKPiAgICAgICB8ICAgXn5+fn5+fgo+IEluIGZp bGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVsLXJl dmlldy9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaDo3LAo+ICAgICAgICAgICAgICAgICAgZnJvbSAv aG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVsLXJldmlldy9pbmNsdWRlL2xpbnV4 L2ZzLmg6NSwKPiAgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvbXBvaXJpZXIvd29yay9yZW1v dGVwcm9jL2tlcm5lbC1yZXZpZXcvaW5jbHVkZS9saW51eC9kZWJ1Z2ZzLmg6MTUsCj4gICAgICAg ICAgICAgICAgICBmcm9tIC9ob21lL21wb2lyaWVyL3dvcmsvcmVtb3RlcHJvYy9rZXJuZWwtcmV2 aWV3L2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYzoxNjoKPiAvaG9tZS9tcG9pcmllci93 b3JrL3JlbW90ZXByb2Mva2VybmVsLXJldmlldy9kcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9j LmM6IEF0IHRvcCBsZXZlbDoKPiAvaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVs LXJldmlldy9kcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9jLmM6MjQzOjE5OiBlcnJvcjogY29u ZmxpY3RpbmcgdHlwZXMgZm9yIOKAmHBydV9ycHJvY19nZXTigJkKPiAgIDI0MyB8IEVYUE9SVF9T WU1CT0xfR1BMKHBydV9ycHJvY19nZXQpOwo+IAo+PiArdm9pZCBwcnVfcnByb2NfcHV0KHN0cnVj dCBycHJvYyAqcnByb2MpOwo+PiArCj4+ICsjZWxzZQo+PiArCj4+ICtzdGF0aWMgaW5saW5lIHN0 cnVjdCBycHJvYyAqCj4+ICtwcnVfcnByb2NfZ2V0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIGlu dCBpbmRleCwgZW51bSBwcnVzc19wcnVfaWQgKnBydV9pZCkKPj4gK3sKPj4gKwlyZXR1cm4gRVJS X1BUUigtRU9QTk9UU1VQUCk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBwcnVf cnByb2NfcHV0KHN0cnVjdCBycHJvYyAqcnByb2MpIHsgfQo+PiArCj4+ICsjZW5kaWYgLyogQ09O RklHX1BSVV9SRU1PVEVQUk9DICovCj4+ICsKPj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBpc19wcnVf cnByb2Moc3RydWN0IGRldmljZSAqZGV2KQo+PiArewo+PiArCWNvbnN0IGNoYXIgKmRydl9uYW1l ID0gZGV2X2RyaXZlcl9zdHJpbmcoZGV2KTsKPj4gKwo+PiArCWlmIChzdHJuY21wKGRydl9uYW1l LCBQUlVfUlBST0NfRFJWTkFNRSwgc2l6ZW9mKFBSVV9SUFJPQ19EUlZOQU1FKSkpCj4+ICsJCXJl dHVybiBmYWxzZTsKPj4gKwo+PiArCXJldHVybiB0cnVlOwo+PiArfQo+PiArCj4+ICsjZW5kaWYg LyogX19MSU5VWF9QUlVTU19IICovCj4+IC0tIAo+PiAyLjI1LjEKPj4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK