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 X-Spam-Level: X-Spam-Status: No, score=-15.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9C8EC433DB for ; Mon, 1 Feb 2021 14:45:14 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6A79864E56 for ; Mon, 1 Feb 2021 14:45:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6A79864E56 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID: Subject: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=zUXAGajJhDRj1VIw8a1Y5TfeQ1hAwQpL1t5j5oUNT+A=; b=UaZAvgotqg4FF1yUIBv4PcAQk WdzSdYlhQBR6OntftIt15ACLSNAVxqonZ0JgIEs4ODwPMM00Fpqo+AHEGurQX6myZU5AKuJH/CE52 6y614zmqTfYJb5rJ1KULcR2mE+EHJq/hPhsFq/6ndoZRpFE4FCdeyw0pGTfE7UhZJe8gmcg1X6gcG r9KF3/e1h0Kznr5vEirXdC2gxh8DBZj10SCWzpwa2W5eUHECK9vI3bIQXkHQztRIcN/PuZFUaYoZO IMhkLaT7qdn4MaQ37hIvmx2K1vpR+YkDLrP3SKmNPLFHEC7c/y+IoZjG8YKojc1s9QcGMLC15tOfv OOozs9nhA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6aRP-0008Ah-ND; Mon, 01 Feb 2021 14:44:35 +0000 Received: from relay8-d.mail.gandi.net ([217.70.183.201]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6aRN-00089x-G9 for linux-mtd@lists.infradead.org; Mon, 01 Feb 2021 14:44:34 +0000 X-Originating-IP: 86.210.203.150 Received: from xps13 (lfbn-tou-1-972-150.w86-210.abo.wanadoo.fr [86.210.203.150]) (Authenticated sender: miquel.raynal@bootlin.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 262961BF21C; Mon, 1 Feb 2021 14:44:30 +0000 (UTC) Date: Mon, 1 Feb 2021 15:44:29 +0100 From: Miquel Raynal To: zhengxunli Subject: Re: [PATCH 1/3] mtd: spi-nor: macronix: add support for Macronix octaflash Message-ID: <20210201154429.4bd5e15a@xps13> In-Reply-To: <1611908018-29937-2-git-send-email-zhengxunli@mxic.com.tw> References: <1611908018-29937-1-git-send-email-zhengxunli@mxic.com.tw> <1611908018-29937-2-git-send-email-zhengxunli@mxic.com.tw> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; 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-20210201_094433_715928_72B0C8B3 X-CRM114-Status: GOOD ( 33.58 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: juliensu@mxic.com.tw, ycllin@mxic.com.tw, linux-mtd@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGVsbG8sCgp6aGVuZ3h1bmxpIDx6aGVuZ3h1bmxpQG14aWMuY29tLnR3PiB3cm90ZSBvbiBGcmks IDI5IEphbiAyMDIxIDE2OjEzOjM2CiswODAwOgoKPiBUaGUgb2NhdGZsYXNoIGlzIGFuIHhTUEkg Y29tcGxpYW50IG9jdGFsIERUUiBmbGFzaC4gQWRkIHN1cHBvcnQKPiBmb3IgdXNpbmcgaXQgaW4g b2N0YWwgRFRSIG1vZGUuCj4gCj4gRW5hYmxlIE9jdGFsIERUUiBtb2RlIHdpdGggMjAgZHVtbXkg Y3ljbGVzIHRvIGFsbG93IHJ1bm5pbmcgYXQgdGhlCj4gbWF4aW11bSBzdXBwb3J0ZWQgZnJlcXVl bmN5IG9mIDIwME1oei4KPiAKPiBXaGVuIHJlYWRpbmcgSUQgaW4gT0NUQUwgRFRSIG1vZGUsIElE IHdpbGwgYXBwZWFyIGluIGEgcmVwZWF0ZWQKPiBtYW5uZXIuIGV4OiBJRFswXSA9IDB4YzIsIElE WzFdID0gMHhjMiwgSURbMl0gPSAweDk0LCBJRFszXSA9IDB4OTQuLi4KPiBSZWFycmFuZ2UgdGhl IElEIHNvIHRoYXQgdGhlIElEIGNhbiBwYXNzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IHpoZW5neHVu bGkgPHpoZW5neHVubGlAbXhpYy5jb20udHc+Cj4gLS0tCj4gIGRyaXZlcnMvbXRkL3NwaS1ub3Iv bWFjcm9uaXguYyB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+ICAxIGZpbGUgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tdGQvc3BpLW5vci9tYWNyb25peC5jIGIvZHJpdmVycy9tdGQvc3BpLW5vci9tYWNy b25peC5jCj4gaW5kZXggOTIwM2FiYS4uNzI1MzU2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL210 ZC9zcGktbm9yL21hY3Jvbml4LmMKPiArKysgYi9kcml2ZXJzL210ZC9zcGktbm9yL21hY3Jvbml4 LmMKPiBAQCAtOCw2ICs4LDE1IEBACj4gIAo+ICAjaW5jbHVkZSAiY29yZS5oIgo+ICAKPiArI2Rl ZmluZSBTUElOT1JfT1BfUkRfQ1IyCQkweDcxCQkvKiBSZWFkIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgMiAqLwo+ICsjZGVmaW5lIFNQSU5PUl9PUF9XUl9DUjIJCTB4NzIJCS8qIFdyaXRlIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgMiAqLwo+ICsjZGVmaW5lIFNQSU5PUl9PUF9NWElDX0RUUl9SRAkJ MHhlZQkJLyogRmFzdCBSZWFkIG9wY29kZSBpbiBEVFIgbW9kZSAqLwo+ICsjZGVmaW5lIFNQSU5P Ul9SRUdfTVhJQ19DUjJfTU9ERQkweDAwMDAwMDAwCS8qIEZvciBzZXR0aW5nIG9jdGFsIERUUiBt b2RlICovCj4gKyNkZWZpbmUgU1BJTk9SX1JFR19NWElDX09QSV9EVFJfRU4JMHgyCQkvKiBFbmFi bGUgT2N0YWwgRFRSICovCj4gKyNkZWZpbmUgU1BJTk9SX1JFR19NWElDX09QSV9EVFJfRElTCTB4 MQkJLyogRGlzYWJsZSBPY3RhbCBEVFIgKi8KPiArI2RlZmluZSBTUElOT1JfUkVHX01YSUNfQ1Iy X0RDCQkweDAwMDAwMzAwCS8qIEZvciBzZXR0aW5nIGR1bW15IGN5Y2xlcyAqLwo+ICsjZGVmaW5l IFNQSU5PUl9SRUdfTVhJQ19EQ18yMAkJMHgwCQkvKiBTZXR0aW5nIGR1bW15IGN5Y2xlcyB0byAy MCAqLwo+ICsKPiAgc3RhdGljIGludAo+ICBteDI1bDI1NjM1X3Bvc3RfYmZwdF9maXh1cHMoc3Ry dWN0IHNwaV9ub3IgKm5vciwKPiAgCQkJICAgIGNvbnN0IHN0cnVjdCBzZmRwX3BhcmFtZXRlcl9o ZWFkZXIgKmJmcHRfaGVhZGVyLAo+IEBAIC0zMyw2ICs0MiwxMTUgQEAKPiAgCS5wb3N0X2JmcHQg PSBteDI1bDI1NjM1X3Bvc3RfYmZwdF9maXh1cHMsCj4gIH07Cj4gIAo+ICsvKioKPiArICogc3Bp X25vcl9tYWNyb25peF9vY3RhbF9kdHJfZW5hYmxlKCkgLSBFbmFibGUgb2N0YWwgRFRSIG9uIE1h Y3Jvbml4IGZsYXNoZXMuCj4gKyAqIEBub3I6CQlwb2ludGVyIHRvIGEgJ3N0cnVjdCBzcGlfbm9y Jwo+ICsgKiBAZW5hYmxlOgkJd2hldGhlciB0byBlbmFibGUgb3IgZGlzYWJsZSBPY3RhbCBEVFIK PiArICoKPiArICogVGhpcyBhbHNvIHNldHMgdGhlIG1lbW9yeSBhY2Nlc3MgZHVtbXkgY3ljbGVz IHRvIDIwIHRvIGFsbG93IHRoZSBmbGFzaCB0bwo+ICsgKiBydW4gYXQgdXAgdG8gMjAwTUh6Lgo+ ICsgKgo+ICsgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgLWVycm5vIG90aGVyd2lzZS4KPiArICov Cj4gK3N0YXRpYyBpbnQgc3BpX25vcl9tYWNyb25peF9vY3RhbF9kdHJfZW5hYmxlKHN0cnVjdCBz cGlfbm9yICpub3IsIGJvb2wgZW5hYmxlKQo+ICt7Cj4gKwlzdHJ1Y3Qgc3BpX21lbV9vcCBvcDsK PiArCXU4ICpidWYgPSBub3ItPmJvdW5jZWJ1ZiwgZmxhc2hfaWRbM10sIGk7Cj4gKwlpbnQgcmV0 Owo+ICsKPiArCWlmIChlbmFibGUpIHsKPiArCQkvKiBVc2UgMjAgZHVtbXkgY3ljbGVzIGZvciBt ZW1vcnkgYXJyYXkgcmVhZHMuICovCj4gKwkJcmV0ID0gc3BpX25vcl93cml0ZV9lbmFibGUobm9y KTsKPiArCQlpZiAocmV0KQo+ICsJCQlyZXR1cm4gcmV0Owo+ICsKPiArCQkqYnVmID0gU1BJTk9S X1JFR19NWElDX0RDXzIwOwo+ICsJCW9wID0gKHN0cnVjdCBzcGlfbWVtX29wKQoKSSBkb24ndCB0 aGluayB5b3UgbmVlZCBhIGNhc3QgaGVyZSwgZG8geW91PyAoc2FtZSBiZWxvdykKCj4gKwkJCVNQ SV9NRU1fT1AoU1BJX01FTV9PUF9DTUQoU1BJTk9SX09QX1dSX0NSMiwgMSksCj4gKwkJCQkgICBT UElfTUVNX09QX0FERFIoNCwgU1BJTk9SX1JFR19NWElDX0NSMl9EQywgMSksCj4gKwkJCQkgICBT UElfTUVNX09QX05PX0RVTU1ZLAo+ICsJCQkJICAgU1BJX01FTV9PUF9EQVRBX09VVCgxLCBidWYs IDEpKTsKPiArCj4gKwkJcmV0ID0gc3BpX21lbV9leGVjX29wKG5vci0+c3BpbWVtLCAmb3ApOwo+ ICsJCWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwo+ICsJCXJldCA9IHNwaV9ub3Jfd2Fp dF90aWxsX3JlYWR5KG5vcik7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJldDsKPiArCj4g KwkJbm9yLT5yZWFkX2R1bW15ID0gMjA7CgpJIGFtIG5vdCBlbnRpcmVseSBjb252aW5jZWQgYnkg dGhpcyB2YWx1ZSwgeWV0LgoKSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSB5b3VyIGlzc3VlLCB0 aGUgZmxhc2ggbmVlZHMgc29tZSBleHRyYSB0aW1lCmJlZm9yZSByZWNlaXZpbmcvc2VuZGluZyBk YXRhLiBZb3UgZXN0aW1hdGUgaXQgdG8gYmUgYXJvdW5kIDgwMG5zCigyMCBieXRlcyBAIDIwTUh6 KSwgc28gd291bGQgaXQgYmUgcG9zc2libGUgdG8gZGVyaXZlIHRoZSBtaW5pbXVtCm51bWJlciBv ZiBkdW1teSBjeWNsZXMgbmVlZGVkIGZvciB0aGUgZmxhc2ggYW5kIHVzZSBhIGR5bmFtaWMgdmFs dWU/Ck90aGVyd2lzZSBpZiB0aGUgY29udHJvbGxlciBpcyBub3QgcnVubmluZyBhdCB0aGUgbWF4 aW11bSBmcmVxdWVuY3kKeW91J2xsIGVuZCB1cCB3YWl0aW5nIGEgbG90IG1vcmUgdGhhbiBleHBl Y3RlZC4KCj4gKwl9Cj4gKwo+ICsJLyogU2V0L3Vuc2V0IHRoZSBvY3RhbCBhbmQgRFRSIGVuYWJs ZSBiaXRzLiAqLwo+ICsJcmV0ID0gc3BpX25vcl93cml0ZV9lbmFibGUobm9yKTsKPiArCWlmIChy ZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwlpZiAoZW5hYmxlKQo+ICsJCSpidWYgPSBTUElO T1JfUkVHX01YSUNfT1BJX0RUUl9FTjsKPiArCWVsc2UKPiArCQkqYnVmID0gU1BJTk9SX1JFR19N WElDX09QSV9EVFJfRElTOwo+ICsKPiArCW9wID0gKHN0cnVjdCBzcGlfbWVtX29wKQo+ICsJCVNQ SV9NRU1fT1AoU1BJX01FTV9PUF9DTUQoU1BJTk9SX09QX1dSX0NSMiwgMSksCj4gKwkJCSAgIFNQ SV9NRU1fT1BfQUREUig0LCBTUElOT1JfUkVHX01YSUNfQ1IyX01PREUsIDEpLAo+ICsJCQkgICBT UElfTUVNX09QX05PX0RVTU1ZLAo+ICsJCQkgICBTUElfTUVNX09QX0RBVEFfT1VUKDEsIGJ1Ziwg MSkpOwo+ICsKPiArCWlmICghZW5hYmxlKQo+ICsJCXNwaV9ub3Jfc3BpbWVtX3NldHVwX29wKG5v ciwgJm9wLCBTTk9SX1BST1RPXzhfOF84X0RUUik7Cj4gKwo+ICsJcmV0ID0gc3BpX21lbV9leGVj X29wKG5vci0+c3BpbWVtLCAmb3ApOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsK PiArCS8qIFJlYWQgZmxhc2ggSUQgdG8gbWFrZSBzdXJlIHRoZSBzd2l0Y2ggd2FzIHN1Y2Nlc3Nm dWwuICovCj4gKwlvcCA9IChzdHJ1Y3Qgc3BpX21lbV9vcCkKPiArCQlTUElfTUVNX09QKFNQSV9N RU1fT1BfQ01EKFNQSU5PUl9PUF9SRElELCAxKSwKPiArCQkJICAgU1BJX01FTV9PUF9BRERSKGVu YWJsZSA/IDQgOiAwLCAwLCAxKSwKPiArCQkJICAgU1BJX01FTV9PUF9EVU1NWShlbmFibGUgPyA0 IDogMCwgMSksCj4gKwkJCSAgIFNQSV9NRU1fT1BfREFUQV9JTihTUElfTk9SX01BWF9JRF9MRU4s IGJ1ZiwgMSkpOwo+ICsKPiArCWlmIChlbmFibGUpCj4gKwkJc3BpX25vcl9zcGltZW1fc2V0dXBf b3Aobm9yLCAmb3AsIFNOT1JfUFJPVE9fOF84XzhfRFRSKTsKPiArCj4gKwlyZXQgPSBzcGlfbWVt X2V4ZWNfb3Aobm9yLT5zcGltZW0sICZvcCk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7 Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IG5vci0+aW5mby0+aWRfbGVuOyBpKyspCj4gKwkJZmxh c2hfaWRbaV0gPSBidWZbaSAqIDJdOwo+ICsKPiArCWlmIChtZW1jbXAoZmxhc2hfaWQsIG5vci0+ aW5mby0+aWQsIG5vci0+aW5mby0+aWRfbGVuKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKCkkgYW0g YSBiaXQgY29uZnVzZWQgYnkgdGhlIGN1cnJlbnQgY29kZSBvcmdhbml6YXRpb246IGhlcmUgeW91 IGFyZQp0cnlpbmcgdG8gdmFsaWRhdGUgdGhlIGZsYXNoIElELCBidXQgeW91IGFscmVhZHkgZW5h YmxlZCB0aGUgb2N0YWwKRFRSIG1vZGUuCgpJIHdvdWxkIGhhdmUgaW1hZ2luZWQgc29tZXRoaW5n IG1vcmU6Ci0gVHJ5IHRvIGRldGVjdCB0aGUgY2hpcCBjb3JyZWN0bHkKLSBEb2VzIGl0IHN1cHBv cnRzIG9jdGFsIERUUiBtb2RlID8KLSBJZiB5ZXMsIGVuYWJsZSBpdC4KCj4gKwo+ICsJcmV0dXJu IDA7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIG9jdGFmbGFzaF9kZWZhdWx0X2luaXQoc3RydWN0 IHNwaV9ub3IgKm5vcikKPiArewo+ICsJbm9yLT5wYXJhbXMtPm9jdGFsX2R0cl9lbmFibGUgPSBz cGlfbm9yX21hY3Jvbml4X29jdGFsX2R0cl9lbmFibGU7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lk IG9jdGFmbGFzaF9wb3N0X3NmZHBfZml4dXAoc3RydWN0IHNwaV9ub3IgKm5vcikKPiArewo+ICsJ LyogU2V0IHRoZSBGYXN0IFJlYWQgc2V0dGluZ3MuICovCj4gKwlub3ItPnBhcmFtcy0+aHdjYXBz Lm1hc2sgfD0gU05PUl9IV0NBUFNfUkVBRF84XzhfOF9EVFI7Cj4gKwlzcGlfbm9yX3NldF9yZWFk X3NldHRpbmdzKCZub3ItPnBhcmFtcy0+cmVhZHNbU05PUl9DTURfUkVBRF84XzhfOF9EVFJdLAo+ ICsJCQkJICAwLCAyMCwgU1BJTk9SX09QX01YSUNfRFRSX1JELAoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5eCgpJZiB0aGlzIGlzIHRoZSBudW1iZXIgb2YgZHVtbXkgY3lj bGVzLCBJIGd1ZXNzIHlvdSBzaG91bGQgdXNlCm5vci0+cmVhZF9kdW1teSBpbnN0ZWFkLCB1bmxl c3MgaXQgaGFzIG5vdCBiZWVuIHBvcHVsYXRlZCB5ZXQuIEluIHRoaXMKY2FzZSwgcGxlYXNlIHVz ZSBhIGRlZmluZSB3aXRoIGEgZ2VuZXJpYyBuYW1lIGFuZCB0aGUgImhpZ2hlc3QgdmFsdWUiCnRo YXQgd2lsbCBtYWtlIGFsbCBmcmVxdWVuY2llcyB0aGlzIGNoaXAgaXMgYWJsZSB0byBydW4gYXQg dmFsaWQiLgoKPiArCQkJCSAgU05PUl9QUk9UT184XzhfOF9EVFIpOwo+ICsKPiArCW5vci0+Y21k X2V4dF90eXBlID0gU1BJX05PUl9FWFRfSU5WRVJUOwo+ICsJbm9yLT5wYXJhbXMtPnJkc3JfZHVt bXkgPSA0Owo+ICsJbm9yLT5wYXJhbXMtPnJkc3JfYWRkcl9uYnl0ZXMgPSA0Owo+ICt9Cj4gKwo+ ICtzdGF0aWMgc3RydWN0IHNwaV9ub3JfZml4dXBzIG9jdGFmbGFzaF9maXh1cHMgPSB7Cj4gKwku ZGVmYXVsdF9pbml0ID0gb2N0YWZsYXNoX2RlZmF1bHRfaW5pdCwKPiArCS5wb3N0X3NmZHAgPSBv Y3RhZmxhc2hfcG9zdF9zZmRwX2ZpeHVwLAo+ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBmbGFzaF9pbmZvIG1hY3Jvbml4X3BhcnRzW10gPSB7Cj4gIAkvKiBNYWNyb25peCAqLwo+ICAJ eyAibXgyNWw1MTJlIiwgICBJTkZPKDB4YzIyMDEwLCAwLCA2NCAqIDEwMjQsICAgMSwgU0VDVF80 SykgfSwKPiBAQCAtOTAsNiArMjA4LDEwIEBACj4gIAl7ICJteDY2dTJnNDVnIiwJIElORk8oMHhj MjI1M2MsIDAsIDY0ICogMTAyNCwgNDA5NiwKPiAgCQkJICAgICAgU0VDVF80SyB8IFNQSV9OT1Jf RFVBTF9SRUFEIHwKPiAgCQkJICAgICAgU1BJX05PUl9RVUFEX1JFQUQgfCBTUElfTk9SXzRCX09Q Q09ERVMpIH0sCj4gKwl7ICJteDY2dXcyZzM0NWciLCBJTkZPKDB4YzI5NDNjLCAwLCA2NCAqIDEw MjQsIDQwOTYsCj4gKwkJCSAgICAgICBTRUNUXzRLIHwgU1BJX05PUl9PQ1RBTF9EVFJfUkVBRCB8 Cj4gKwkJCSAgICAgICBTUElfTk9SX09DVEFMX0RUUl9QUCB8IFNQSV9OT1JfNEJfT1BDT0RFUykK PiArCQkuZml4dXBzID0gJm9jdGFmbGFzaF9maXh1cHMgfSwKPiAgfTsKPiAgCj4gIHN0YXRpYyB2 b2lkIG1hY3Jvbml4X2RlZmF1bHRfaW5pdChzdHJ1Y3Qgc3BpX25vciAqbm9yKQoKVGhhbmtzLApN aXF1w6hsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo=