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 D7C91C3DA7A for ; Mon, 2 Jan 2023 09:32:15 +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:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=mI2SYe+l6JgPJK+aXK2G7+C34uJe9dM8kDQQT1JKvyQ=; b=mIisB9aapGAH2W VBnxhzUshGiPX5o0KZUg3XsdV/zokwglPYmW/iu5RIGBZezDY3XVMOoYbJanjZ/gidgPzBiP62fDo B2YbYo0zk+JJVoCc2t5YXRXSNTG2NrY1oL8w2RIURb0ppP8FVKAzGM/n65GdAR+8VquGwXrtSiPhx rYHjBY+aem8AbTqZso7BWC6MiRmdJg0wPdrlQIx3AADUaRekGpNa8+TjL8fIVwWrybFvF95W/Zg4a BN1fB+NcPQc9Jnd5ycevp7ghELA+Qd8VUpiZzYgthzWplZdo6AU+yUUUzjRMq6/gSHPbpW7rXd16h Bo++lVDCTqXZ8tGk1GLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pCH9W-009shf-Kw; Mon, 02 Jan 2023 09:30:44 +0000 Received: from relay10.mail.gandi.net ([217.70.178.230]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pCH9B-009sUt-2f; Mon, 02 Jan 2023 09:30:23 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id AE638240006; Mon, 2 Jan 2023 09:30:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1672651814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TfPe+kgpzqsrNLM0lsYjTizOT0I17cc9ihmNZot7mDo=; b=na67jTXPFjGOJo9yKW1IMOLZCDBRSYhxSkkDdqa5rv+LuIIbGFLvjknm7M7gXNci/HPTx8 mgAaeOyv9TIZIigUS5TfUEE8IgaWYxfJBVVZS2Ysj89naOX9bOfLeDYptHTtJ0HZ87yaoP 8Zbl1BdNB5wHZOXvPnZUpbycH6/Z9hx8mY8Z7bv3Q+4qKGytQN4toyQjlUsqVjCMTaqFsa APMd0257i8bQZqro16cklz3uFD07+omQUxlHk0WolZbjSvViu51LUQyUxNfSgZFaquFoUM AX8pETa1zv90Sq5mMf1aFNbdrBu22y0Cl3IvEOlXMSF0/CKf6+J+UGQroA+LEQ== Date: Mon, 2 Jan 2023 10:30:09 +0100 From: Miquel Raynal To: Samuel Holland Cc: Richard Weinberger , Vignesh Raghavendra , Chen-Yu Tsai , Jernej Skrabec , Boris Brezillon , Brian Norris , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev Subject: Re: [PATCH 7/7] mtd: rawnand: sunxi: Precompute the ECC_CTL register value Message-ID: <20230102103009.00486aa3@xps-13> In-Reply-To: <20221229181526.53766-8-samuel@sholland.org> References: <20221229181526.53766-1-samuel@sholland.org> <20221229181526.53766-8-samuel@sholland.org> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230102_013021_437661_F4A83F63 X-CRM114-Status: GOOD ( 27.11 ) 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 SGkgU2FtdWVsLAoKc2FtdWVsQHNob2xsYW5kLm9yZyB3cm90ZSBvbiBUaHUsIDI5IERlYyAyMDIy IDEyOjE1OjI2IC0wNjAwOgoKPiBUaGlzIHJlbW92ZXMgYW4gdW5uZWNlc3NhcnkgbWVtb3J5IGFs bG9jYXRpb24sIGFuZCBhdm9pZHMgcmVjb21wdXRpbmcKPiB0aGUgc2FtZSByZWdpc3RlciB2YWx1 ZSBldmVyeSB0aW1lIEVDQyBpcyBlbmFibGVkLgoKSSBhbSBmaW5lIHdpdGggdGhlICJsZXQncyBu b3QgcmVjb21wdXRlIHRoZSByZWdpc3RlciB2YWx1ZSBlYWNoIHRpbWUiCmlkZWEsIGJ1dCBJIGxp a2UgaGF2aW5nIGEgZGVkaWNhdGVkIG9iamVjdCByZXNlcnZlZCBmb3IgdGhlIEVDQwplbmdpbmUs IHRoYXQgaXMgc2VwYXJhdGVkIGZyb20gdGhlIG1haW4gY29udHJvbGxlciBzdHJ1Y3R1cmUgKGJv dGgKYXJlIHR3byBkaWZmZXJlbnQgdGhpbmdzLCBldmVuIHRob3VnaCB0aGV5IGFyZSB1c3VhbGx5 IHdlbGwKaW50ZWdyYXRlZCkuCgpJZiBpdCdzIGFjdHVhbGx5IHVzZWxlc3MgeW91IGNhbiBzdGls bCBnZXQgcmlkIG9mIHRoZSBhbGxvY2F0aW9uIGFuZCBpbgp0aGUgc3RydWN0dXJlIHlvdSBjYW4g c2F2ZSB0aGUgZWNjX2N0cmwgcmVnIHZhbHVlIGluc3RlYWQgb2YgbW9kZS4KClRoZSBvdGhlciBw YXRjaGVzIGluIHRoZSBzZXJpZXMgbG9vayBnb29kIHRvIG1lLgoKVGhhbmtzLApNaXF1w6hsCgo+ IFNpZ25lZC1vZmYtYnk6IFNhbXVlbCBIb2xsYW5kIDxzYW11ZWxAc2hvbGxhbmQub3JnPgo+IC0t LQo+IAo+ICBkcml2ZXJzL210ZC9uYW5kL3Jhdy9zdW54aV9uYW5kLmMgfCA3NSArKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCsp LCA2MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcv c3VueGlfbmFuZC5jIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jCj4gaW5kZXgg YTNiYzlmN2Y5ZTVhLi41YzVhNTY3ZDg4NzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tdGQvbmFu ZC9yYXcvc3VueGlfbmFuZC5jCj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFu ZC5jCj4gQEAgLTE2OSwyMiArMTY5LDEzIEBAIHN0cnVjdCBzdW54aV9uYW5kX2NoaXBfc2VsIHsK PiAgCXM4IHJiOwo+ICB9Owo+ICAKPiAtLyoqCj4gLSAqIHN0cnVjdCBzdW54aV9uYW5kX2h3X2Vj YyAtIHN0b3JlcyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIEhXIEVDQyBzdXBwb3J0Cj4gLSAqCj4g LSAqIEBtb2RlOiB0aGUgc3VueGkgRUNDIG1vZGUgZmllbGQgZGVkdWNlZCBmcm9tIEVDQyByZXF1 aXJlbWVudHMKPiAtICovCj4gLXN0cnVjdCBzdW54aV9uYW5kX2h3X2VjYyB7Cj4gLQlpbnQgbW9k ZTsKPiAtfTsKPiAtCj4gIC8qKgo+ICAgKiBzdHJ1Y3Qgc3VueGlfbmFuZF9jaGlwIC0gc3RvcmVz IE5BTkQgY2hpcCBkZXZpY2UgcmVsYXRlZCBpbmZvcm1hdGlvbgo+ICAgKgo+ICAgKiBAbm9kZTog dXNlZCB0byBzdG9yZSBOQU5EIGNoaXBzIGludG8gYSBsaXN0Cj4gICAqIEBuYW5kOiBiYXNlIE5B TkQgY2hpcCBzdHJ1Y3R1cmUKPiAtICogQGVjYzogRUNDIGNvbnRyb2xsZXIgc3RydWN0dXJlCj4g ICAqIEBjbGtfcmF0ZTogY2xrX3JhdGUgcmVxdWlyZWQgZm9yIHRoaXMgTkFORCBjaGlwCj4gKyAq IEBlY2NfY3RsOiBFQ0NfQ1RMIHJlZ2lzdGVyIHZhbHVlIGZvciB0aGlzIE5BTkQgY2hpcAo+ICAg KiBAdGltaW5nX2NmZzogVElNSU5HX0NGRyByZWdpc3RlciB2YWx1ZSBmb3IgdGhpcyBOQU5EIGNo aXAKPiAgICogQHRpbWluZ19jdGw6IFRJTUlOR19DVEwgcmVnaXN0ZXIgdmFsdWUgZm9yIHRoaXMg TkFORCBjaGlwCj4gICAqIEBuc2VsczogbnVtYmVyIG9mIENTIGxpbmVzIHJlcXVpcmVkIGJ5IHRo ZSBOQU5EIGNoaXAKPiBAQCAtMTkzLDggKzE4NCw4IEBAIHN0cnVjdCBzdW54aV9uYW5kX2h3X2Vj YyB7Cj4gIHN0cnVjdCBzdW54aV9uYW5kX2NoaXAgewo+ICAJc3RydWN0IGxpc3RfaGVhZCBub2Rl Owo+ICAJc3RydWN0IG5hbmRfY2hpcCBuYW5kOwo+IC0Jc3RydWN0IHN1bnhpX25hbmRfaHdfZWNj ICplY2M7Cj4gIAl1bnNpZ25lZCBsb25nIGNsa19yYXRlOwo+ICsJdTMyIGVjY19jdGw7Cj4gIAl1 MzIgdGltaW5nX2NmZzsKPiAgCXUzMiB0aW1pbmdfY3RsOwo+ICAJaW50IG5zZWxzOwo+IEBAIC02 ODksMjYgKzY4MCwxNSBAQCBzdGF0aWMgdm9pZCBzdW54aV9uZmNfaHdfZWNjX2VuYWJsZShzdHJ1 Y3QgbmFuZF9jaGlwICpuYW5kKQo+ICB7Cj4gIAlzdHJ1Y3Qgc3VueGlfbmFuZF9jaGlwICpzdW54 aV9uYW5kID0gdG9fc3VueGlfbmFuZChuYW5kKTsKPiAgCXN0cnVjdCBzdW54aV9uZmMgKm5mYyA9 IHRvX3N1bnhpX25mYyhuYW5kLT5jb250cm9sbGVyKTsKPiAtCXUzMiBlY2NfY3RsOwo+IC0KPiAt CWVjY19jdGwgPSByZWFkbChuZmMtPnJlZ3MgKyBORkNfUkVHX0VDQ19DVEwpOwo+IC0JZWNjX2N0 bCAmPSB+KE5GQ19FQ0NfTU9ERV9NU0sgfCBORkNfRUNDX1BJUEVMSU5FIHwKPiAtCQkgICAgIE5G Q19FQ0NfQkxPQ0tfU0laRV9NU0spOwo+IC0JZWNjX2N0bCB8PSBORkNfRUNDX0VOIHwgTkZDX0VD Q19NT0RFKHN1bnhpX25hbmQtPmVjYy0+bW9kZSkgfAo+IC0JCSAgIE5GQ19FQ0NfRVhDRVBUSU9O IHwgTkZDX0VDQ19QSVBFTElORTsKPiAtCj4gLQlpZiAobmFuZC0+ZWNjLnNpemUgPT0gNTEyKQo+ IC0JCWVjY19jdGwgfD0gTkZDX0VDQ19CTE9DS181MTI7Cj4gIAo+IC0Jd3JpdGVsKGVjY19jdGws IG5mYy0+cmVncyArIE5GQ19SRUdfRUNDX0NUTCk7Cj4gKwl3cml0ZWwoc3VueGlfbmFuZC0+ZWNj X2N0bCwgbmZjLT5yZWdzICsgTkZDX1JFR19FQ0NfQ1RMKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZv aWQgc3VueGlfbmZjX2h3X2VjY19kaXNhYmxlKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQpCj4gIHsK PiAgCXN0cnVjdCBzdW54aV9uZmMgKm5mYyA9IHRvX3N1bnhpX25mYyhuYW5kLT5jb250cm9sbGVy KTsKPiAgCj4gLQl3cml0ZWwocmVhZGwobmZjLT5yZWdzICsgTkZDX1JFR19FQ0NfQ1RMKSAmIH5O RkNfRUNDX0VOLAo+IC0JICAgICAgIG5mYy0+cmVncyArIE5GQ19SRUdfRUNDX0NUTCk7Cj4gKwl3 cml0ZWwoMCwgbmZjLT5yZWdzICsgTkZDX1JFR19FQ0NfQ1RMKTsKPiAgfQo+ICAKPiAgc3RhdGlj IGlubGluZSB2b2lkIHN1bnhpX25mY191c2VyX2RhdGFfdG9fYnVmKHUzMiB1c2VyX2RhdGEsIHU4 ICpidWYpCj4gQEAgLTE2MjYsMTEgKzE2MDYsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10ZF9v b2JsYXlvdXRfb3BzIHN1bnhpX25hbmRfb29ibGF5b3V0X29wcyA9IHsKPiAgCS5mcmVlID0gc3Vu eGlfbmFuZF9vb2JsYXlvdXRfZnJlZSwKPiAgfTsKPiAgCj4gLXN0YXRpYyB2b2lkIHN1bnhpX25h bmRfaHdfZWNjX2N0cmxfY2xlYW51cChzdHJ1Y3Qgc3VueGlfbmFuZF9jaGlwICpzdW54aV9uYW5k KQo+IC17Cj4gLQlrZnJlZShzdW54aV9uYW5kLT5lY2MpOwo+IC19Cj4gLQo+ICBzdGF0aWMgaW50 IHN1bnhpX25hbmRfaHdfZWNjX2N0cmxfaW5pdChzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLAo+ICAJ CQkJICAgICAgIHN0cnVjdCBuYW5kX2VjY19jdHJsICplY2MsCj4gIAkJCQkgICAgICAgc3RydWN0 IGRldmljZV9ub2RlICpucCkKPiBAQCAtMTY0MSw3ICsxNjE2LDYgQEAgc3RhdGljIGludCBzdW54 aV9uYW5kX2h3X2VjY19jdHJsX2luaXQoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiAgCXN0cnVj dCBtdGRfaW5mbyAqbXRkID0gbmFuZF90b19tdGQobmFuZCk7Cj4gIAlzdHJ1Y3QgbmFuZF9kZXZp Y2UgKm5hbmRkZXYgPSBtdGRfdG9fbmFuZGRldihtdGQpOwo+ICAJaW50IG5zZWN0b3JzOwo+IC0J aW50IHJldDsKPiAgCWludCBpOwo+ICAKPiAgCWlmIChuYW5kZGV2LT5lY2MudXNlcl9jb25mLmZs YWdzICYgTkFORF9FQ0NfTUFYSU1JWkVfU1RSRU5HVEgpIHsKPiBAQCAtMTY3NSwxMCArMTY0OSw2 IEBAIHN0YXRpYyBpbnQgc3VueGlfbmFuZF9od19lY2NfY3RybF9pbml0KHN0cnVjdCBuYW5kX2No aXAgKm5hbmQsCj4gIAlpZiAoZWNjLT5zaXplICE9IDUxMiAmJiBlY2MtPnNpemUgIT0gMTAyNCkK PiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gLQlzdW54aV9uYW5kLT5lY2MgPSBremFsbG9jKHNp emVvZigqc3VueGlfbmFuZC0+ZWNjKSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIXN1bnhpX25hbmQt PmVjYykKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiAtCj4gIAkvKiBQcmVmZXIgMWsgRUNDIGNodW5r IG92ZXIgNTEyIG9uZXMgKi8KPiAgCWlmIChlY2MtPnNpemUgPT0gNTEyICYmIG10ZC0+d3JpdGVz aXplID4gNTEyKSB7Cj4gIAkJZWNjLT5zaXplID0gMTAyNDsKPiBAQCAtMTY5OSwxMiArMTY2OSw5 IEBAIHN0YXRpYyBpbnQgc3VueGlfbmFuZF9od19lY2NfY3RybF9pbml0KHN0cnVjdCBuYW5kX2No aXAgKm5hbmQsCj4gIAo+ICAJaWYgKGkgPj0gQVJSQVlfU0laRShzdHJlbmd0aHMpKSB7Cj4gIAkJ ZGV2X2VycihuZmMtPmRldiwgInVuc3VwcG9ydGVkIHN0cmVuZ3RoXG4iKTsKPiAtCQlyZXQgPSAt RU5PVFNVUFA7Cj4gLQkJZ290byBlcnI7Cj4gKwkJcmV0dXJuIC1FTk9UU1VQUDsKPiAgCX0KPiAg Cj4gLQlzdW54aV9uYW5kLT5lY2MtPm1vZGUgPSBpOwo+IC0KPiAgCS8qIEhXIEVDQyBhbHdheXMg cmVxdWVzdCBFQ0MgYnl0ZXMgZm9yIDEwMjQgYnl0ZXMgYmxvY2tzICovCj4gIAllY2MtPmJ5dGVz ID0gRElWX1JPVU5EX1VQKGVjYy0+c3RyZW5ndGggKiBmbHMoOCAqIDEwMjQpLCA4KTsKPiAgCj4g QEAgLTE3MTMsMTAgKzE2ODAsMTQgQEAgc3RhdGljIGludCBzdW54aV9uYW5kX2h3X2VjY19jdHJs X2luaXQoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiAgCj4gIAluc2VjdG9ycyA9IG10ZC0+d3Jp dGVzaXplIC8gZWNjLT5zaXplOwo+ICAKPiAtCWlmIChtdGQtPm9vYnNpemUgPCAoKGVjYy0+Ynl0 ZXMgKyA0KSAqIG5zZWN0b3JzKSkgewo+IC0JCXJldCA9IC1FSU5WQUw7Cj4gLQkJZ290byBlcnI7 Cj4gLQl9Cj4gKwlpZiAobXRkLT5vb2JzaXplIDwgKChlY2MtPmJ5dGVzICsgNCkgKiBuc2VjdG9y cykpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJc3VueGlfbmFuZC0+ZWNjX2N0bCA9IE5G Q19FQ0NfTU9ERShpKSB8IE5GQ19FQ0NfRVhDRVBUSU9OIHwKPiArCQkJICAgICAgTkZDX0VDQ19Q SVBFTElORSB8IE5GQ19FQ0NfRU47Cj4gKwo+ICsJaWYgKGVjYy0+c2l6ZSA9PSA1MTIpCj4gKwkJ c3VueGlfbmFuZC0+ZWNjX2N0bCB8PSBORkNfRUNDX0JMT0NLXzUxMjsKPiAgCj4gIAllY2MtPnJl YWRfb29iID0gc3VueGlfbmZjX2h3X2VjY19yZWFkX29vYjsKPiAgCWVjYy0+d3JpdGVfb29iID0g c3VueGlfbmZjX2h3X2VjY193cml0ZV9vb2I7Cj4gQEAgLTE3MzksMjUgKzE3MTAsNiBAQCBzdGF0 aWMgaW50IHN1bnhpX25hbmRfaHdfZWNjX2N0cmxfaW5pdChzdHJ1Y3QgbmFuZF9jaGlwICpuYW5k LAo+ICAJZWNjLT53cml0ZV9vb2JfcmF3ID0gbmFuZF93cml0ZV9vb2Jfc3RkOwo+ICAKPiAgCXJl dHVybiAwOwo+IC0KPiAtZXJyOgo+IC0Ja2ZyZWUoc3VueGlfbmFuZC0+ZWNjKTsKPiAtCj4gLQly ZXR1cm4gcmV0Owo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBzdW54aV9uYW5kX2VjY19jbGVhbnVw KHN0cnVjdCBzdW54aV9uYW5kX2NoaXAgKnN1bnhpX25hbmQpCj4gLXsKPiAtCXN0cnVjdCBuYW5k X2VjY19jdHJsICplY2MgPSAmc3VueGlfbmFuZC0+bmFuZC5lY2M7Cj4gLQo+IC0Jc3dpdGNoIChl Y2MtPmVuZ2luZV90eXBlKSB7Cj4gLQljYXNlIE5BTkRfRUNDX0VOR0lORV9UWVBFX09OX0hPU1Q6 Cj4gLQkJc3VueGlfbmFuZF9od19lY2NfY3RybF9jbGVhbnVwKHN1bnhpX25hbmQpOwo+IC0JCWJy ZWFrOwo+IC0JY2FzZSBOQU5EX0VDQ19FTkdJTkVfVFlQRV9OT05FOgo+IC0JZGVmYXVsdDoKPiAt CQlicmVhazsKPiAtCX0KPiAgfQo+ICAKPiAgc3RhdGljIGludCBzdW54aV9uYW5kX2F0dGFjaF9j aGlwKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQpCj4gQEAgLTE5NzAsNyArMTkyMiw2IEBAIHN0YXRp YyB2b2lkIHN1bnhpX25hbmRfY2hpcHNfY2xlYW51cChzdHJ1Y3Qgc3VueGlfbmZjICpuZmMpCj4g IAkJcmV0ID0gbXRkX2RldmljZV91bnJlZ2lzdGVyKG5hbmRfdG9fbXRkKGNoaXApKTsKPiAgCQlX QVJOX09OKHJldCk7Cj4gIAkJbmFuZF9jbGVhbnVwKGNoaXApOwo+IC0JCXN1bnhpX25hbmRfZWNj X2NsZWFudXAoc3VueGlfbmFuZCk7Cj4gIAkJbGlzdF9kZWwoJnN1bnhpX25hbmQtPm5vZGUpOwo+ ICAJfQo+ICB9CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==