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 30794CCA476 for ; Mon, 13 Oct 2025 12:01:49 +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:From:References:Cc: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=3OPwbmL1V8itIwHNnclYpYcP0dYijT6fE3L7pdLyM6c=; b=4RavXZ5PTR+z2D JKNcNy2dXiq7t09bLfC22XfTAaNf9DPAg4a3q2msQmmVzy7RTfmpRsckVlgfWyaQ9iIX+fnQwRzXv +DM4wCiZYrwaN0t0uSoa9DtdAeQMHCvw0aukAbL4SnyjsHA88/kSh3kM2AreAMvFgjMJfD/VQFOi7 IS7JTVlvYJPJNhRc96bcbL0LWPikICd0Yj2iqsDFn1+hXjjaiB8b8XMezzlEkwaEqZD/buUrTnTsB 0UukqtVbMHYtk7+m4H63bopKLN2xgnEGsdDNaXpz/5FixkwA7NfWlCJdbqpEPD6itfWv5ye/v90ZG 3zAfuD70t3pJro54dqbw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1v8HFL-0000000D4gE-0Esi; Mon, 13 Oct 2025 12:01:47 +0000 Received: from smtpout-02.galae.net ([185.246.84.56]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1v8HFI-0000000D4fL-25QH for linux-mtd@lists.infradead.org; Mon, 13 Oct 2025 12:01:46 +0000 Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 1425E1A133A; Mon, 13 Oct 2025 12:01:43 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id DCC48606C6; Mon, 13 Oct 2025 12:01:42 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E0139102F225F; Mon, 13 Oct 2025 14:01:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760356902; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:content-language:in-reply-to:references; bh=A2Am9RxeL4qenx6LEjtOTRzh04rzYyxX+YGi6enft4I=; b=powh/tvtK15QeSwTgpDjrBgf4qKVSU82JLyGSof7TylTfn8rTKDJQfH9Zl6O1H3bLkgTEr cxzKzEqcQA6JzxWZAS5x+q/DQifiaUtL0wryyA/FsX7BZ6MYS+AkBzRqU1WXgnpIE7MvWY 4jIkVvvx+x16BTU0xgUuTggubeLFr/Twdo/XdlONFLbu/0j64k0SZwz0dPL0hVU7wB+TD0 7ul1OEXshqUl43MCopk4E2ptSVNHSAkZmyk6N+OzczUVC9bAOAWq6r36sYKl6uzeUIEWPx rI1n6jluHopzGHnwdhc+8EaC+qPyJQFdc4cJLcOUs+HPyBIyxQB3/mA2XSLfuA== Message-ID: Date: Mon, 13 Oct 2025 14:01:37 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 15/15] mtd: rawnand: sunxi: Add support for H616 nand controller To: =?UTF-8?Q?Jernej_=C5=A0krabec?= , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Samuel Holland Cc: Wentao Liang , =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= , Maxime Ripard , Thomas Petazzoni , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org References: <20251010084042.341224-1-richard.genoud@bootlin.com> <20251010084042.341224-16-richard.genoud@bootlin.com> <3373475.aeNJFYEL58@jernej-laptop> From: Richard GENOUD Content-Language: en-US, fr Organization: Bootlin In-Reply-To: <3373475.aeNJFYEL58@jernej-laptop> X-Last-TLS-Session-Version: TLSv1.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251013_050144_806883_B185A840 X-CRM114-Status: GOOD ( 25.54 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list 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-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org TGUgMTEvMTAvMjAyNSDDoCAxMjo0OCwgSmVybmVqIMWga3JhYmVjIGEgw6ljcml0wqA6Cj4gRG5l IHBldGVrLCAxMC4gb2t0b2JlciAyMDI1IG9iIDEwOjQwOjQyIFNyZWRuamVldnJvcHNraSBwb2xl dG5pIMSNYXMgamUgUmljaGFyZCBHZW5vdWQgbmFwaXNhbChhKToKPj4gVGhlIEg2MTYgbmFuZCBj b250cm9sbGVyIGhhcyB0aGUgc2FtZSBiYXNlIGFzIEExMC9BMjMsIHdpdGggc29tZQo+PiBkaWZm ZXJlbmNlczoKPj4gLSBtZG1hIGlzIGJhc2VkIG9uIGNoYWluZWQgYnVmZmVycwo+PiAtIGl0cyBF Q0Mgc3VwcG9ydHMgdXAgdG8gODBiaXQgcGVyIDEwMjRieXRlcwo+PiAtIHNvbWUgcmVnaXN0ZXJz IGxheW91dHMgYXJlIGEgYml0IGRpZmZlcmVudCwgbWFpbmx5IGR1ZSBkbyB0aGUgc3Ryb25nZXIK Pj4gICAgRUNDLgo+PiAtIGl0IHVzZXMgVVNFUl9EQVRBX0xFTiByZWdpc3RlcnMgYWxvbmcgVVNF Ul9EQVRBIHJlZ2lzdGVycy4KPj4gLSBpdCBuZWVkcyBhIHNwZWNpZmljIGNsb2NrIGZvciBFQ0Mg YW5kIE1CVVMuCj4+Cj4+IFRoaXMgcGF0Y2ggaW50cm9kdWNlIHRoZSBiYXNpYyBzdXBwb3J0LCB3 aXRob3V0IERNQS9NRE1BLgo+Pgo+PiBUZXN0ZWQgb24gV2hhdHNtaW5lciBINjE2IGJvYXJkICh3 aXRoIGFuZCB3aXRob3V0IHNjcmFtYmxpbmcsIEVDQykKPj4KPj4gU2lnbmVkLW9mZi1ieTogUmlj aGFyZCBHZW5vdWQgPHJpY2hhcmQuZ2Vub3VkQGJvb3RsaW4uY29tPgo+PiAtLS0KPj4gICBkcml2 ZXJzL210ZC9uYW5kL3Jhdy9zdW54aV9uYW5kLmMgfCAxODIgKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDE3NCBpbnNlcnRpb25zKCspLCA4IGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFu ZC5jIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jCj4+IGluZGV4IGU4MWQ3NGM2 NjMzYS4uMWUxMTg1ZjhkOTgwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL210ZC9uYW5kL3Jhdy9z dW54aV9uYW5kLmMKPj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jCj4+ IEBAIC00OSwxNyArNDksNDAgQEAKPj4gICAjZGVmaW5lIE5GQ19SRUdfQTIzX0lPX0RBVEEJMHgw MzAwCj4+ICAgI2RlZmluZSBORkNfUkVHX0VDQ19DVEwJCTB4MDAzNAo+PiAgICNkZWZpbmUgTkZD X1JFR19FQ0NfU1QJCTB4MDAzOAo+PiAtI2RlZmluZSBORkNfUkVHX0RFQlVHCQkweDAwM0MKPj4g KyNkZWZpbmUgTkZDX1JFR19INl9QQVRfRk9VTkQJMHgwMDNDCj4+ICAgI2RlZmluZSBORkNfUkVH X0ExMF9FQ0NfRVJSX0NOVAkweDAwNDAKPj4gKyNkZWZpbmUgTkZDX1JFR19INl9FQ0NfRVJSX0NO VAkweDAwNTAKPj4gICAjZGVmaW5lIE5GQ19SRUdfRUNDX0VSUl9DTlQobmZjLCB4KQkoKG5mYy0+ Y2Fwcy0+cmVnX2VjY19lcnJfY250ICsgKHgpKSAmIH4weDMpCj4+ICsjZGVmaW5lIE5GQ19SRUdf SDZfUkRBVEFfQ1RMCTB4MDA0NAo+PiArI2RlZmluZSBORkNfUkVHX0g2X1JEQVRBXzAJMHgwMDQ4 Cj4+ICsjZGVmaW5lIE5GQ19SRUdfSDZfUkRBVEFfMQkweDAwNEMKPj4gICAjZGVmaW5lIE5GQ19S RUdfQTEwX1VTRVJfREFUQQkweDAwNTAKPj4gKyNkZWZpbmUgTkZDX1JFR19INl9VU0VSX0RBVEEJ MHgwMDgwCj4+ICAgI2RlZmluZSBORkNfUkVHX1VTRVJfREFUQShuZmMsIHgpCShuZmMtPmNhcHMt PnJlZ191c2VyX2RhdGEgKyAoKHgpICogNCkpCj4+ICsjZGVmaW5lIE5GQ19SRUdfSDZfVVNFUl9E QVRBX0xFTiAweDAwNzAKPj4gKy8qIEEgVVNFUl9EQVRBX0xFTiByZWdpc3RlciBjYW4gaG9sZCB0 aGUgbGVuZ3RoIG9mIDggVVNFUl9EQVRBIHJlZ2lzdGVycyAqLwo+PiArI2RlZmluZSBORkNfUkVH X1VTRVJfREFUQV9MRU5fQ0FQQUNJVFkgOAo+PiArI2RlZmluZSBORkNfUkVHX1VTRVJfREFUQV9M RU4obmZjLCBzdGVwKSBcCj4+ICsJIChuZmMtPmNhcHMtPnJlZ191c2VyX2RhdGFfbGVuICsgXAo+ PiArCSAoKHN0ZXApIC8gTkZDX1JFR19VU0VSX0RBVEFfTEVOX0NBUEFDSVRZKSAqIDQpCj4+ICAg I2RlZmluZSBORkNfUkVHX1NQQVJFX0FSRUEobmZjKSAobmZjLT5jYXBzLT5yZWdfc3BhcmVfYXJl YSkKPj4gICAjZGVmaW5lIE5GQ19SRUdfQTEwX1NQQVJFX0FSRUEJMHgwMEEwCj4+ICAgI2RlZmlu ZSBORkNfUkVHX1BBVF9JRChuZmMpIChuZmMtPmNhcHMtPnJlZ19wYXRfaWQpCj4+ICAgI2RlZmlu ZSBORkNfUkVHX0ExMF9QQVRfSUQJMHgwMEE0Cj4+ICAgI2RlZmluZSBORkNfUkVHX01ETUFfQURE UgkweDAwQzAKPj4gICAjZGVmaW5lIE5GQ19SRUdfTURNQV9DTlQJMHgwMEM0Cj4+ICsjZGVmaW5l IE5GQ19SRUdfSDZfRUZOQU5EX1NUQVRVUyAweDAxMTAKPj4gKyNkZWZpbmUgTkZDX1JFR19INl9T UEFSRV9BUkVBCTB4MDExNAo+PiArI2RlZmluZSBORkNfUkVHX0g2X1BBVF9JRAkweDAxMTgKPj4g KyNkZWZpbmUgTkZDX1JFR19INl9ERFIyX1NQRUNfQ1RMIDB4MDExQwo+PiArI2RlZmluZSBORkNf UkVHX0g2X05ETUFfTU9ERV9DVEwgMHgwMTIwCj4+ICsjZGVmaW5lIE5GQ19SRUdfSDZfTURNQV9E TEJBX1JFRyAweDAyMDAKPj4gKyNkZWZpbmUgTkZDX1JFR19INl9NRE1BX1NUQQkweDAyMDQKPj4g KyNkZWZpbmUgTkZDX1JFR19INl9NRE1BX0lOVF9NQVMJMHgwMjA4Cj4+ICsjZGVmaW5lIE5GQ19S RUdfSDZfTURNQV9ERVNDX0FERFIgMHgwMjBDCj4+ICsjZGVmaW5lIE5GQ19SRUdfSDZfTURNQV9C VUZfQUREUiAweDAyMTAKPj4gKyNkZWZpbmUgTkZDX1JFR19INl9NRE1BX0NOVAkweDAyMTQKPj4g Kwo+PiAgICNkZWZpbmUgTkZDX1JBTTBfQkFTRQkJMHgwNDAwCj4+ICAgI2RlZmluZSBORkNfUkFN MV9CQVNFCQkweDA4MDAKPj4gICAKPj4gQEAgLTcxLDYgKzk0LDcgQEAKPj4gICAjZGVmaW5lIE5G Q19CVVNfV0lEVEhfMTYJKDEgPDwgMikKPj4gICAjZGVmaW5lIE5GQ19SQl9TRUxfTVNLCQlCSVQo MykKPj4gICAjZGVmaW5lIE5GQ19SQl9TRUwoeCkJCSgoeCkgPDwgMykKPj4gKy8qIENFX1NFTCBC SVQgMjcgaXMgbWVhbnQgdG8gYmUgdXNlZCBmb3IgR1BJTyBjaGlwc2VsZWN0ICovCj4+ICAgI2Rl ZmluZSBORkNfQ0VfU0VMX01TSwkJR0VOTUFTSygyNiwgMjQpCj4+ICAgI2RlZmluZSBORkNfQ0Vf U0VMKHgpCQkoKHgpIDw8IDI0KQo+PiAgICNkZWZpbmUgTkZDX0NFX0NUTAkJQklUKDYpCj4+IEBA IC04OSw2ICsxMTMsOSBAQAo+PiAgICNkZWZpbmUgTkZDX1NUQQkJCUJJVCg0KQo+PiAgICNkZWZp bmUgTkZDX05BVENIX0lOVF9GTEFHCUJJVCg1KQo+PiAgICNkZWZpbmUgTkZDX1JCX1NUQVRFKHgp CQlCSVQoeCArIDgpCj4+ICsjZGVmaW5lIE5GQ19SQl9TVEFURV9NU0sJR0VOTUFTSygxMSwgOCkK Pj4gKyNkZWZpbmUgTkRGQ19SREFUQV9TVEFfMQlCSVQoMTIpCj4+ICsjZGVmaW5lIE5ERkNfUkRB VEFfU1RBXzAJQklUKDEzKQo+PiAgIAo+PiAgIC8qIGRlZmluZSBiaXQgdXNlIGluIE5GQ19JTlQg Ki8KPj4gICAjZGVmaW5lIE5GQ19CMlJfSU5UX0VOQUJMRQlCSVQoMCkKPj4gQEAgLTEwMCw2ICsx MjcsNyBAQAo+PiAgIAo+PiAgIC8qIGRlZmluZSBiaXQgdXNlIGluIE5GQ19USU1JTkdfQ1RMICov Cj4+ICAgI2RlZmluZSBORkNfVElNSU5HX0NUTF9FRE8JQklUKDgpCj4+ICsjZGVmaW5lIE5GQ19U SU1JTkdfQ1RMX0VfRURPCUJJVCg5KQo+PiAgIAo+PiAgIC8qIGRlZmluZSBORkNfVElNSU5HX0NG RyByZWdpc3RlciBsYXlvdXQgKi8KPj4gICAjZGVmaW5lIE5GQ19USU1JTkdfQ0ZHKHRXQiwgdEFE TCwgdFdIUiwgdFJIVywgdENBRCkJCVwKPj4gQEAgLTEwNyw5ICsxMzUsMTUgQEAKPj4gICAJKCgo dFdIUikgJiAweDMpIDw8IDQpIHwgKCgodFJIVykgJiAweDMpIDw8IDYpIHwJCVwKPj4gICAJKCgo dENBRCkgJiAweDcpIDw8IDgpKQo+PiAgIAo+PiArI2RlZmluZSBORkNfVElNSU5HX0NGRzIodENE UVNTLCB0U0MsIHRDTEhaLCB0Q1NTLCB0V0MpCQlcCj4+ICsJKCgoKHRDRFFTUykgJiAweDEpIDw8 IDExKSB8ICgoKHRTQykgJiAweDMpIDw8IDEyKSB8CVwKPj4gKwkgKCgodENMSFopICYgMHgzKSA8 PCAxNCkgfCAoKCh0Q1NTKSAmIDB4MykgPDwgMTYpIHwJXAo+PiArCSAoKCh0V0MpICYgMHgzKSA8 PCAxOCkpCj4+ICsKPj4gICAvKiBkZWZpbmUgYml0IHVzZSBpbiBORkNfQ01EICovCj4+ICAgI2Rl ZmluZSBORkNfQ01EX0xPV19CWVRFX01TSwlHRU5NQVNLKDcsIDApCj4+IC0jZGVmaW5lIE5GQ19D TURfSElHSF9CWVRFX01TSwlHRU5NQVNLKDE1LCA4KQo+PiArI2RlZmluZSBORkNfQ01EX0hJR0hf QllURV9NU0sJR0VOTUFTSygxNSwgOCkgIC8vIDE1LTEwIHJlc2VydmVkIG9uIEg2Cj4+ICsjZGVm aW5lIE5GQ19DTURfQURSX05VTV9NU0sJR0VOTUFTSyg5LCA4KQo+PiAgICNkZWZpbmUgTkZDX0NN RCh4KQkJKHgpCj4+ICAgI2RlZmluZSBORkNfQURSX05VTV9NU0sJCUdFTk1BU0soMTgsIDE2KQo+ PiAgICNkZWZpbmUgTkZDX0FEUl9OVU0oeCkJCSgoKHgpIC0gMSkgPDwgMTYpCj4+IEBAIC0xMjIs NiArMTU2LDcgQEAKPj4gICAjZGVmaW5lIE5GQ19TRVEJCQlCSVQoMjUpCj4+ICAgI2RlZmluZSBO RkNfREFUQV9TV0FQX01FVEhPRAlCSVQoMjYpCj4+ICAgI2RlZmluZSBORkNfUk9XX0FVVE9fSU5D CUJJVCgyNykKPj4gKyNkZWZpbmUgTkZDX0g2X1NFTkRfUk5EX0NNRDIJQklUKDI3KQo+PiAgICNk ZWZpbmUgTkZDX1NFTkRfQ01EMwkJQklUKDI4KQo+PiAgICNkZWZpbmUgTkZDX1NFTkRfQ01ENAkJ QklUKDI5KQo+PiAgICNkZWZpbmUgTkZDX0NNRF9UWVBFX01TSwlHRU5NQVNLKDMxLCAzMCkKPj4g QEAgLTEzMyw2ICsxNjgsNyBAQAo+PiAgICNkZWZpbmUgTkZDX1JFQURfQ01EX01TSwlHRU5NQVNL KDcsIDApCj4+ICAgI2RlZmluZSBORkNfUk5EX1JFQURfQ01EMF9NU0sJR0VOTUFTSygxNSwgOCkK Pj4gICAjZGVmaW5lIE5GQ19STkRfUkVBRF9DTUQxX01TSwlHRU5NQVNLKDIzLCAxNikKPj4gKyNk ZWZpbmUgTkZDX1JORF9SRUFEX0NNRDJfTVNLCUdFTk1BU0soMzEsIDI0KQo+PiAgIAo+PiAgIC8q IGRlZmluZSBiaXQgdXNlIGluIE5GQ19XQ01EX1NFVCAqLwo+PiAgICNkZWZpbmUgTkZDX1BST0dS QU1fQ01EX01TSwlHRU5NQVNLKDcsIDApCj4+IEBAIC0xNTAsNiArMTg2LDkgQEAKPj4gICAjZGVm aW5lIE5GQ19SQU5ET01fRElSRUNUSU9OKG5mYykgKG5mYy0+Y2Fwcy0+cmFuZG9tX2Rpcl9tYXNr KQo+PiAgICNkZWZpbmUgTkZDX0VDQ19NT0RFX01TSyhuZmMpCShuZmMtPmNhcHMtPmVjY19tb2Rl X21hc2spCj4+ICAgI2RlZmluZSBORkNfRUNDX01PREUobmZjLCB4KQlmaWVsZF9wcmVwKE5GQ19F Q0NfTU9ERV9NU0sobmZjKSwgKHgpKQo+PiArLyogUkFORE9NX1BBR0VfU0laRTogMDogRUNDIGJs b2NrIHNpemUgIDE6IHBhZ2Ugc2l6ZSAqLwo+PiArI2RlZmluZSBORkNfQTIzX1JBTkRPTV9QQUdF X1NJWkUJQklUKDExKQo+PiArI2RlZmluZSBORkNfSDZfUkFORE9NX1BBR0VfU0laRQlCSVQoNykK Pj4gICAjZGVmaW5lIE5GQ19SQU5ET01fU0VFRF9NU0sJR0VOTUFTSygzMCwgMTYpCj4+ICAgI2Rl ZmluZSBORkNfUkFORE9NX1NFRUQoeCkJKCh4KSA8PCAxNikKPj4gICAKPj4gQEAgLTE2NSw2ICsy MDQsOSBAQAo+PiAgIAo+PiAgICNkZWZpbmUgTkZDX0VDQ19FUlJfQ05UKGIsIHgpCSgoKHgpID4+ ICgoKGIpICUgNCkgKiA4KSkgJiAweGZmKQo+PiAgIAo+PiArI2RlZmluZSBORkNfVVNFUl9EQVRB X0xFTl9NU0soc3RlcCkgXAo+PiArCSgweGYgPDwgKCgoc3RlcCkgJSBORkNfUkVHX1VTRVJfREFU QV9MRU5fQ0FQQUNJVFkpICogNCkpCj4+ICsKPj4gICAjZGVmaW5lIE5GQ19ERUZBVUxUX1RJTUVP VVRfTVMJMTAwMAo+PiAgIAo+PiAgICNkZWZpbmUgTkZDX01BWF9DUwkJNwo+PiBAQCAtMjI0LDkg KzI2NiwxMSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBzdW54aV9uYW5kX2NoaXAgKnRvX3N1bnhp X25hbmQoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCkKPj4gICAgKiBAaGFzX21kbWE6CQlVc2UgbWJ1 cyBkbWEgbW9kZSwgb3RoZXJ3aXNlIGdlbmVyYWwgZG1hCj4+ICAgICoJCQl0aHJvdWdoIE1CVVMg b24gQTIzL0EzMyBuZWVkcyBleHRyYSBjb25maWd1cmF0aW9uLgo+PiAgICAqIEBoYXNfZWNjX2Js b2NrXzUxMjoJSWYgdGhlIEVDQyBjYW4gaGFuZGxlIDUxMkIgb3Igb25seSAxMDI0QiBjaHVuY2tz Cj4+ICsgKiBAaGFzX21idXNfY2xrOglJZiB0aGUgY29udHJvbGxlciBuZWVkcyBhIG1idXMgY2xv Y2suCj4+ICAgICogQHJlZ19pb19kYXRhOglJL08gZGF0YSByZWdpc3Rlcgo+PiAgICAqIEByZWdf ZWNjX2Vycl9jbnQ6CUVDQyBlcnJvciBjb3VudGVyIHJlZ2lzdGVyCj4+ICAgICogQHJlZ191c2Vy X2RhdGE6CVVzZXIgZGF0YSByZWdpc3Rlcgo+PiArICogQHJlZ191c2VyX2RhdGFfbGVuOglVc2Vy IGRhdGEgbGVuZ3RoIHJlZ2lzdGVyCj4+ICAgICogQHJlZ19zcGFyZV9hcmVhOglTcGFyZSBBcmVh IFJlZ2lzdGVyCj4+ICAgICogQHJlZ19wYXRfaWQ6CQlQYXR0ZXJuIElEIFJlZ2lzdGVyCj4+ICAg ICogQHJlZ19wYXRfZm91bmQ6CURhdGEgUGF0dGVybiBTdGF0dXMgUmVnaXN0ZXIKPj4gQEAgLTIz OCwxNCArMjgyLDIzIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHN1bnhpX25hbmRfY2hpcCAqdG9f c3VueGlfbmFuZChzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kKQo+PiAgICAqIEBkbWFfbWF4YnVyc3Q6 CURNQSBtYXhidXJzdAo+PiAgICAqIEBlY2Nfc3RyZW5ndGhzOglBdmFpbGFibGUgRUNDIHN0cmVu Z3RocyBhcnJheQo+PiAgICAqIEBuc3RyZW5ndGhzOgkJU2l6ZSBvZiBAZWNjX3N0cmVuZ3Rocwo+ PiArICogQG1heF9lY2Nfc3RlcHM6CU1heGltdW0gc3VwcG9ydGVkIHN0ZXBzIGZvciBFQ0MsIHRo aXMgaXMgYWxzbyB0aGUKPj4gKyAqCQkJbnVtYmVyIG9mIHVzZXIgZGF0YSByZWdpc3RlcnMKPj4g KyAqIEB1c2VyX2RhdGFfbGVuX3RhYjogIFRhYmxlIG9mIGxlbmdodHMgc3VwcG9ydGVkIGJ5IFVT RVJfREFUQV9MRU4gcmVnaXN0ZXIKPj4gKyAqCQkJVGhlIHRhYmxlIGluZGV4IGlzIHRoZSB2YWx1 ZSB0byBzZXQgaW4gTkZDX1VTRVJfREFUQV9MRU4KPj4gKyAqCQkJcmVnaXN0ZXJzLCBhbmQgdGhl IGNvcnJlc3BvbmRpbmcgdmFsdWUgaXMgdGhlIG51bWJlciBvZgo+PiArICoJCQlieXRlcyB0byB3 cml0ZQo+PiArICogQG51c2VyX2RhdGFfdGFiOglTaXplIG9mIEB1c2VyX2RhdGFfbGVuX3RhYgo+ PiAgICAqIEBzcmFtX3NpemU6CQlTaXplIG9mIHRoZSBOQU5EIGNvbnRyb2xsZXIgU1JBTQo+PiAg ICAqLwo+PiAgIHN0cnVjdCBzdW54aV9uZmNfY2FwcyB7Cj4+ICAgCWJvb2wgaGFzX21kbWE7Cj4+ ICAgCWJvb2wgaGFzX2VjY19ibG9ja181MTI7Cj4+ICsJYm9vbCBoYXNfbWJ1c19jbGs7Cj4+ICAg CXVuc2lnbmVkIGludCByZWdfaW9fZGF0YTsKPj4gICAJdW5zaWduZWQgaW50IHJlZ19lY2NfZXJy X2NudDsKPj4gICAJdW5zaWduZWQgaW50IHJlZ191c2VyX2RhdGE7Cj4+ICsJdW5zaWduZWQgaW50 IHJlZ191c2VyX2RhdGFfbGVuOwo+PiAgIAl1bnNpZ25lZCBpbnQgcmVnX3NwYXJlX2FyZWE7Cj4+ ICAgCXVuc2lnbmVkIGludCByZWdfcGF0X2lkOwo+PiAgIAl1bnNpZ25lZCBpbnQgcmVnX3BhdF9m b3VuZDsKPj4gQEAgLTI1Nyw2ICszMTAsOSBAQCBzdHJ1Y3Qgc3VueGlfbmZjX2NhcHMgewo+PiAg IAl1bnNpZ25lZCBpbnQgZG1hX21heGJ1cnN0Owo+PiAgIAljb25zdCB1OCAqZWNjX3N0cmVuZ3Ro czsKPj4gICAJdW5zaWduZWQgaW50IG5zdHJlbmd0aHM7Cj4+ICsJY29uc3QgdTggKnVzZXJfZGF0 YV9sZW5fdGFiOwo+PiArCXVuc2lnbmVkIGludCBudXNlcl9kYXRhX3RhYjsKPj4gKwl1bnNpZ25l ZCBpbnQgbWF4X2VjY19zdGVwczsKPj4gICAJaW50IHNyYW1fc2l6ZTsKPj4gICB9Owo+PiAgIAo+ PiBAQCAtMjY4LDYgKzMyNCw3IEBAIHN0cnVjdCBzdW54aV9uZmNfY2FwcyB7Cj4+ICAgICogQHJl Z3M6IE5BTkQgY29udHJvbGxlciByZWdpc3RlcnMKPj4gICAgKiBAYWhiX2NsazogTkFORCBjb250 cm9sbGVyIEFIQiBjbG9jawo+PiAgICAqIEBtb2RfY2xrOiBOQU5EIGNvbnRyb2xsZXIgbW9kIGNs b2NrCj4+ICsgKiBAZWNjX2NsazogTkFORCBjb250cm9sbGVyIEVDQyBjbG9jawo+PiAgICAqIEBy ZXNldDogTkFORCBjb250cm9sbGVyIHJlc2V0IGxpbmUKPj4gICAgKiBAYXNzaWduZWRfY3M6IGJp dG1hc2sgZGVzY3JpYmluZyBhbHJlYWR5IGFzc2lnbmVkIENTIGxpbmVzCj4+ICAgICogQGNsa19y YXRlOiBOQU5EIGNvbnRyb2xsZXIgY3VycmVudCBjbG9jayByYXRlCj4+IEBAIC0yODIsNyArMzM5 LDkgQEAgc3RydWN0IHN1bnhpX25mYyB7Cj4+ICAgCXN0cnVjdCBkZXZpY2UgKmRldjsKPj4gICAJ dm9pZCBfX2lvbWVtICpyZWdzOwo+PiAgIAlzdHJ1Y3QgY2xrICphaGJfY2xrOwo+PiArCXN0cnVj dCBjbGsgKm1idXNfY2xrOwo+PiAgIAlzdHJ1Y3QgY2xrICptb2RfY2xrOwo+PiArCXN0cnVjdCBj bGsgKmVjY19jbGs7Cj4+ICAgCXN0cnVjdCByZXNldF9jb250cm9sICpyZXNldDsKPj4gICAJdW5z aWduZWQgbG9uZyBhc3NpZ25lZF9jczsKPj4gICAJdW5zaWduZWQgbG9uZyBjbGtfcmF0ZTsKPj4g QEAgLTc2NCw2ICs4MjMsNTMgQEAgc3RhdGljIHZvaWQgc3VueGlfbmZjX2h3X2VjY19nZXRfcHJv dF9vb2JfYnl0ZXMoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwgdTggKm9vYiwKPj4gICAJCXN1bnhp X25mY19yYW5kb21pemVfYmJtKG5hbmQsIHBhZ2UsIG9vYik7Cj4+ICAgfQo+PiAgIAo+PiArLyoK Pj4gKyAqIE9uIEg2L0g2IHRoZSB1c2VyX2RhdGEgbGVuZ3RoIGhhcyB0byBiZSBzZXQgaW4gc3Bl Y2lmaWMgcmVnaXN0ZXJzCj4+ICsgKiBiZWZvcmUgd3JpdGluZy4KPj4gKyAqLwo+PiArc3RhdGlj IHZvaWQgc3VueGlfbmZjX3Jlc2V0X3VzZXJfZGF0YV9sZW4oc3RydWN0IHN1bnhpX25mYyAqbmZj KQo+PiArewo+PiArCWludCBsb29wX3N0ZXAgPSBORkNfUkVHX1VTRVJfREFUQV9MRU5fQ0FQQUNJ VFk7Cj4+ICsKPj4gKwkvKiBub3QgYWxsIFNvQ3MgaGF2ZSB0aGlzIHJlZ2lzdGVyICovCj4+ICsJ aWYgKCFuZmMtPmNhcHMtPnJlZ191c2VyX2RhdGFfbGVuKQo+PiArCQlyZXR1cm47Cj4+ICsKPj4g Kwlmb3IgKGludCBpID0gMDsgaSA8IG5mYy0+Y2Fwcy0+bWF4X2VjY19zdGVwczsgaSArPSBsb29w X3N0ZXApCj4+ICsJCXdyaXRlbCgwLCBuZmMtPnJlZ3MgKyBORkNfUkVHX1VTRVJfREFUQV9MRU4o bmZjLCBpKSk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIHN1bnhpX25mY19zZXRfdXNlcl9k YXRhX2xlbihzdHJ1Y3Qgc3VueGlfbmZjICpuZmMsCj4+ICsJCQkJCWludCBsZW4sIGludCBzdGVw KQo+PiArewo+PiArCWJvb2wgZm91bmQgPSBmYWxzZTsKPj4gKwl1MzIgdmFsOwo+PiArCWludCBp Owo+PiArCj4+ICsJLyogbm90IGFsbCBTb0NzIGhhdmUgdGhpcyByZWdpc3RlciAqLwo+PiArCWlm ICghbmZjLT5jYXBzLT5yZWdfdXNlcl9kYXRhX2xlbikKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJ Zm9yIChpID0gMDsgaSA8IG5mYy0+Y2Fwcy0+bnVzZXJfZGF0YV90YWI7IGkrKykgewo+PiArCQlp ZiAobGVuID09IG5mYy0+Y2Fwcy0+dXNlcl9kYXRhX2xlbl90YWJbaV0pIHsKPj4gKwkJCWZvdW5k ID0gdHJ1ZTsKPj4gKwkJCWJyZWFrOwo+PiArCQl9Cj4+ICsJfQo+PiArCj4+ICsJaWYgKCFmb3Vu ZCkgewo+PiArCQlkZXZfd2FybihuZmMtPmRldiwKPj4gKwkJCSAiVW5zdXBwb3J0ZWQgbGVuZ3Ro IGZvciB1c2VyIGRhdGEgcmVnOiAlZFxuIiwgbGVuKTsKPj4gKwkJcmV0dXJuOwo+PiArCX0KPj4g Kwo+PiArCXZhbCA9IHJlYWRsKG5mYy0+cmVncyArIE5GQ19SRUdfVVNFUl9EQVRBX0xFTihuZmMs IHN0ZXApKTsKPj4gKwo+PiArCXZhbCAmPSB+TkZDX1VTRVJfREFUQV9MRU5fTVNLKHN0ZXApOwo+ PiArCXZhbCB8PSBmaWVsZF9wcmVwKE5GQ19VU0VSX0RBVEFfTEVOX01TSyhzdGVwKSwgaSk7Cj4+ ICsJd3JpdGVsKHZhbCwgbmZjLT5yZWdzICsgTkZDX1JFR19VU0VSX0RBVEFfTEVOKG5mYywgc3Rl cCkpOwo+PiArfQo+PiArCj4+ICAgc3RhdGljIHZvaWQgc3VueGlfbmZjX2h3X2VjY19zZXRfcHJv dF9vb2JfYnl0ZXMoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPj4gICAJCQkJCQljb25zdCB1OCAq b29iLCBpbnQgc3RlcCwKPj4gICAJCQkJCQlib29sIGJibSwgaW50IHBhZ2UpCj4+IEBAIC04NTgs NiArOTY0LDggQEAgc3RhdGljIGludCBzdW54aV9uZmNfaHdfZWNjX3JlYWRfY2h1bmsoc3RydWN0 IG5hbmRfY2hpcCAqbmFuZCwKPj4gICAJaWYgKHJldCkKPj4gICAJCXJldHVybiByZXQ7Cj4+ICAg Cj4+ICsJc3VueGlfbmZjX3Jlc2V0X3VzZXJfZGF0YV9sZW4obmZjKTsKPj4gKwlzdW54aV9uZmNf c2V0X3VzZXJfZGF0YV9sZW4obmZjLCA0LCAwKTsKPj4gICAJc3VueGlfbmZjX3JhbmRvbWl6ZXJf Y29uZmlnKG5hbmQsIHBhZ2UsIGZhbHNlKTsKPj4gICAJc3VueGlfbmZjX3JhbmRvbWl6ZXJfZW5h YmxlKG5hbmQpOwo+PiAgIAl3cml0ZWwoTkZDX0RBVEFfVFJBTlMgfCBORkNfREFUQV9TV0FQX01F VEhPRCB8IE5GQ19FQ0NfT1AsCj4+IEBAIC05NjgsNiArMTA3Niw4IEBAIHN0YXRpYyBpbnQgc3Vu eGlfbmZjX2h3X2VjY19yZWFkX2NodW5rc19kbWEoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwgdWlu dDhfdCAqYnVmCj4+ICAgCQlyZXR1cm4gcmV0Owo+PiAgIAo+PiAgIAlzdW54aV9uZmNfaHdfZWNj X2VuYWJsZShuYW5kKTsKPj4gKwlzdW54aV9uZmNfcmVzZXRfdXNlcl9kYXRhX2xlbihuZmMpOwo+ PiArCXN1bnhpX25mY19zZXRfdXNlcl9kYXRhX2xlbihuZmMsIDQsIDApOwo+PiAgIAlzdW54aV9u ZmNfcmFuZG9taXplcl9jb25maWcobmFuZCwgcGFnZSwgZmFsc2UpOwo+PiAgIAlzdW54aV9uZmNf cmFuZG9taXplcl9lbmFibGUobmFuZCk7Cj4+ICAgCj4+IEBAIC0xMTAwLDYgKzEyMTAsOCBAQCBz dGF0aWMgaW50IHN1bnhpX25mY19od19lY2Nfd3JpdGVfY2h1bmsoc3RydWN0IG5hbmRfY2hpcCAq bmFuZCwKPj4gICAKPj4gICAJc3VueGlfbmZjX3JhbmRvbWl6ZXJfY29uZmlnKG5hbmQsIHBhZ2Us IGZhbHNlKTsKPj4gICAJc3VueGlfbmZjX3JhbmRvbWl6ZXJfZW5hYmxlKG5hbmQpOwo+PiArCXN1 bnhpX25mY19yZXNldF91c2VyX2RhdGFfbGVuKG5mYyk7Cj4+ICsJc3VueGlfbmZjX3NldF91c2Vy X2RhdGFfbGVuKG5mYywgNCwgMCk7Cj4+ICAgCXN1bnhpX25mY19od19lY2Nfc2V0X3Byb3Rfb29i X2J5dGVzKG5hbmQsIG9vYiwgMCwgYmJtLCBwYWdlKTsKPj4gICAKPj4gICAJd3JpdGVsKE5GQ19E QVRBX1RSQU5TIHwgTkZDX0RBVEFfU1dBUF9NRVRIT0QgfAo+PiBAQCAtMTM0NCwxMCArMTQ1Niwx MiBAQCBzdGF0aWMgaW50IHN1bnhpX25mY19od19lY2Nfd3JpdGVfcGFnZV9kbWEoc3RydWN0IG5h bmRfY2hpcCAqbmFuZCwKPj4gICAJaWYgKHJldCkKPj4gICAJCWdvdG8gcGlvX2ZhbGxiYWNrOwo+ PiAgIAo+PiArCXN1bnhpX25mY19yZXNldF91c2VyX2RhdGFfbGVuKG5mYyk7Cj4+ICAgCWZvciAo aSA9IDA7IGkgPCBlY2MtPnN0ZXBzOyBpKyspIHsKPj4gICAJCWNvbnN0IHU4ICpvb2IgPSBuYW5k LT5vb2JfcG9pICsgKGkgKiAoZWNjLT5ieXRlcyArIDQpKTsKPj4gICAKPj4gICAJCXN1bnhpX25m Y19od19lY2Nfc2V0X3Byb3Rfb29iX2J5dGVzKG5hbmQsIG9vYiwgaSwgIWksIHBhZ2UpOwo+PiAr CQlzdW54aV9uZmNfc2V0X3VzZXJfZGF0YV9sZW4obmZjLCA0LCBpKTsKPj4gICAJfQo+PiAgIAo+ PiAgIAluYW5kX3Byb2dfcGFnZV9iZWdpbl9vcChuYW5kLCBwYWdlLCAwLCBOVUxMLCAwKTsKPj4g QEAgLTIxNDgsMTggKzIyNjIsMzYgQEAgc3RhdGljIGludCBzdW54aV9uZmNfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gICAJaWYgKGlycSA8IDApCj4+ICAgCQlyZXR1cm4g aXJxOwo+PiAgIAo+PiArCW5mYy0+Y2FwcyA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShkZXYp Owo+PiArCWlmICghbmZjLT5jYXBzKQo+PiArCQlyZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiAgIAlu ZmMtPmFoYl9jbGsgPSBkZXZtX2Nsa19nZXRfZW5hYmxlZChkZXYsICJhaGIiKTsKPj4gICAJaWYg KElTX0VSUihuZmMtPmFoYl9jbGspKSB7Cj4+ICAgCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBy ZXRyaWV2ZSBhaGIgY2xrXG4iKTsKPj4gICAJCXJldHVybiBQVFJfRVJSKG5mYy0+YWhiX2Nsayk7 Cj4+ICAgCX0KPj4gICAKPj4gKwlpZiAobmZjLT5jYXBzLT5oYXNfbWJ1c19jbGspIHsKPj4gKwkJ bmZjLT5tYnVzX2NsayA9IGRldm1fY2xrX2dldF9lbmFibGVkKGRldiwgIm1idXMiKTsKPj4gKwkJ aWYgKElTX0VSUihuZmMtPm1idXNfY2xrKSkgewo+PiArCQkJZGV2X2VycihkZXYsICJObyBtYnVz IGNsb2NrIHNwZWNpZmllZFxuIik7Cj4+ICsJCQlyZXR1cm4gUFRSX0VSUihuZmMtPm1idXNfY2xr KTsKPj4gKwkJfQo+PiArCX0KPj4gKwo+PiAgIAluZmMtPm1vZF9jbGsgPSBkZXZtX2Nsa19nZXRf ZW5hYmxlZChkZXYsICJtb2QiKTsKPj4gICAJaWYgKElTX0VSUihuZmMtPm1vZF9jbGspKSB7Cj4+ ICAgCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXRyaWV2ZSBtb2QgY2xrXG4iKTsKPj4gICAJ CXJldHVybiBQVFJfRVJSKG5mYy0+bW9kX2Nsayk7Cj4+ICAgCX0KPj4gICAKPj4gKwluZmMtPmVj Y19jbGsgPSBkZXZtX2Nsa19nZXRfb3B0aW9uYWxfZW5hYmxlZChkZXYsICJlY2MiKTsKPj4gKwlp ZiAoSVNfRVJSKG5mYy0+ZWNjX2NsaykpIHsKPj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8g cmV0cmlldmUgZWNjIGNsa1xuIik7Cj4+ICsJCXJldHVybiBQVFJfRVJSKG5mYy0+ZWNjX2Nsayk7 Cj4+ICsJfQo+PiArCj4+ICAgCW5mYy0+cmVzZXQgPSBkZXZtX3Jlc2V0X2NvbnRyb2xfZ2V0X29w dGlvbmFsX2V4Y2x1c2l2ZShkZXYsICJhaGIiKTsKPj4gICAJaWYgKElTX0VSUihuZmMtPnJlc2V0 KSkKPj4gICAJCXJldHVybiBQVFJfRVJSKG5mYy0+cmVzZXQpOwo+PiBAQCAtMjE3MCwxMiArMjMw Miw2IEBAIHN0YXRpYyBpbnQgc3VueGlfbmZjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCj4+ICAgCQlyZXR1cm4gcmV0Owo+PiAgIAl9Cj4+ICAgCj4+IC0JbmZjLT5jYXBzID0g b2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKCZwZGV2LT5kZXYpOwo+PiAtCWlmICghbmZjLT5jYXBz KSB7Cj4+IC0JCXJldCA9IC1FSU5WQUw7Cj4+IC0JCWdvdG8gb3V0X2FoYl9yZXNldF9yZWFzc2Vy dDsKPj4gLQl9Cj4+IC0KPj4gICAJcmV0ID0gc3VueGlfbmZjX3JzdChuZmMpOwo+PiAgIAlpZiAo cmV0KQo+PiAgIAkJZ290byBvdXRfYWhiX3Jlc2V0X3JlYXNzZXJ0Owo+PiBAQCAtMjIyNiw4ICsy MzUyLDE3IEBAIHN0YXRpYyBjb25zdCB1OCBzdW54aV9lY2Nfc3RyZW5ndGhzX2ExMFtdID0gewo+ PiAgIAkxNiwgMjQsIDI4LCAzMiwgNDAsIDQ4LCA1NiwgNjAsIDY0Cj4+ICAgfTsKPj4gICAKPj4g K3N0YXRpYyBjb25zdCB1OCBzdW54aV9lY2Nfc3RyZW5ndGhzX2g2W10gPSB7Cj4+ICsJMTYsIDI0 LCAyOCwgMzIsIDQwLCA0NCwgNDgsIDUyLCA1NiwgNjAsIDY0LCA2OCwgNzIsIDc2LCA4MAo+PiAr fTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHU4IHN1bnhpX3VzZXJfZGF0YV9sZW5faDZbXSA9IHsK Pj4gKwkwLCA0LCA4LCAxMiwgMTYsIDIwLCAyNCwgMjgsIDMyCj4+ICt9Owo+PiArCj4+ICAgc3Rh dGljIGNvbnN0IHN0cnVjdCBzdW54aV9uZmNfY2FwcyBzdW54aV9uZmNfYTEwX2NhcHMgPSB7Cj4+ ICAgCS5oYXNfZWNjX2Jsb2NrXzUxMiA9IHRydWUsCj4+ICsJLmhhc19tYnVzX2NsayA9IGZhbHNl LAo+PiAgIAkucmVnX2lvX2RhdGEgPSBORkNfUkVHX0ExMF9JT19EQVRBLAo+PiAgIAkucmVnX2Vj Y19lcnJfY250ID0gTkZDX1JFR19BMTBfRUNDX0VSUl9DTlQsCj4+ICAgCS5yZWdfdXNlcl9kYXRh ID0gTkZDX1JFR19BMTBfVVNFUl9EQVRBLAo+PiBAQCAtMjI0MiwxMSArMjM3NywxMyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHN1bnhpX25mY19jYXBzIHN1bnhpX25mY19hMTBfY2FwcyA9IHsKPj4g ICAJLmRtYV9tYXhidXJzdCA9IDQsCj4+ICAgCS5lY2Nfc3RyZW5ndGhzID0gc3VueGlfZWNjX3N0 cmVuZ3Roc19hMTAsCj4+ICAgCS5uc3RyZW5ndGhzID0gQVJSQVlfU0laRShzdW54aV9lY2Nfc3Ry ZW5ndGhzX2ExMCksCj4+ICsJLm1heF9lY2Nfc3RlcHMgPSAxNiwKPj4gICAJLnNyYW1fc2l6ZSA9 IDEwMjQsCj4+ICAgfTsKPj4gICAKPj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IHN1bnhpX25mY19j YXBzIHN1bnhpX25mY19hMjNfY2FwcyA9IHsKPj4gICAJLmhhc19tZG1hID0gdHJ1ZSwKPj4gKwku aGFzX21idXNfY2xrID0gZmFsc2UsCj4+ICAgCS5oYXNfZWNjX2Jsb2NrXzUxMiA9IHRydWUsCj4+ ICAgCS5yZWdfaW9fZGF0YSA9IE5GQ19SRUdfQTIzX0lPX0RBVEEsCj4+ICAgCS5yZWdfZWNjX2Vy cl9jbnQgPSBORkNfUkVHX0ExMF9FQ0NfRVJSX0NOVCwKPj4gQEAgLTIyNjIsOSArMjM5OSwzNCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHN1bnhpX25mY19jYXBzIHN1bnhpX25mY19hMjNfY2FwcyA9 IHsKPj4gICAJLmRtYV9tYXhidXJzdCA9IDgsCj4+ICAgCS5lY2Nfc3RyZW5ndGhzID0gc3VueGlf ZWNjX3N0cmVuZ3Roc19hMTAsCj4+ICAgCS5uc3RyZW5ndGhzID0gQVJSQVlfU0laRShzdW54aV9l Y2Nfc3RyZW5ndGhzX2ExMCksCj4+ICsJLm1heF9lY2Nfc3RlcHMgPSAxNiwKPj4gICAJLnNyYW1f c2l6ZSA9IDEwMjQsCj4+ICAgfTsKPj4gICAKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc3VueGlf bmZjX2NhcHMgc3VueGlfbmZjX2g2MTZfY2FwcyA9IHsKPj4gKwkuaGFzX21kbWEgPSBmYWxzZSwg Ly8gSDYgc3VwcG9ydHMgb25seSBjaGFpbmVkIGRlc2NyaXB0b3JzCj4gCj4gSDYgb3IgSDYxNj8K WWVzLCBpdCBzaG91bGQgYmUgSDYxNi4gSSdsbCBjaGFuZ2UgdGhhdC4KClRoYW5rcyEKCj4gCj4g Rml4IHRoZSBjb21tZW50Lgo+IAo+IEJlc3QgcmVnYXJkcywKPiBKZXJuZWoKPiAKPj4gKwkuaGFz X21idXNfY2xrID0gdHJ1ZSwKPj4gKwkucmVnX2lvX2RhdGEgPSBORkNfUkVHX0EyM19JT19EQVRB LAo+PiArCS5yZWdfZWNjX2Vycl9jbnQgPSBORkNfUkVHX0g2X0VDQ19FUlJfQ05ULAo+PiArCS5y ZWdfdXNlcl9kYXRhID0gTkZDX1JFR19INl9VU0VSX0RBVEEsCj4+ICsJLnJlZ191c2VyX2RhdGFf bGVuID0gTkZDX1JFR19INl9VU0VSX0RBVEFfTEVOLAo+PiArCS5yZWdfc3BhcmVfYXJlYSA9IE5G Q19SRUdfSDZfU1BBUkVfQVJFQSwKPj4gKwkucmVnX3BhdF9pZCA9IE5GQ19SRUdfSDZfUEFUX0lE LAo+PiArCS5yZWdfcGF0X2ZvdW5kID0gTkZDX1JFR19INl9QQVRfRk9VTkQsCj4+ICsJLnJhbmRv bV9lbl9tYXNrID0gQklUKDUpLAo+PiArCS5yYW5kb21fZGlyX21hc2sgPSBCSVQoNiksCj4+ICsJ LmVjY19tb2RlX21hc2sgPSBHRU5NQVNLKDE1LCA4KSwKPj4gKwkuZWNjX2Vycl9tYXNrID0gR0VO TUFTSygzMSwgMCksCj4+ICsJLnBhdF9mb3VuZF9tYXNrID0gR0VOTUFTSygzMSwgMCksCj4+ICsJ LmRtYV9tYXhidXJzdCA9IDgsCj4+ICsJLmVjY19zdHJlbmd0aHMgPSBzdW54aV9lY2Nfc3RyZW5n dGhzX2g2LAo+PiArCS5uc3RyZW5ndGhzID0gQVJSQVlfU0laRShzdW54aV9lY2Nfc3RyZW5ndGhz X2g2KSwKPj4gKwkudXNlcl9kYXRhX2xlbl90YWIgPSBzdW54aV91c2VyX2RhdGFfbGVuX2g2LAo+ PiArCS5udXNlcl9kYXRhX3RhYiA9IEFSUkFZX1NJWkUoc3VueGlfdXNlcl9kYXRhX2xlbl9oNiks Cj4+ICsJLm1heF9lY2Nfc3RlcHMgPSAzMiwKPj4gKwkuc3JhbV9zaXplID0gODE5MiwKPj4gK307 Cj4+ICsKPj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW54aV9uZmNfaWRz W10gPSB7Cj4+ICAgCXsKPj4gICAJCS5jb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW40aS1hMTAt bmFuZCIsCj4+IEBAIC0yMjc0LDYgKzI0MzYsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9k ZXZpY2VfaWQgc3VueGlfbmZjX2lkc1tdID0gewo+PiAgIAkJLmNvbXBhdGlibGUgPSAiYWxsd2lu bmVyLHN1bjhpLWEyMy1uYW5kLWNvbnRyb2xsZXIiLAo+PiAgIAkJLmRhdGEgPSAmc3VueGlfbmZj X2EyM19jYXBzLAo+PiAgIAl9LAo+PiArCXsKPj4gKwkJLmNvbXBhdGlibGUgPSAiYWxsd2lubmVy LHN1bjUwaS1oNjE2LW5hbmQtY29udHJvbGxlciIsCj4+ICsJCS5kYXRhID0gJnN1bnhpX25mY19o NjE2X2NhcHMsCj4+ICsJfSwKPj4gICAJeyAvKiBzZW50aW5lbCAqLyB9Cj4+ICAgfTsKPj4gICBN T0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW54aV9uZmNfaWRzKTsKPj4KPiAKPiAKPiAKPiAKCgot LSAKUmljaGFyZCBHZW5vdWQsIEJvb3RsaW4KRW1iZWRkZWQgTGludXggYW5kIEtlcm5lbCBlbmdp bmVlcmluZwpodHRwczovL2Jvb3RsaW4uY29tCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBs aXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRk Lwo=