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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 62EC9FF8869 for ; Mon, 27 Apr 2026 17:37:09 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C371B10E871; Mon, 27 Apr 2026 17:37:08 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="mOjo06sh"; dkim-atps=neutral Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 05F6810E873 for ; Mon, 27 Apr 2026 17:37:08 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 19DF9202C for ; Mon, 27 Apr 2026 10:37:02 -0700 (PDT) Received: from [10.2.11.34] (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 43C863F7B4 for ; Mon, 27 Apr 2026 10:37:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1777311427; bh=Slp18JJ0UR/Qb3SwiNd9++o2NZJSIYNeU0fMdOCpIC8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mOjo06shaZ35wB4KvY4l+O+VKa9oCx8tI+7RkdcytACRuOBUXjs9KeGu2dwRkYnMS 3e2VbWfP85c5Q0rFtJiwA2ipT2Qro3tO/ajek7u1p55EWsYiQrVc1LhFitGKHXiI86 4jxw36B0H2TioltwZtWdhlJGsd2Nbp5ndn9fKevA= Date: Mon, 27 Apr 2026 18:37:05 +0100 From: Liviu Dudau To: Karunika Choo Cc: dri-devel@lists.freedesktop.org, nd@arm.com, Boris Brezillon , Steven Price , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 6/8] drm/panthor: Use a local iomem base for PWR registers Message-ID: References: <20260427155934.416502-1-karunika.choo@arm.com> <20260427155934.416502-7-karunika.choo@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: <20260427155934.416502-7-karunika.choo@arm.com> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gTW9uLCBBcHIgMjcsIDIwMjYgYXQgMDQ6NTk6MzJQTSArMDEwMCwgS2FydW5pa2EgQ2hvbyB3 cm90ZToKPiBBZGQgYSBQV1JfQ09OVFJPTC1sb2NhbCBpb21lbSBwb2ludGVyIHRvIHN0cnVjdCBw YW50aG9yX3B3ciBhbmQgc3dpdGNoCj4gcG93ZXIgY29udHJvbGxlciByZWdpc3RlciBhY2Nlc3Nl cyB0byB0aGF0IGJhc2UuCj4gCj4gVXBkYXRlIElSUS1sb2NhbCBpb21lbSBiYXNlIHRvIHVzZSBQ V1JfQ09OVFJPbC1sb2NhbCBpb21lbSBhbmQgdXBkYXRlCj4gdGhlIHJlZ2lzdGVyIGRlZmluaXRp b25zIHNvIHRoZSBQV1IgYmxvY2sgY2FuIGJlIGFkZHJlc3NlZCByZWxhdGl2ZSB0bwo+IGl0cyBs b2NhbCBiYXNlLiBUaGlzIHJlbW92ZXMgdGhlIHJlbWFpbmluZyBkZXBlbmRlbmNlIG9uIHRoZSBn bG9iYWwKPiBkZXZpY2UgTU1JTyBtYXBwaW5nIGZvciBQV1IgcmVnaXN0ZXIgYWNjZXNzZXMuIFVw ZGF0ZQo+IHBhbnRob3JfZ3B1X2luZm9faW5pdCgpIHRvIGFsc28gdXNlIHRoZSBjb3JyZWN0IFBX Ul9DT05UUk9MIGlvbWVtIGZvcgo+IHRoZSAqX1BSRVNFTlQgcmVnaXN0ZXJzLgo+IAo+IE5vIGZ1 bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkLgo+IAo+IHYzOgo+IC0gQ2xlYW4gdXAgZGVmaW5pdGlv bnMgZm9yIHB3ci0+aW9tZW0gYW5kIHB3ci0+aXJxLmlvbWVtLgo+IC0gVXBkYXRlIFBXUl9JTlRf QkFTRSB0byBiZSByZWxhdGl2ZSB0byBwd3ItPmlvbWVtLgo+IHYyOgo+IC0gVXBkYXRlIHBhbnRo b3JfZ3B1X2luZm9faW5pdCgpIHRvIHVzZSBibG9jay1sb2NhbCBpb21lbSBwb2ludGVyLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IEthcnVuaWthIENob28gPGthcnVuaWthLmNob29AYXJtLmNvbT4KClJl dmlld2VkLWJ5OiBMaXZpdSBEdWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4KCkJlc3QgcmVnYXJk cywKTGl2aXUKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW50aG9yL3BhbnRob3JfaHcuYyAg ICAgICB8ICA4ICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFudGhvci9wYW50aG9yX3B3ci5jICAg ICAgfCA3OSArKysrKysrKysrKysrKy0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW50aG9y L3BhbnRob3JfcHdyX3JlZ3MuaCB8IDUwICsrKysrKystLS0tLS0tCj4gIDMgZmlsZXMgY2hhbmdl ZCwgNzkgaW5zZXJ0aW9ucygrKSwgNTggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9wYW50aG9yL3BhbnRob3JfaHcuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW50 aG9yL3BhbnRob3JfaHcuYwo+IGluZGV4IDgwYWExNTFkNTkzNi4uN2UzMTU3MDhjYTdjIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW50aG9yL3BhbnRob3JfaHcuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW50aG9yL3BhbnRob3JfaHcuYwo+IEBAIC0yMjEsMTAgKzIyMSwxMiBA QCBzdGF0aWMgaW50IHBhbnRob3JfZ3B1X2luZm9faW5pdChzdHJ1Y3QgcGFudGhvcl9kZXZpY2Ug KnB0ZGV2KQo+ICAJcHRkZXYtPmdwdV9pbmZvLmdwdV9mZWF0dXJlcyA9IGdwdV9yZWFkNjQoZ3B1 X2lvbWVtLCBHUFVfRkVBVFVSRVMpOwo+ICAKPiAgCWlmIChwYW50aG9yX2h3X2hhc19wd3JfY3Ry bChwdGRldikpIHsKPiArCQl2b2lkIF9faW9tZW0gKnB3cl9pb21lbSA9IGdwdV9pb21lbSArIFBX Ul9DT05UUk9MX0JBU0U7Cj4gKwo+ICAJCS8qIEludHJvZHVjZWQgaW4gYXJjaCAxNC54ICovCj4g LQkJcHRkZXYtPmdwdV9pbmZvLmwyX3ByZXNlbnQgPSBncHVfcmVhZDY0KHB0ZGV2LT5pb21lbSwg UFdSX0wyX1BSRVNFTlQpOwo+IC0JCXB0ZGV2LT5ncHVfaW5mby50aWxlcl9wcmVzZW50ID0gZ3B1 X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBXUl9USUxFUl9QUkVTRU5UKTsKPiAtCQlwdGRldi0+Z3B1 X2luZm8uc2hhZGVyX3ByZXNlbnQgPSBncHVfcmVhZDY0KHB0ZGV2LT5pb21lbSwgUFdSX1NIQURF Ul9QUkVTRU5UKTsKPiArCQlwdGRldi0+Z3B1X2luZm8ubDJfcHJlc2VudCA9IGdwdV9yZWFkNjQo cHdyX2lvbWVtLCBQV1JfTDJfUFJFU0VOVCk7Cj4gKwkJcHRkZXYtPmdwdV9pbmZvLnRpbGVyX3By ZXNlbnQgPSBncHVfcmVhZDY0KHB3cl9pb21lbSwgUFdSX1RJTEVSX1BSRVNFTlQpOwo+ICsJCXB0 ZGV2LT5ncHVfaW5mby5zaGFkZXJfcHJlc2VudCA9IGdwdV9yZWFkNjQocHdyX2lvbWVtLCBQV1Jf U0hBREVSX1BSRVNFTlQpOwo+ICAJfSBlbHNlIHsKPiAgCQlwdGRldi0+Z3B1X2luZm8uc2hhZGVy X3ByZXNlbnQgPSBncHVfcmVhZDY0KGdwdV9pb21lbSwgR1BVX1NIQURFUl9QUkVTRU5UKTsKPiAg CQlwdGRldi0+Z3B1X2luZm8udGlsZXJfcHJlc2VudCA9IGdwdV9yZWFkNjQoZ3B1X2lvbWVtLCBH UFVfVElMRVJfUFJFU0VOVCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW50aG9y L3BhbnRob3JfcHdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFudGhvci9wYW50aG9yX3B3ci5jCj4g aW5kZXggNzA1ZDk5ODQ0N2I1Li43YzdmNDI0YTE0MzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbnRob3IvcGFudGhvcl9wd3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW50 aG9yL3BhbnRob3JfcHdyLmMKPiBAQCAtNDAsNiArNDAsOSBAQAo+ICAgKiBzdHJ1Y3QgcGFudGhv cl9wd3IgLSBQV1JfQ09OVFJPTCBibG9jayBtYW5hZ2VtZW50IGRhdGEuCj4gICAqLwo+ICBzdHJ1 Y3QgcGFudGhvcl9wd3Igewo+ICsJLyoqIEBpb21lbTogQ1BVIG1hcHBpbmcgb2YgUFdSX0NPTlRS T0wgaW9tZW0gcmVnaW9uICovCj4gKwl2b2lkIF9faW9tZW0gKmlvbWVtOwo+ICsKPiAgCS8qKiBA aXJxOiBQV1IgaXJxLiAqLwo+ICAJc3RydWN0IHBhbnRob3JfaXJxIGlycTsKPiAgCj4gQEAgLTU1 LDggKzU4LDEwIEBAIHN0cnVjdCBwYW50aG9yX3B3ciB7Cj4gIAo+ICBzdGF0aWMgdm9pZCBwYW50 aG9yX3B3cl9pcnFfaGFuZGxlcihzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1MzIgc3Rh dHVzKQo+ICB7Cj4gKwlzdHJ1Y3QgcGFudGhvcl9wd3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gKwo+ ICAJc3Bpbl9sb2NrKCZwdGRldi0+cHdyLT5yZXFzX2xvY2spOwo+IC0JZ3B1X3dyaXRlKHB0ZGV2 LT5pb21lbSwgUFdSX0lOVF9DTEVBUiwgc3RhdHVzKTsKPiArCWdwdV93cml0ZShwd3ItPmlycS5p b21lbSwgSU5UX0NMRUFSLCBzdGF0dXMpOwo+ICAKPiAgCWlmICh1bmxpa2VseShzdGF0dXMgJiBQ V1JfSVJRX0NPTU1BTkRfTk9UX0FMTE9XRUQpKQo+ICAJCWRybV9lcnIoJnB0ZGV2LT5iYXNlLCAi UFdSX0lSUTogQ09NTUFORF9OT1RfQUxMT1dFRCIpOwo+IEBAIC03NCwxNSArNzksMTkgQEAgUEFO VEhPUl9JUlFfSEFORExFUihwd3IsIHBhbnRob3JfcHdyX2lycV9oYW5kbGVyKTsKPiAgCj4gIHN0 YXRpYyB2b2lkIHBhbnRob3JfcHdyX3dyaXRlX2NvbW1hbmQoc3RydWN0IHBhbnRob3JfZGV2aWNl ICpwdGRldiwgdTMyIGNvbW1hbmQsIHU2NCBhcmdzKQo+ICB7Cj4gKwlzdHJ1Y3QgcGFudGhvcl9w d3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gKwo+ICAJaWYgKGFyZ3MpCj4gLQkJZ3B1X3dyaXRlNjQo cHRkZXYtPmlvbWVtLCBQV1JfQ01EQVJHLCBhcmdzKTsKPiArCQlncHVfd3JpdGU2NChwd3ItPmlv bWVtLCBQV1JfQ01EQVJHLCBhcmdzKTsKPiAgCj4gLQlncHVfd3JpdGUocHRkZXYtPmlvbWVtLCBQ V1JfQ09NTUFORCwgY29tbWFuZCk7Cj4gKwlncHVfd3JpdGUocHdyLT5pb21lbSwgUFdSX0NPTU1B TkQsIGNvbW1hbmQpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbCByZXNldF9pcnFfcmFpc2VkKHN0 cnVjdCBwYW50aG9yX2RldmljZSAqcHRkZXYpCj4gIHsKPiAtCXJldHVybiBncHVfcmVhZChwdGRl di0+aW9tZW0sIFBXUl9JTlRfUkFXU1RBVCkgJiBQV1JfSVJRX1JFU0VUX0NPTVBMRVRFRDsKPiAr CXN0cnVjdCBwYW50aG9yX3B3ciAqcHdyID0gcHRkZXYtPnB3cjsKPiArCj4gKwlyZXR1cm4gZ3B1 X3JlYWQocHdyLT5pcnEuaW9tZW0sIElOVF9SQVdTVEFUKSAmIFBXUl9JUlFfUkVTRVRfQ09NUExF VEVEOwo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbCByZXNldF9wZW5kaW5nKHN0cnVjdCBwYW50aG9y X2RldmljZSAqcHRkZXYpCj4gQEAgLTkyLDEyICsxMDEsMTQgQEAgc3RhdGljIGJvb2wgcmVzZXRf cGVuZGluZyhzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2KQo+ICAKPiAgc3RhdGljIGludCBw YW50aG9yX3B3cl9yZXNldChzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1MzIgcmVzZXRf Y21kKQo+ICB7Cj4gKwlzdHJ1Y3QgcGFudGhvcl9wd3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gKwo+ ICAJc2NvcGVkX2d1YXJkKHNwaW5sb2NrX2lycXNhdmUsICZwdGRldi0+cHdyLT5yZXFzX2xvY2sp IHsKPiAgCQlpZiAocmVzZXRfcGVuZGluZyhwdGRldikpIHsKPiAgCQkJZHJtX1dBUk4oJnB0ZGV2 LT5iYXNlLCAxLCAiUmVzZXQgYWxyZWFkeSBwZW5kaW5nIik7Cj4gIAkJfSBlbHNlIHsKPiAgCQkJ cHRkZXYtPnB3ci0+cGVuZGluZ19yZXFzIHw9IFBXUl9JUlFfUkVTRVRfQ09NUExFVEVEOwo+IC0J CQlncHVfd3JpdGUocHRkZXYtPmlvbWVtLCBQV1JfSU5UX0NMRUFSLCBQV1JfSVJRX1JFU0VUX0NP TVBMRVRFRCk7Cj4gKwkJCWdwdV93cml0ZShwd3ItPmlycS5pb21lbSwgSU5UX0NMRUFSLCBQV1Jf SVJRX1JFU0VUX0NPTVBMRVRFRCk7Cj4gIAkJCXBhbnRob3JfcHdyX3dyaXRlX2NvbW1hbmQocHRk ZXYsIHJlc2V0X2NtZCwgMCk7Cj4gIAkJfQo+ICAJfQo+IEBAIC0xODIsMTEgKzE5MywxMiBAQCBz dGF0aWMgdTggZ2V0X2RvbWFpbl9zdWJkb21haW4oc3RydWN0IHBhbnRob3JfZGV2aWNlICpwdGRl diwgdTMyIGRvbWFpbikKPiAgc3RhdGljIGludCBwYW50aG9yX3B3cl9kb21haW5fd2FpdF90cmFu c2l0aW9uKHN0cnVjdCBwYW50aG9yX2RldmljZSAqcHRkZXYsIHUzMiBkb21haW4sCj4gIAkJCQkJ ICAgICAgdTMyIHRpbWVvdXRfdXMpCj4gIHsKPiArCXN0cnVjdCBwYW50aG9yX3B3ciAqcHdyID0g cHRkZXYtPnB3cjsKPiAgCXUzMiBwd3J0cmFuc19yZWcgPSBnZXRfZG9tYWluX3B3cnRyYW5zX3Jl Zyhkb21haW4pOwo+ICAJdTY0IHZhbDsKPiAgCWludCByZXQgPSAwOwo+ICAKPiAtCXJldCA9IGdw dV9yZWFkNjRfcG9sbF90aW1lb3V0KHB0ZGV2LT5pb21lbSwgcHdydHJhbnNfcmVnLCB2YWwsICEo UFdSX0FMTF9DT1JFU19NQVNLICYgdmFsKSwgMTAwLAo+ICsJcmV0ID0gZ3B1X3JlYWQ2NF9wb2xs X3RpbWVvdXQocHdyLT5pb21lbSwgcHdydHJhbnNfcmVnLCB2YWwsICEoUFdSX0FMTF9DT1JFU19N QVNLICYgdmFsKSwgMTAwLAo+ICAJCQkJICAgICAgdGltZW91dF91cyk7Cj4gIAlpZiAocmV0KSB7 Cj4gIAkJZHJtX2VycigmcHRkZXYtPmJhc2UsICIlcyBkb21haW4gcG93ZXIgaW4gdHJhbnNpdGlv biwgcHdydHJhbnMoMHglbGx4KSIsCj4gQEAgLTE5OSwyMiArMjExLDI1IEBAIHN0YXRpYyBpbnQg cGFudGhvcl9wd3JfZG9tYWluX3dhaXRfdHJhbnNpdGlvbihzdHJ1Y3QgcGFudGhvcl9kZXZpY2Ug KnB0ZGV2LCB1MzIKPiAgCj4gIHN0YXRpYyB2b2lkIHBhbnRob3JfcHdyX2RlYnVnX2luZm9fc2hv dyhzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2KQo+ICB7Cj4gKwlzdHJ1Y3QgcGFudGhvcl9w d3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gKwo+ICAJZHJtX2luZm8oJnB0ZGV2LT5iYXNlLCAiR1BV X0ZFQVRVUkVTOiAgICAweCUwMTZsbHgiLCBwdGRldi0+Z3B1X2luZm8uZ3B1X2ZlYXR1cmVzKTsK PiAtCWRybV9pbmZvKCZwdGRldi0+YmFzZSwgIlBXUl9TVEFUVVM6ICAgICAgMHglMDE2bGx4Iiwg Z3B1X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBXUl9TVEFUVVMpKTsKPiAtCWRybV9pbmZvKCZwdGRl di0+YmFzZSwgIkwyX1BSRVNFTlQ6ICAgICAgMHglMDE2bGx4IiwgZ3B1X3JlYWQ2NChwdGRldi0+ aW9tZW0sIFBXUl9MMl9QUkVTRU5UKSk7Cj4gLQlkcm1faW5mbygmcHRkZXYtPmJhc2UsICJMMl9Q V1JUUkFOUzogICAgIDB4JTAxNmxseCIsIGdwdV9yZWFkNjQocHRkZXYtPmlvbWVtLCBQV1JfTDJf UFdSVFJBTlMpKTsKPiAtCWRybV9pbmZvKCZwdGRldi0+YmFzZSwgIkwyX1JFQURZOiAgICAgICAg MHglMDE2bGx4IiwgZ3B1X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBXUl9MMl9SRUFEWSkpOwo+IC0J ZHJtX2luZm8oJnB0ZGV2LT5iYXNlLCAiVElMRVJfUFJFU0VOVDogICAweCUwMTZsbHgiLCBncHVf cmVhZDY0KHB0ZGV2LT5pb21lbSwgUFdSX1RJTEVSX1BSRVNFTlQpKTsKPiAtCWRybV9pbmZvKCZw dGRldi0+YmFzZSwgIlRJTEVSX1BXUlRSQU5TOiAgMHglMDE2bGx4IiwgZ3B1X3JlYWQ2NChwdGRl di0+aW9tZW0sIFBXUl9USUxFUl9QV1JUUkFOUykpOwo+IC0JZHJtX2luZm8oJnB0ZGV2LT5iYXNl LCAiVElMRVJfUkVBRFk6ICAgICAweCUwMTZsbHgiLCBncHVfcmVhZDY0KHB0ZGV2LT5pb21lbSwg UFdSX1RJTEVSX1JFQURZKSk7Cj4gLQlkcm1faW5mbygmcHRkZXYtPmJhc2UsICJTSEFERVJfUFJF U0VOVDogIDB4JTAxNmxseCIsIGdwdV9yZWFkNjQocHRkZXYtPmlvbWVtLCBQV1JfU0hBREVSX1BS RVNFTlQpKTsKPiAtCWRybV9pbmZvKCZwdGRldi0+YmFzZSwgIlNIQURFUl9QV1JUUkFOUzogMHgl MDE2bGx4IiwgZ3B1X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBXUl9TSEFERVJfUFdSVFJBTlMpKTsK PiAtCWRybV9pbmZvKCZwdGRldi0+YmFzZSwgIlNIQURFUl9SRUFEWTogICAgMHglMDE2bGx4Iiwg Z3B1X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBXUl9TSEFERVJfUkVBRFkpKTsKPiArCWRybV9pbmZv KCZwdGRldi0+YmFzZSwgIlBXUl9TVEFUVVM6ICAgICAgMHglMDE2bGx4IiwgZ3B1X3JlYWQ2NChw d3ItPmlvbWVtLCBQV1JfU1RBVFVTKSk7Cj4gKwlkcm1faW5mbygmcHRkZXYtPmJhc2UsICJMMl9Q UkVTRU5UOiAgICAgIDB4JTAxNmxseCIsIGdwdV9yZWFkNjQocHdyLT5pb21lbSwgUFdSX0wyX1BS RVNFTlQpKTsKPiArCWRybV9pbmZvKCZwdGRldi0+YmFzZSwgIkwyX1BXUlRSQU5TOiAgICAgMHgl MDE2bGx4IiwgZ3B1X3JlYWQ2NChwd3ItPmlvbWVtLCBQV1JfTDJfUFdSVFJBTlMpKTsKPiArCWRy bV9pbmZvKCZwdGRldi0+YmFzZSwgIkwyX1JFQURZOiAgICAgICAgMHglMDE2bGx4IiwgZ3B1X3Jl YWQ2NChwd3ItPmlvbWVtLCBQV1JfTDJfUkVBRFkpKTsKPiArCWRybV9pbmZvKCZwdGRldi0+YmFz ZSwgIlRJTEVSX1BSRVNFTlQ6ICAgMHglMDE2bGx4IiwgZ3B1X3JlYWQ2NChwd3ItPmlvbWVtLCBQ V1JfVElMRVJfUFJFU0VOVCkpOwo+ICsJZHJtX2luZm8oJnB0ZGV2LT5iYXNlLCAiVElMRVJfUFdS VFJBTlM6ICAweCUwMTZsbHgiLCBncHVfcmVhZDY0KHB3ci0+aW9tZW0sIFBXUl9USUxFUl9QV1JU UkFOUykpOwo+ICsJZHJtX2luZm8oJnB0ZGV2LT5iYXNlLCAiVElMRVJfUkVBRFk6ICAgICAweCUw MTZsbHgiLCBncHVfcmVhZDY0KHB3ci0+aW9tZW0sIFBXUl9USUxFUl9SRUFEWSkpOwo+ICsJZHJt X2luZm8oJnB0ZGV2LT5iYXNlLCAiU0hBREVSX1BSRVNFTlQ6ICAweCUwMTZsbHgiLCBncHVfcmVh ZDY0KHB3ci0+aW9tZW0sIFBXUl9TSEFERVJfUFJFU0VOVCkpOwo+ICsJZHJtX2luZm8oJnB0ZGV2 LT5iYXNlLCAiU0hBREVSX1BXUlRSQU5TOiAweCUwMTZsbHgiLCBncHVfcmVhZDY0KHB3ci0+aW9t ZW0sIFBXUl9TSEFERVJfUFdSVFJBTlMpKTsKPiArCWRybV9pbmZvKCZwdGRldi0+YmFzZSwgIlNI QURFUl9SRUFEWTogICAgMHglMDE2bGx4IiwgZ3B1X3JlYWQ2NChwd3ItPmlvbWVtLCBQV1JfU0hB REVSX1JFQURZKSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgcGFudGhvcl9wd3JfZG9tYWluX3Ry YW5zaXRpb24oc3RydWN0IHBhbnRob3JfZGV2aWNlICpwdGRldiwgdTMyIGNtZCwgdTMyIGRvbWFp biwKPiAgCQkJCQkgdTY0IG1hc2ssIHUzMiB0aW1lb3V0X3VzKQo+ICB7Cj4gKwlzdHJ1Y3QgcGFu dGhvcl9wd3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gIAl1MzIgcmVhZHlfcmVnID0gZ2V0X2RvbWFp bl9yZWFkeV9yZWcoZG9tYWluKTsKPiAgCXUzMiBwd3JfY21kID0gUFdSX0NPTU1BTkRfREVGKGNt ZCwgZG9tYWluLCBnZXRfZG9tYWluX3N1YmRvbWFpbihwdGRldiwgZG9tYWluKSk7Cj4gIAl1NjQg ZXhwZWN0ZWRfdmFsID0gMDsKPiBAQCAtMjQxLDEyICsyNTYsMTIgQEAgc3RhdGljIGludCBwYW50 aG9yX3B3cl9kb21haW5fdHJhbnNpdGlvbihzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1 MzIgY21kLAo+ICAJCXJldHVybiByZXQ7Cj4gIAo+ICAJLyogZG9tYWluIGFscmVhZHkgaW4gdGFy Z2V0IHN0YXRlLCByZXR1cm4gZWFybHkgKi8KPiAtCWlmICgoZ3B1X3JlYWQ2NChwdGRldi0+aW9t ZW0sIHJlYWR5X3JlZykgJiBtYXNrKSA9PSBleHBlY3RlZF92YWwpCj4gKwlpZiAoKGdwdV9yZWFk NjQocHdyLT5pb21lbSwgcmVhZHlfcmVnKSAmIG1hc2spID09IGV4cGVjdGVkX3ZhbCkKPiAgCQly ZXR1cm4gMDsKPiAgCj4gIAlwYW50aG9yX3B3cl93cml0ZV9jb21tYW5kKHB0ZGV2LCBwd3JfY21k LCBtYXNrKTsKPiAgCj4gLQlyZXQgPSBncHVfcmVhZDY0X3BvbGxfdGltZW91dChwdGRldi0+aW9t ZW0sIHJlYWR5X3JlZywgdmFsLCAobWFzayAmIHZhbCkgPT0gZXhwZWN0ZWRfdmFsLAo+ICsJcmV0 ID0gZ3B1X3JlYWQ2NF9wb2xsX3RpbWVvdXQocHdyLT5pb21lbSwgcmVhZHlfcmVnLCB2YWwsICht YXNrICYgdmFsKSA9PSBleHBlY3RlZF92YWwsCj4gIAkJCQkgICAgICAxMDAsIHRpbWVvdXRfdXMp Owo+ICAJaWYgKHJldCkgewo+ICAJCWRybV9lcnIoJnB0ZGV2LT5iYXNlLAo+IEBAIC0yNzksOCAr Mjk0LDkgQEAgc3RhdGljIGludCBwYW50aG9yX3B3cl9kb21haW5fdHJhbnNpdGlvbihzdHJ1Y3Qg cGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1MzIgY21kLAo+ICAgKi8KPiAgc3RhdGljIGludCByZXRy YWN0X2RvbWFpbihzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1MzIgZG9tYWluKQo+ICB7 Cj4gKwlzdHJ1Y3QgcGFudGhvcl9wd3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gIAljb25zdCB1MzIg cHdyX2NtZCA9IFBXUl9DT01NQU5EX0RFRihQV1JfQ09NTUFORF9SRVRSQUNULCBkb21haW4sIDAp Owo+IC0JY29uc3QgdTY0IHB3cl9zdGF0dXMgPSBncHVfcmVhZDY0KHB0ZGV2LT5pb21lbSwgUFdS X1NUQVRVUyk7Cj4gKwljb25zdCB1NjQgcHdyX3N0YXR1cyA9IGdwdV9yZWFkNjQocHdyLT5pb21l bSwgUFdSX1NUQVRVUyk7Cj4gIAljb25zdCB1NjQgZGVsZWdhdGVkX21hc2sgPSBQV1JfU1RBVFVT X0RPTUFJTl9ERUxFR0FURUQoZG9tYWluKTsKPiAgCWNvbnN0IHU2NCBhbGxvd19tYXNrID0gUFdS X1NUQVRVU19ET01BSU5fQUxMT1dFRChkb21haW4pOwo+ICAJdTY0IHZhbDsKPiBAQCAtMjg5LDcg KzMwNSw3IEBAIHN0YXRpYyBpbnQgcmV0cmFjdF9kb21haW4oc3RydWN0IHBhbnRob3JfZGV2aWNl ICpwdGRldiwgdTMyIGRvbWFpbikKPiAgCWlmIChkcm1fV0FSTl9PTigmcHRkZXYtPmJhc2UsIGRv bWFpbiA9PSBQV1JfQ09NTUFORF9ET01BSU5fTDIpKQo+ICAJCXJldHVybiAtRVBFUk07Cj4gIAo+ IC0JcmV0ID0gZ3B1X3JlYWQ2NF9wb2xsX3RpbWVvdXQocHRkZXYtPmlvbWVtLCBQV1JfU1RBVFVT LCB2YWwsCj4gKwlyZXQgPSBncHVfcmVhZDY0X3BvbGxfdGltZW91dChwd3ItPmlvbWVtLCBQV1Jf U1RBVFVTLCB2YWwsCj4gIAkJCQkgICAgICAhKFBXUl9TVEFUVVNfUkVUUkFDVF9QRU5ESU5HICYg dmFsKSwgMCwKPiAgCQkJCSAgICAgIFBXUl9SRVRSQUNUX1RJTUVPVVRfVVMpOwo+ICAJaWYgKHJl dCkgewo+IEBAIC0zMDgsNyArMzI0LDcgQEAgc3RhdGljIGludCByZXRyYWN0X2RvbWFpbihzdHJ1 Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1MzIgZG9tYWluKQo+ICAJICogT24gc3VjY2Vzc2Z1 bCByZXRyYWN0aW9uCj4gIAkgKiBhbGxvdy1mbGFnIHdpbGwgYmUgc2V0IHdpdGggZGVsZWdhdGVk LWZsYWcgYmVpbmcgY2xlYXJlZC4KPiAgCSAqLwo+IC0JcmV0ID0gZ3B1X3JlYWQ2NF9wb2xsX3Rp bWVvdXQocHRkZXYtPmlvbWVtLCBQV1JfU1RBVFVTLCB2YWwsCj4gKwlyZXQgPSBncHVfcmVhZDY0 X3BvbGxfdGltZW91dChwd3ItPmlvbWVtLCBQV1JfU1RBVFVTLCB2YWwsCj4gIAkJCQkgICAgICAo KGRlbGVnYXRlZF9tYXNrIHwgYWxsb3dfbWFzaykgJiB2YWwpID09IGFsbG93X21hc2ssIDEwLAo+ ICAJCQkJICAgICAgUFdSX1RSQU5TSVRJT05fVElNRU9VVF9VUyk7Cj4gIAlpZiAocmV0KSB7Cj4g QEAgLTMzNCw4ICszNTAsOSBAQCBzdGF0aWMgaW50IHJldHJhY3RfZG9tYWluKHN0cnVjdCBwYW50 aG9yX2RldmljZSAqcHRkZXYsIHUzMiBkb21haW4pCj4gICAqLwo+ICBzdGF0aWMgaW50IGRlbGVn YXRlX2RvbWFpbihzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LCB1MzIgZG9tYWluKQo+ICB7 Cj4gKwlzdHJ1Y3QgcGFudGhvcl9wd3IgKnB3ciA9IHB0ZGV2LT5wd3I7Cj4gIAljb25zdCB1MzIg cHdyX2NtZCA9IFBXUl9DT01NQU5EX0RFRihQV1JfQ09NTUFORF9ERUxFR0FURSwgZG9tYWluLCAw KTsKPiAtCWNvbnN0IHU2NCBwd3Jfc3RhdHVzID0gZ3B1X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBX Ul9TVEFUVVMpOwo+ICsJY29uc3QgdTY0IHB3cl9zdGF0dXMgPSBncHVfcmVhZDY0KHB3ci0+aW9t ZW0sIFBXUl9TVEFUVVMpOwo+ICAJY29uc3QgdTY0IGFsbG93X21hc2sgPSBQV1JfU1RBVFVTX0RP TUFJTl9BTExPV0VEKGRvbWFpbik7Cj4gIAljb25zdCB1NjQgZGVsZWdhdGVkX21hc2sgPSBQV1Jf U1RBVFVTX0RPTUFJTl9ERUxFR0FURUQoZG9tYWluKTsKPiAgCXU2NCB2YWw7Cj4gQEAgLTM2NCw3 ICszODEsNyBAQCBzdGF0aWMgaW50IGRlbGVnYXRlX2RvbWFpbihzdHJ1Y3QgcGFudGhvcl9kZXZp Y2UgKnB0ZGV2LCB1MzIgZG9tYWluKQo+ICAJICogT24gc3VjY2Vzc2Z1bCBkZWxlZ2F0aW9uCj4g IAkgKiBhbGxvdy1mbGFnIHdpbGwgYmUgY2xlYXJlZCB3aXRoIGRlbGVnYXRlZC1mbGFnIGJlaW5n IHNldC4KPiAgCSAqLwo+IC0JcmV0ID0gZ3B1X3JlYWQ2NF9wb2xsX3RpbWVvdXQocHRkZXYtPmlv bWVtLCBQV1JfU1RBVFVTLCB2YWwsCj4gKwlyZXQgPSBncHVfcmVhZDY0X3BvbGxfdGltZW91dChw d3ItPmlvbWVtLCBQV1JfU1RBVFVTLCB2YWwsCj4gIAkJCQkgICAgICAoKGRlbGVnYXRlZF9tYXNr IHwgYWxsb3dfbWFzaykgJiB2YWwpID09IGRlbGVnYXRlZF9tYXNrLAo+ICAJCQkJICAgICAgMTAs IFBXUl9UUkFOU0lUSU9OX1RJTUVPVVRfVVMpOwo+ICAJaWYgKHJldCkgewo+IEBAIC00MTIsNyAr NDI5LDggQEAgc3RhdGljIGludCBwYW50aG9yX3B3cl9kZWxlZ2F0ZV9kb21haW5zKHN0cnVjdCBw YW50aG9yX2RldmljZSAqcHRkZXYpCj4gICAqLwo+ICBzdGF0aWMgaW50IHBhbnRob3JfcHdyX2Rv bWFpbl9mb3JjZV9vZmYoc3RydWN0IHBhbnRob3JfZGV2aWNlICpwdGRldiwgdTMyIGRvbWFpbikK PiAgewo+IC0JY29uc3QgdTY0IGRvbWFpbl9yZWFkeSA9IGdwdV9yZWFkNjQocHRkZXYtPmlvbWVt LCBnZXRfZG9tYWluX3JlYWR5X3JlZyhkb21haW4pKTsKPiArCXN0cnVjdCBwYW50aG9yX3B3ciAq cHdyID0gcHRkZXYtPnB3cjsKPiArCWNvbnN0IHU2NCBkb21haW5fcmVhZHkgPSBncHVfcmVhZDY0 KHB3ci0+aW9tZW0sIGdldF9kb21haW5fcmVhZHlfcmVnKGRvbWFpbikpOwo+ICAJaW50IHJldDsK PiAgCj4gIAkvKiBEb21haW4gYWxyZWFkeSBwb3dlcmVkIGRvd24sIGVhcmx5IGV4aXQuICovCj4g QEAgLTQ1Niw2ICs0NzQsNyBAQCBpbnQgcGFudGhvcl9wd3JfaW5pdChzdHJ1Y3QgcGFudGhvcl9k ZXZpY2UgKnB0ZGV2KQo+ICAJaWYgKCFwd3IpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICsJ cHdyLT5pb21lbSA9IHB0ZGV2LT5pb21lbSArIFBXUl9DT05UUk9MX0JBU0U7Cj4gIAlzcGluX2xv Y2tfaW5pdCgmcHdyLT5yZXFzX2xvY2spOwo+ICAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHdyLT5y ZXFzX2Fja2VkKTsKPiAgCXB0ZGV2LT5wd3IgPSBwd3I7Cj4gQEAgLTQ2Niw3ICs0ODUsNyBAQCBp bnQgcGFudGhvcl9wd3JfaW5pdChzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2KQo+ICAKPiAg CWVyciA9IHBhbnRob3JfcmVxdWVzdF9wd3JfaXJxKAo+ICAJCXB0ZGV2LCAmcHdyLT5pcnEsIGly cSwgUFdSX0lOVEVSUlVQVFNfTUFTSywKPiAtCQlwdGRldi0+aW9tZW0gKyBQV1JfQ09OVFJPTF9C QVNFKTsKPiArCQlwd3ItPmlvbWVtICsgUFdSX0lOVF9CQVNFKTsKPiAgCWlmIChlcnIpCj4gIAkJ cmV0dXJuIGVycjsKPiAgCj4gQEAgLTQ3NSw3ICs0OTQsOSBAQCBpbnQgcGFudGhvcl9wd3JfaW5p dChzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2KQo+ICAKPiAgaW50IHBhbnRob3JfcHdyX3Jl c2V0X3NvZnQoc3RydWN0IHBhbnRob3JfZGV2aWNlICpwdGRldikKPiAgewo+IC0JaWYgKCEoZ3B1 X3JlYWQ2NChwdGRldi0+aW9tZW0sIFBXUl9TVEFUVVMpICYgUFdSX1NUQVRVU19BTExPV19TT0ZU X1JFU0VUKSkgewo+ICsJc3RydWN0IHBhbnRob3JfcHdyICpwd3IgPSBwdGRldi0+cHdyOwo+ICsK PiArCWlmICghKGdwdV9yZWFkNjQocHdyLT5pb21lbSwgUFdSX1NUQVRVUykgJiBQV1JfU1RBVFVT X0FMTE9XX1NPRlRfUkVTRVQpKSB7Cj4gIAkJZHJtX2VycigmcHRkZXYtPmJhc2UsICJSRVNFVF9T T0ZUIG5vdCBhbGxvd2VkIik7Cj4gIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwo+ICAJfQo+IEBAIC00 ODUsOCArNTA2LDkgQEAgaW50IHBhbnRob3JfcHdyX3Jlc2V0X3NvZnQoc3RydWN0IHBhbnRob3Jf ZGV2aWNlICpwdGRldikKPiAgCj4gIHZvaWQgcGFudGhvcl9wd3JfbDJfcG93ZXJfb2ZmKHN0cnVj dCBwYW50aG9yX2RldmljZSAqcHRkZXYpCj4gIHsKPiArCXN0cnVjdCBwYW50aG9yX3B3ciAqcHdy ID0gcHRkZXYtPnB3cjsKPiAgCWNvbnN0IHU2NCBsMl9hbGxvd19tYXNrID0gUFdSX1NUQVRVU19E T01BSU5fQUxMT1dFRChQV1JfQ09NTUFORF9ET01BSU5fTDIpOwo+IC0JY29uc3QgdTY0IHB3cl9z dGF0dXMgPSBncHVfcmVhZDY0KHB0ZGV2LT5pb21lbSwgUFdSX1NUQVRVUyk7Cj4gKwljb25zdCB1 NjQgcHdyX3N0YXR1cyA9IGdwdV9yZWFkNjQocHdyLT5pb21lbSwgUFdSX1NUQVRVUyk7Cj4gIAo+ ICAJLyogQWJvcnQgaWYgTDIgcG93ZXIgb2ZmIGNvbnN0cmFpbnRzIGFyZSBub3Qgc2F0aXNmaWVk ICovCj4gIAlpZiAoIShwd3Jfc3RhdHVzICYgbDJfYWxsb3dfbWFzaykpIHsKPiBAQCAtNTEyLDcg KzUzNCw4IEBAIHZvaWQgcGFudGhvcl9wd3JfbDJfcG93ZXJfb2ZmKHN0cnVjdCBwYW50aG9yX2Rl dmljZSAqcHRkZXYpCj4gIAo+ICBpbnQgcGFudGhvcl9wd3JfbDJfcG93ZXJfb24oc3RydWN0IHBh bnRob3JfZGV2aWNlICpwdGRldikKPiAgewo+IC0JY29uc3QgdTMyIHB3cl9zdGF0dXMgPSBncHVf cmVhZDY0KHB0ZGV2LT5pb21lbSwgUFdSX1NUQVRVUyk7Cj4gKwlzdHJ1Y3QgcGFudGhvcl9wd3Ig KnB3ciA9IHB0ZGV2LT5wd3I7Cj4gKwljb25zdCB1MzIgcHdyX3N0YXR1cyA9IGdwdV9yZWFkNjQo cHdyLT5pb21lbSwgUFdSX1NUQVRVUyk7Cj4gIAljb25zdCB1MzIgbDJfYWxsb3dfbWFzayA9IFBX Ul9TVEFUVVNfRE9NQUlOX0FMTE9XRUQoUFdSX0NPTU1BTkRfRE9NQUlOX0wyKTsKPiAgCWludCBy ZXQ7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFudGhvci9wYW50aG9yX3B3 cl9yZWdzLmggYi9kcml2ZXJzL2dwdS9kcm0vcGFudGhvci9wYW50aG9yX3B3cl9yZWdzLmgKPiBp bmRleCBhZDNlNDQ2OTcxZGIuLjljZjdhNzE1MDY2ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFudGhvci9wYW50aG9yX3B3cl9yZWdzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v cGFudGhvci9wYW50aG9yX3B3cl9yZWdzLmgKPiBAQCAtNSwxMiArNSw4IEBACj4gICNkZWZpbmUg X19QQU5USE9SX1BXUl9SRUdTX0hfXwo+ICAKPiAgI2RlZmluZSBQV1JfQ09OVFJPTF9CQVNFCQkJ CTB4ODAwCj4gLSNkZWZpbmUgUFdSX0NUUkxfUkVHKHgpCQkJCQkoUFdSX0NPTlRST0xfQkFTRSAr ICh4KSkKPiAgCj4gLSNkZWZpbmUgUFdSX0lOVF9SQVdTVEFUCQkJCQlQV1JfQ1RSTF9SRUcoMHgw KQo+IC0jZGVmaW5lIFBXUl9JTlRfQ0xFQVIJCQkJCVBXUl9DVFJMX1JFRygweDQpCj4gLSNkZWZp bmUgUFdSX0lOVF9NQVNLCQkJCQlQV1JfQ1RSTF9SRUcoMHg4KQo+IC0jZGVmaW5lIFBXUl9JTlRf U1RBVAkJCQkJUFdSX0NUUkxfUkVHKDB4YykKPiArI2RlZmluZSBQV1JfSU5UX0JBU0UJCQkJCTB4 MAo+ICAjZGVmaW5lICAgUFdSX0lSUV9QT1dFUl9DSEFOR0VEX1NJTkdMRQkJCUJJVCgwKQo+ICAj ZGVmaW5lICAgUFdSX0lSUV9QT1dFUl9DSEFOR0VEX0FMTAkJCUJJVCgxKQo+ICAjZGVmaW5lICAg UFdSX0lSUV9ERUxFR0FUSU9OX0NIQU5HRUQJCQlCSVQoMikKPiBAQCAtMjAsNyArMTYsNyBAQAo+ ICAjZGVmaW5lICAgUFdSX0lSUV9DT01NQU5EX05PVF9BTExPV0VECQkJQklUKDMwKQo+ICAjZGVm aW5lICAgUFdSX0lSUV9DT01NQU5EX0lOVkFMSUQJCQlCSVQoMzEpCj4gIAo+IC0jZGVmaW5lIFBX Ul9TVEFUVVMJCQkJCVBXUl9DVFJMX1JFRygweDIwKQo+ICsjZGVmaW5lIFBXUl9TVEFUVVMJCQkJ CTB4MjAKPiAgI2RlZmluZSAgIFBXUl9TVEFUVVNfQUxMT1dfTDIJCQkJQklUX1U2NCgwKQo+ICAj ZGVmaW5lICAgUFdSX1NUQVRVU19BTExPV19USUxFUgkJCUJJVF9VNjQoMSkKPiAgI2RlZmluZSAg IFBXUl9TVEFUVVNfQUxMT1dfU0hBREVSCQkJQklUX1U2NCg4KQo+IEBAIC00MSw3ICszNyw3IEBA Cj4gICNkZWZpbmUgICBQV1JfU1RBVFVTX1JFVFJBQ1RfUEVORElORwkJCUJJVF9VNjQoNDMpCj4g ICNkZWZpbmUgICBQV1JfU1RBVFVTX0lOU1BFQ1RfUEVORElORwkJCUJJVF9VNjQoNDQpCj4gIAo+ IC0jZGVmaW5lIFBXUl9DT01NQU5ECQkJCQlQV1JfQ1RSTF9SRUcoMHgyOCkKPiArI2RlZmluZSBQ V1JfQ09NTUFORAkJCQkJMHgyOAo+ICAjZGVmaW5lICAgUFdSX0NPTU1BTkRfUE9XRVJfVVAJCQkJ MHgxMAo+ICAjZGVmaW5lICAgUFdSX0NPTU1BTkRfUE9XRVJfRE9XTgkJCTB4MTEKPiAgI2RlZmlu ZSAgIFBXUl9DT01NQU5EX0RFTEVHQVRFCQkJCTB4MjAKPiBAQCAtNTgsMjYgKzU0LDI2IEBACj4g ICNkZWZpbmUgICBQV1JfQ09NTUFORF9ERUYoY21kLCBkb21haW4sIHN1YmRvbWFpbikJXAo+ICAJ KCgoc3ViZG9tYWluKSA8PCAxNikgfCAoKGRvbWFpbikgPDwgOCkgfCAoY21kKSkKPiAgCj4gLSNk ZWZpbmUgUFdSX0NNREFSRwkJCQkJUFdSX0NUUkxfUkVHKDB4MzApCj4gKyNkZWZpbmUgUFdSX0NN REFSRwkJCQkJMHgzMAo+ICAKPiAtI2RlZmluZSBQV1JfTDJfUFJFU0VOVAkJCQkJUFdSX0NUUkxf UkVHKDB4MTAwKQo+IC0jZGVmaW5lIFBXUl9MMl9SRUFEWQkJCQkJUFdSX0NUUkxfUkVHKDB4MTA4 KQo+IC0jZGVmaW5lIFBXUl9MMl9QV1JUUkFOUwkJCQkJUFdSX0NUUkxfUkVHKDB4MTEwKQo+IC0j ZGVmaW5lIFBXUl9MMl9QV1JBQ1RJVkUJCQkJUFdSX0NUUkxfUkVHKDB4MTE4KQo+IC0jZGVmaW5l IFBXUl9USUxFUl9QUkVTRU5UCQkJCVBXUl9DVFJMX1JFRygweDE0MCkKPiAtI2RlZmluZSBQV1Jf VElMRVJfUkVBRFkJCQkJCVBXUl9DVFJMX1JFRygweDE0OCkKPiAtI2RlZmluZSBQV1JfVElMRVJf UFdSVFJBTlMJCQkJUFdSX0NUUkxfUkVHKDB4MTUwKQo+IC0jZGVmaW5lIFBXUl9USUxFUl9QV1JB Q1RJVkUJCQkJUFdSX0NUUkxfUkVHKDB4MTU4KQo+IC0jZGVmaW5lIFBXUl9TSEFERVJfUFJFU0VO VAkJCQlQV1JfQ1RSTF9SRUcoMHgyMDApCj4gLSNkZWZpbmUgUFdSX1NIQURFUl9SRUFEWQkJCQlQ V1JfQ1RSTF9SRUcoMHgyMDgpCj4gLSNkZWZpbmUgUFdSX1NIQURFUl9QV1JUUkFOUwkJCQlQV1Jf Q1RSTF9SRUcoMHgyMTApCj4gLSNkZWZpbmUgUFdSX1NIQURFUl9QV1JBQ1RJVkUJCQkJUFdSX0NU UkxfUkVHKDB4MjE4KQo+IC0jZGVmaW5lIFBXUl9CQVNFX1BSRVNFTlQJCQkJUFdSX0NUUkxfUkVH KDB4MzgwKQo+IC0jZGVmaW5lIFBXUl9CQVNFX1JFQURZCQkJCQlQV1JfQ1RSTF9SRUcoMHgzODgp Cj4gLSNkZWZpbmUgUFdSX0JBU0VfUFdSVFJBTlMJCQkJUFdSX0NUUkxfUkVHKDB4MzkwKQo+IC0j ZGVmaW5lIFBXUl9CQVNFX1BXUkFDVElWRQkJCQlQV1JfQ1RSTF9SRUcoMHgzOTgpCj4gLSNkZWZp bmUgUFdSX1NUQUNLX1BSRVNFTlQJCQkJUFdSX0NUUkxfUkVHKDB4M2MwKQo+IC0jZGVmaW5lIFBX Ul9TVEFDS19SRUFEWQkJCQkJUFdSX0NUUkxfUkVHKDB4M2M4KQo+IC0jZGVmaW5lIFBXUl9TVEFD S19QV1JUUkFOUwkJCQlQV1JfQ1RSTF9SRUcoMHgzZDApCj4gKyNkZWZpbmUgUFdSX0wyX1BSRVNF TlQJCQkJCTB4MTAwCj4gKyNkZWZpbmUgUFdSX0wyX1JFQURZCQkJCQkweDEwOAo+ICsjZGVmaW5l IFBXUl9MMl9QV1JUUkFOUwkJCQkJMHgxMTAKPiArI2RlZmluZSBQV1JfTDJfUFdSQUNUSVZFCQkJ CTB4MTE4Cj4gKyNkZWZpbmUgUFdSX1RJTEVSX1BSRVNFTlQJCQkJMHgxNDAKPiArI2RlZmluZSBQ V1JfVElMRVJfUkVBRFkJCQkJCTB4MTQ4Cj4gKyNkZWZpbmUgUFdSX1RJTEVSX1BXUlRSQU5TCQkJ CTB4MTUwCj4gKyNkZWZpbmUgUFdSX1RJTEVSX1BXUkFDVElWRQkJCQkweDE1OAo+ICsjZGVmaW5l IFBXUl9TSEFERVJfUFJFU0VOVAkJCQkweDIwMAo+ICsjZGVmaW5lIFBXUl9TSEFERVJfUkVBRFkJ CQkJMHgyMDgKPiArI2RlZmluZSBQV1JfU0hBREVSX1BXUlRSQU5TCQkJCTB4MjEwCj4gKyNkZWZp bmUgUFdSX1NIQURFUl9QV1JBQ1RJVkUJCQkJMHgyMTgKPiArI2RlZmluZSBQV1JfQkFTRV9QUkVT RU5UCQkJCTB4MzgwCj4gKyNkZWZpbmUgUFdSX0JBU0VfUkVBRFkJCQkJCTB4Mzg4Cj4gKyNkZWZp bmUgUFdSX0JBU0VfUFdSVFJBTlMJCQkJMHgzOTAKPiArI2RlZmluZSBQV1JfQkFTRV9QV1JBQ1RJ VkUJCQkJMHgzOTgKPiArI2RlZmluZSBQV1JfU1RBQ0tfUFJFU0VOVAkJCQkweDNjMAo+ICsjZGVm aW5lIFBXUl9TVEFDS19SRUFEWQkJCQkJMHgzYzgKPiArI2RlZmluZSBQV1JfU1RBQ0tfUFdSVFJB TlMJCQkJMHgzZDAKPiAgCj4gICNlbmRpZiAvKiBfX1BBTlRIT1JfUFdSX1JFR1NfSF9fICovCj4g LS0gCj4gMi40My4wCj4gCgotLSAKPT09PT09PT09PT09PT09PT09PT0KfCBJIHdvdWxkIGxpa2Ug dG8gfAp8IGZpeCB0aGUgd29ybGQsICB8CnwgYnV0IHRoZXkncmUgbm90IHwKfCBnaXZpbmcgbWUg dGhlICAgfAogXCBzb3VyY2UgY29kZSEgIC8KICAtLS0tLS0tLS0tLS0tLS0KICAgIMKvXF8o44OE KV8vwq8K