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 69113C4332F for ; Tue, 14 Nov 2023 10:21:21 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:References:CC:To:From: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=dYH/EKoS6z3nXnUgnmLwoq1jnKbjRe/TV7YbucghmhU=; b=qbr08X1t+zcjeA xaxaps4AKM2nDYHCvibKgKke2GYVm24otjIbsCvnrdM//ruF47Qi5SD1TET3GDs4O9J8qxl+zeXll egznow5hUTMC45vu085gQt0GzlTtgQJ6dJs79UDJ56UJMmF3aUchBOZANMTZ+2xnV7nNkBQncuka7 +T+DwqEb71/4GPStOFwYxAz2i5el2CuEi607kXM045yzZvzwruxCVeKtN1EJL2tlg/vlisN0PiCu5 EuTzKBwa59Snr0t2JKa3WKR29shheDVBGLqwyScW+c0T8wNRFBKefUDXlIbQGNNkcc9Wgf+noI82O DCX9iLP7G0Qpr3S5AIJw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r2qXM-00FZbv-1d; Tue, 14 Nov 2023 10:20:52 +0000 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r2qXJ-00FZbB-11 for linux-arm-kernel@lists.infradead.org; Tue, 14 Nov 2023 10:20:51 +0000 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AE9rv35011818; Tue, 14 Nov 2023 10:20:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=message-id : date : mime-version : subject : from : to : cc : references : in-reply-to : content-type : content-transfer-encoding; s=qcppdkim1; bh=3zTC19EFKQKE61sJzUZb97ngfh32j2pj5owHzT7XlW4=; b=Y2ZS+vVPkWq+tKhHpPP/qKduMnMAf/o96Qy80uLariRVvknDDNPK1d6WtMUyoRO9zeuJ 7V6fsxLzLq54w1WoO0HWc9zm9grwinVulj/4DnDyUtrxbNcd/NhGpAG9Ks7eI0AUdeKt waxDLqlYntiJZJ1cQsORpnw3J4XARs3mozBilsFYV25UgLRQPlorZ9+sib3Uv4LSjJaQ +skBz6mIcZRmV0n8m2MEsQoshWOB2MelK1sIbsgUCT8EffmM5q/EOwFgl/HHi+QTwDlf i8jO31IxxX3KcPoKFftVz0G09T9m6bFKhyiudM8afMzqgV+XtTCK5myO6LPJ/7W85UeF Uw== Received: from nasanppmta01.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3uc6nug1nx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 Nov 2023 10:20:34 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3AEAKYMZ020162 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 Nov 2023 10:20:34 GMT Received: from [10.214.66.253] (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.39; Tue, 14 Nov 2023 02:20:29 -0800 Message-ID: <3e1e38ed-8e5f-455e-8ab9-e5be2fb9a493@quicinc.com> Date: Tue, 14 Nov 2023 15:50:20 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/3] iommu/arm-smmu: introduction of ACTLR for custom prefetcher settings Content-Language: en-US From: Bibek Kumar Patro To: Dmitry Baryshkov CC: , , , , , , , , , , , References: <20231103215124.1095-1-quic_bibekkum@quicinc.com> <20231103215124.1095-2-quic_bibekkum@quicinc.com> <212c4f7f-4b22-4e21-9848-906bbfd69f0e@quicinc.com> In-Reply-To: <212c4f7f-4b22-4e21-9848-906bbfd69f0e@quicinc.com> X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: VVuJ5AdpFlGsHBPf2yNjt_tsDeTFAchC X-Proofpoint-GUID: VVuJ5AdpFlGsHBPf2yNjt_tsDeTFAchC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-14_09,2023-11-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 clxscore=1015 malwarescore=0 mlxlogscore=999 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311140081 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231114_022049_406868_4F0A6474 X-CRM114-Status: GOOD ( 29.71 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAxMS82LzIwMjMgMTE6NDIgQU0sIEJpYmVrIEt1bWFyIFBhdHJvIHdyb3RlOgo+IAo+IAo+ IE9uIDExLzQvMjAyMyAzOjMzIEFNLCBEbWl0cnkgQmFyeXNoa292IHdyb3RlOgo+PiBPbiBGcmks IDMgTm92IDIwMjMgYXQgMjM6NTMsIEJpYmVrIEt1bWFyIFBhdHJvCj4+IDxxdWljX2JpYmVra3Vt QHF1aWNpbmMuY29tPiB3cm90ZToKPj4+Cj4+PiBDdXJyZW50bHkgaW4gUXVhbGNvbW3CoCBTb0Nz IHRoZSBkZWZhdWx0IHByZWZldGNoIGlzIHNldCB0byAxIHdoaWNoIAo+Pj4gYWxsb3dzCj4+PiB0 aGUgVExCIHRvIGZldGNoIGp1c3QgdGhlIG5leHQgcGFnZSB0YWJsZS4gTU1VLTUwMCBmZWF0dXJl cyBBQ1RMUgo+Pj4gcmVnaXN0ZXIgd2hpY2ggaXMgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBhbmQg aXMgdXNlZCBmb3IgUXVhbGNvbW0gU29Dcwo+Pj4gdG8gaGF2ZSBhIHByZWZldGNoIHNldHRpbmcg b2YgMS8zLzcvMTUgZW5hYmxpbmcgVExCIHRvIHByZWZldGNoCj4+PiB0aGUgbmV4dCBzZXQgb2Yg cGFnZSB0YWJsZXMgYWNjb3JkaW5nbHkgYWxsb3dpbmcgZm9yIGZhc3RlciAKPj4+IHRyYW5zbGF0 aW9ucy4KPj4+Cj4+PiBBQ1RMUiB2YWx1ZSBpcyB1bmlxdWUgZm9yIGVhY2ggU01SIChTdHJlYW0g bWF0Y2hpbmcgcmVnaXN0ZXIpIGFuZCBzdG9yZWQKPj4+IGluIGEgcHJlLXBvcHVsYXRlZCB0YWJs ZS4gVGhpcyB2YWx1ZSBpcyBzZXQgdG8gdGhlIHJlZ2lzdGVyIGR1cmluZwo+Pj4gY29udGV4dCBi YW5rIGluaXRpYWxpc2F0aW9uLgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IEJpYmVrIEt1bWFyIFBh dHJvIDxxdWljX2JpYmVra3VtQHF1aWNpbmMuY29tPgo+Pj4gLS0tCj4+PiDCoCBkcml2ZXJzL2lv bW11L2FybS9hcm0tc21tdS9hcm0tc21tdS1xY29tLmMgfCAzNCArKysrKysrKysrKysrKysrKysr KysrCj4+PiDCoCBkcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS9hcm0tc21tdS1xY29tLmggfMKg IDIgKysKPj4+IMKgIGRyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11LmPCoMKgwqDC oMKgIHzCoCA1ICsrLS0KPj4+IMKgIGRyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11 LmjCoMKgwqDCoMKgIHzCoCA1ICsrKysKPj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21t dS9hcm0vYXJtLXNtbXUvYXJtLXNtbXUtcWNvbS5jIAo+Pj4gYi9kcml2ZXJzL2lvbW11L2FybS9h cm0tc21tdS9hcm0tc21tdS1xY29tLmMKPj4+IGluZGV4IGFlN2NhZTAxNTE5My4uNjhjMWY0OTA4 NDczIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUvYXJtLXNtbXUt cWNvbS5jCj4+PiArKysgYi9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS9hcm0tc21tdS1xY29t LmMKPj4+IEBAIC0xNCw2ICsxNCwxNyBAQAo+Pj4KPj4+IMKgICNkZWZpbmUgUUNPTV9EVU1NWV9W QUwgLTEKPj4+Cj4+PiArc3RydWN0IGFjdGxyX2NvbmZpZyB7Cj4+PiArwqDCoMKgwqDCoMKgIGNv bnN0IHN0cnVjdCBhY3Rscl9kYXRhICphZGF0YTsKPj4+ICvCoMKgwqDCoMKgwqAgdTMyIHNpemU7 Cj4+Cj4+IFRoaXMgc2hvdWxkIGJlIHNpemVfdC4KPj4KPj4gQWxzbyBjb3VsZCB5b3UgcGxlYXNl IGRyb3AgdGhlIHNlcGFyYXRlIHN0cnVjdCBhY3Rscl9jb25maWcgYW5kIG1vdmUKPj4gdGhlc2Ug dHdvIGZpZWxkcyBpbnRvIHN0cnVjdCBxY29tX3NtbXVfY29uZmlnLgo+Pgo+IAo+IEFjaywgd2ls bCBhZGRyZXNzIGJvdGggdGhlc2UgaW5wdXRzIGluIHRoZSBuZXh0IHBhdGNoLgo+IAoKRGltaXRy eSwgVHJpZWQgbW92aW5nIGJvdGggZmllbGRzIHRvIHFjb21fc21tdV9jb25maWcgYnV0IHNpbmNl CmFjdGxyX2RhdGEgbmVlZCB0byBiZSBhIHBvaW50ZXIgdG8gYXJyYXkgYW5kIG5vdCBzY2FsYXIs IHNpemUgbmVlZHMKdG8gYmUgY2FsY3VsYXRlZCBkeW5hbWljYWxseSBmb3IgZWFjaCBTb0MgZGF0 YSBpbiBhIGxvb3Agd2hpY2ggaXMgCmRvYWJsZS5CdXQgcmVhZGlseSBhdmFpbGFibGUgaW1wbGVt ZW50YXRpb25zIGxpa2UgQVJSQVlfU0laRSBjYW5ub3QgYmUgCnVzZWQsIHNvIEkgdGhpbmsgdGhp cyBleHRyYSBzdHJ1Y3QgaW5kaXJlY3Rpb24gb2YgYWN0bHJfY29uZmlnIHdvdWxkIGJlIApiZW5l ZmljaWFsLgpTb21lIGRyaXZlcnMgbGlrZSBsbGNjIChkcml2ZXJzL3NvYy9xY29tL2xsY2MtcWNv bS5jKSBpcyBhbHNvIHVzaW5nCnNpbWlsYXIgaW1wbGVtZW50YXRpb24sIEkgYmVsaWV2ZSBmb3Ig dGhlIHNhbWUgcmVhc29uLgoKcmVnYXJkcywKQmliZWsKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0cnVj dCBhY3Rscl9kYXRhIHsKPj4+ICvCoMKgwqDCoMKgwqAgdTE2IHNpZDsKPj4+ICvCoMKgwqDCoMKg wqAgdTE2IG1hc2s7Cj4+PiArwqDCoMKgwqDCoMKgIHUzMiBhY3RscjsKPj4+ICt9Owo+Pj4gKwo+ Pj4gwqAgc3RhdGljIHN0cnVjdCBxY29tX3NtbXUgKnRvX3Fjb21fc21tdShzdHJ1Y3QgYXJtX3Nt bXVfZGV2aWNlICpzbW11KQo+Pj4gwqAgewo+Pj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gY29u dGFpbmVyX29mKHNtbXUsIHN0cnVjdCBxY29tX3NtbXUsIHNtbXUpOwo+Pj4gQEAgLTI3MCw2ICsy ODEsMjYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgCj4+PiBxY29tX3NtbXVf Y2xpZW50X29mX21hdGNoW10gX19tYXliZV91bnVzZWQgPSB7Cj4+PiDCoCBzdGF0aWMgaW50IHFj b21fc21tdV9pbml0X2NvbnRleHQoc3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4s Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaW9fcGd0YWJsZV9j ZmcgKnBndGJsX2NmZywgc3RydWN0IGRldmljZSAqZGV2KQo+Pj4gwqAgewo+Pj4gK8KgwqDCoMKg wqDCoCBzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11ID0gc21tdV9kb21haW4tPnNtbXU7Cj4+ PiArwqDCoMKgwqDCoMKgIHN0cnVjdCBxY29tX3NtbXUgKnFzbW11ID0gdG9fcWNvbV9zbW11KHNt bXUpOwo+Pj4gK8KgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgYWN0bHJfY29uZmlnICphY3RscmNm ZzsKPj4+ICvCoMKgwqDCoMKgwqAgc3RydWN0IGFybV9zbW11X3NtciAqc21yID0gc21tdS0+c21y czsKPj4+ICvCoMKgwqDCoMKgwqAgaW50IGlkeCA9IHNtbXVfZG9tYWluLT5jZmcuY2JuZHg7Cj4+ PiArwqDCoMKgwqDCoMKgIGludCBpOwo+Pj4gK8KgwqDCoMKgwqDCoCB1MTYgaWQ7Cj4+PiArwqDC oMKgwqDCoMKgIHUxNiBtYXNrOwo+Pj4gKwo+Pj4gK8KgwqDCoMKgwqDCoCBpZiAocXNtbXUtPmFj dGxyY2ZnKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhY3RscmNmZyA9IHFz bW11LT5hY3RscmNmZzsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvciAoaSA9 IDA7IGkgPCBhY3RscmNmZy0+c2l6ZTsgKytpKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWQgPSBhY3RscmNmZy0+YWRhdGFbaV0uc2lkOwo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1hc2sgPSBhY3Rs cmNmZy0+YWRhdGFbaV0ubWFzazsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBpZiAoIXNtcl9pc19zdWJzZXQoKnNtciwgaWQsIG1hc2spKQo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBhcm1fc21tdV9jYl93cml0ZShzbW11LCBpZHgsIAo+Pj4gQVJNX1NNTVVfQ0JfQUNUTFIsCj4+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPj4+IGFj dGxyY2ZnLT5hZGF0YVtpXS5hY3Rscik7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB9Cj4+PiArwqDCoMKgwqDCoMKgIH0KPj4KPj4gQ29uc2lkZXIgZXh0cmFjdGluZyB0aGlzIHRv IGEgc2VwYXJhdGUgZnVuY3Rpb24uIFRoaXMgd2F5IHlvdSBjYW4KPj4gcmVkdWNlIDQgaW5kZW50 YXRpb24gbGV2ZWxzIGludG8gYSBzaW5nbGUgbG9vcC4KPj4KPiAKPiBBY2ssIHRoYW5rcyBmb3Ig dGhpcyBzdWdlc3Rpb24uIFdpbGwgbW92ZSB0aGlzIGVudGlyZSBmb3IgbG9vcCBpbnRvIGEgCj4g c2VwYXJhdGUgZnVuY3Rpb24gZm9yIHNpbXBsaWNpdHkgcmVkdWNlZCBpbmRlbnQgbGV2ZWxzLgo+ IAo+Pj4gKwo+Pj4gwqDCoMKgwqDCoMKgwqDCoCBzbW11X2RvbWFpbi0+Y2ZnLmZsdXNoX3dhbGtf cHJlZmVyX3RsYmlhc2lkID0gdHJ1ZTsKPj4+Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAw Owo+Pj4gQEAgLTQ1OSw2ICs0OTAsOSBAQCBzdGF0aWMgc3RydWN0IGFybV9zbW11X2RldmljZSAK Pj4+ICpxY29tX3NtbXVfY3JlYXRlKHN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKnNtbXUsCj4+PiDC oMKgwqDCoMKgwqDCoMKgIHFzbW11LT5zbW11LmltcGwgPSBpbXBsOwo+Pj4gwqDCoMKgwqDCoMKg wqDCoCBxc21tdS0+Y2ZnID0gZGF0YS0+Y2ZnOwo+Pj4KPj4+ICvCoMKgwqDCoMKgwqAgaWYgKGRh dGEtPmFjdGxyY2ZnICYmIChkYXRhLT5hY3RscmNmZy0+c2l6ZSkpCj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBxc21tdS0+YWN0bHJjZmcgPSBkYXRhLT5hY3RscmNmZzsKPj4+ICsK Pj4+IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuICZxc21tdS0+c21tdTsKPj4+IMKgIH0KPj4+Cj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUvYXJtLXNtbXUtcWNvbS5o IAo+Pj4gYi9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS9hcm0tc21tdS1xY29tLmgKPj4+IGlu ZGV4IDU5MzkxMDU2N2I4OC4uNGI2ODYyNzE1MDcwIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9p b21tdS9hcm0vYXJtLXNtbXUvYXJtLXNtbXUtcWNvbS5oCj4+PiArKysgYi9kcml2ZXJzL2lvbW11 L2FybS9hcm0tc21tdS9hcm0tc21tdS1xY29tLmgKPj4+IEBAIC05LDYgKzksNyBAQAo+Pj4gwqAg c3RydWN0IHFjb21fc21tdSB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhcm1fc21tdV9k ZXZpY2Ugc21tdTsKPj4+IMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IHFjb21fc21tdV9j b25maWcgKmNmZzsKPj4+ICvCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFjdGxyX2NvbmZpZyAq YWN0bHJjZmc7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIGJvb2wgYnlwYXNzX3F1aXJrOwo+Pj4gwqDC oMKgwqDCoMKgwqDCoCB1OCBieXBhc3NfY2JuZHg7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIHUzMiBz dGFsbF9lbmFibGVkOwo+Pj4gQEAgLTI1LDYgKzI2LDcgQEAgc3RydWN0IHFjb21fc21tdV9jb25m aWcgewo+Pj4gwqAgfTsKPj4+Cj4+PiDCoCBzdHJ1Y3QgcWNvbV9zbW11X21hdGNoX2RhdGEgewo+ Pj4gK8KgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgYWN0bHJfY29uZmlnICphY3RscmNmZzsKPj4+ IMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IHFjb21fc21tdV9jb25maWcgKmNmZzsKPj4+ IMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFybV9zbW11X2ltcGwgKmltcGw7Cj4+PiDC oMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBhcm1fc21tdV9pbXBsICphZHJlbm9faW1wbDsK Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS9hcm0tc21tdS5jIAo+ Pj4gYi9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS9hcm0tc21tdS5jCj4+PiBpbmRleCA0Yzc5 ZWY2ZjRjNzUuLjM4YWMxY2JjNzk5YiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvaW9tbXUvYXJt L2FybS1zbW11L2FybS1zbW11LmMKPj4+ICsrKyBiL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11 L2FybS1zbW11LmMKPj4+IEBAIC05OTIsOSArOTkyLDEwIEBAIHN0YXRpYyBpbnQgYXJtX3NtbXVf ZmluZF9zbWUoc3RydWN0IAo+Pj4gYXJtX3NtbXVfZGV2aWNlICpzbW11LCB1MTYgaWQsIHUxNiBt YXNrKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGV4cGVjdCBzaW1w bHkgaWRlbnRpY2FsIGVudHJpZXMgZm9yIHRoaXMgY2FzZSwgCj4+PiBidXQgdGhlcmUncwo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIG5vIGhhcm0gaW4gYWNjb21tb2Rh dGluZyB0aGUgZ2VuZXJhbGlzYXRpb24uCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICovCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoKG1hc2sgJiBz bXJzW2ldLm1hc2spID09IG1hc2sgJiYKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgISgoaWQgXiBzbXJzW2ldLmlkKSAmIH5zbXJzW2ldLm1hc2spKQo+Pj4gKwo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHNtcl9pc19zdWJzZXQoc21yc1tpXSwg aWQsIG1hc2spKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHJldHVybiBpOwo+Pj4gKwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgLyoKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBJZiB0aGUgbmV3 IGVudHJ5IGhhcyBhbnkgb3RoZXIgb3ZlcmxhcCB3aXRoIGFuIAo+Pj4gZXhpc3Rpbmcgb25lLAo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIHRob3VnaCwgdGhlbiB0aGVy ZSBhbHdheXMgZXhpc3RzIGF0IGxlYXN0IG9uZSAKPj4+IHN0cmVhbSBJRAo+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11LmggCj4+PiBiL2RyaXZlcnMv aW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11LmgKPj4+IGluZGV4IDcwM2ZkNTgxN2VjMS4uYjE2 MzhiYmM0MWQ0IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUvYXJt LXNtbXUuaAo+Pj4gKysrIGIvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUvYXJtLXNtbXUuaAo+ Pj4gQEAgLTUwMSw2ICs1MDEsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIGFybV9zbW11X3dyaXRl cShzdHJ1Y3QgCj4+PiBhcm1fc21tdV9kZXZpY2UgKnNtbXUsIGludCBwYWdlLAo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgd3JpdGVxX3JlbGF4ZWQodmFsLCBhcm1fc21tdV9w YWdlKHNtbXUsIHBhZ2UpICsgCj4+PiBvZmZzZXQpOwo+Pj4gwqAgfQo+Pj4KPj4+ICtzdGF0aWMg aW5saW5lIGJvb2wgc21yX2lzX3N1YnNldChzdHJ1Y3QgYXJtX3NtbXVfc21yIHNtcnMsIHUxNiBp ZCwgCj4+PiB1MTYgbWFzaykKPj4+ICt7Cj4+PiArwqDCoMKgwqDCoMKgIHJldHVybiAobWFzayAm IHNtcnMubWFzaykgPT0gbWFzayAmJiAhKChpZCBeIHNtcnMuaWQpICYgCj4+PiB+c21ycy5tYXNr KTsKPj4+ICt9Cj4+PiArCj4+PiDCoCAjZGVmaW5lIEFSTV9TTU1VX0dSMMKgwqDCoMKgwqDCoMKg wqDCoMKgIDAKPj4+IMKgICNkZWZpbmUgQVJNX1NNTVVfR1IxwqDCoMKgwqDCoMKgwqDCoMKgwqAg MQo+Pj4gwqAgI2RlZmluZSBBUk1fU01NVV9DQihzLCBuKcKgwqDCoMKgwqAgKChzKS0+bnVtcGFn ZSArIChuKSkKPj4+IC0tIAo+Pj4gMi4xNy4xCj4+Pgo+Pgo+PgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=