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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 240B0C3A59E for ; Sat, 24 Aug 2019 10:50:45 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id E659C2146E for ; Sat, 24 Aug 2019 10:50:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sZl/uRVL"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="Rilbs6WC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E659C2146E 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=bombadil.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=xCjnyz7MtqIRchfDWh1XkE5L6g3MeQQbt0punu+b6n8=; b=sZl/uRVLrqqI4R UmNI1CnYWb42sF6mR6kxXFc3d5VZbg2pZ3LmHzYKjxlkTamjW78gR9WSDBR1WEaiU9U2b4skD/MRQ 73LF6O5GfU8SgcY8CHmJGDxPGiCwu7IZXaerE0zQrJkob4PvDDKCQZyGH8dnbW6v07M3WAtRzNbqz ayXvCu06XxBjbbW3ekq3TFtFVhbfrcSQwnA5wJ97FGaWghSzUXRPoXnFJX6zz42c65j+K+rKarq/U mK8yuFOvE8Wu8dbAONb7ydCu0MbJE8L2XToMJzvRVkyoiKg7Q5/qJw9JwJ7o/6VVgRUYO+Hub6lFq cfKR6zOtrNxGabB6mNiw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i1Tco-0001yx-An; Sat, 24 Aug 2019 10:50:26 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i1Tcl-0001yp-Pf for linux-mtd@bombadil.infradead.org; Sat, 24 Aug 2019 10:50:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=l+yi/blMN7WEvmRsjY99MS8zBUPPatDbrN+rZZskkNU=; b=Rilbs6WCg9C49S1slqP+L0I8tM l2rteAfQFqAOAZnVUueAUpVU9cuz6ViGke/vF2yt2z/5UszDGm652Y2QeHPUk/BfnaQELOwoJad4z ER/DqVZ4Wylk6Pw7GC/ANagAQDg3NLmkrn4itm8Kxrg114wyLSfjhBA1nK/fpqyDUojhCcV/LPA5C 4deVdkU9PGnNcFyJ7pLrwPOpuEKEKWxPoA/UuX+HCFgStp6vHfgJ1SgvjTxJMr6sPG6XvoOpyKaXz GAA2QI5gFOnlpCWI+Db9/RR2+1Ol6tNlzHUyPA6gwznphN3ZsGLX7+4nzxflXMD6erGmUfMeK4tn/ yvKfQ+vA==; Received: from relay11.mail.gandi.net ([217.70.178.231]) by merlin.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i1Tci-0005QJ-2Z for linux-mtd@lists.infradead.org; Sat, 24 Aug 2019 10:50:21 +0000 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id A269A100005; Sat, 24 Aug 2019 10:49:44 +0000 (UTC) Date: Sat, 24 Aug 2019 12:49:42 +0200 From: Miquel Raynal To: Dmitry Osipenko Subject: Re: [v5 1/2] mtd: nand: Add new Cadence NAND driver to MTD subsystem Message-ID: <20190824124942.455018ee@xps13> In-Reply-To: References: <20190725145804.8886-1-piotrs@cadence.com> <20190725150012.14416-1-piotrs@cadence.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 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: Arnd Bergmann , Boris Brezillon , Marcel Ziswiler , Richard Weinberger , linux-kernel@vger.kernel.org, Stefan Agner , Marek Vasut , Paul Burton , Geert Uytterhoeven , linux-mtd@lists.infradead.org, Brian Norris , David Woodhouse , Kazuhiro Kasai , Piotr Sroka 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 SGkgRG1pdHJ5LAoKRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29tPiB3cm90ZSBvbiBU aHUsIDI1IEp1bCAyMDE5IDE4OjExOjQzCiswMzAwOgoKPiAyNS4wNy4yMDE5IDE4OjAwLCBQaW90 ciBTcm9rYSDQv9C40YjQtdGCOgo+ID4gQWRkIG5ldyBDYWRlbmNlIE5BTkQgZHJpdmVyIHRvIE1U RCBzdWJzeXN0ZW0KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogUGlvdHIgU3Jva2EgPHBpb3Ryc0Bj YWRlbmNlLmNvbT4KPiA+IC0tLQo+ID4gQ2hhbmdlcyBmb3IgdjU6Cj4gPiAtIGZpeCAiZWNjIGNv bmZpZyBzdHJlbmd0aCIgZmllbGQgc2l6ZQo+ID4gLSByZW1vdmUgdW51c2VkIG1hY3Jvcwo+ID4g LSBmaXggYWRkcmVzcyBvZiB0aW1pbmcyIHJlZ2lzdGVyCj4gPiAtIGFkZCBndWFyZCBmb3IgYWNj ZXNzaW5nIGRhdGFfY29udHJvbF9zaXplIHJlZ2lzdGVyCj4gPiAtIHNpbXBsaWZ5IHRoZSBkcml2 ZXIgYnkgdXNlIHRoZSBzYW1lIGZ1bmN0aW9uIAo+ID4gICBmb3IgYWNjZXNzaW5nIG1haW4gYXJl YSBhbmQgb29iIGFyZWEKPiA+IC0gYWRkIGNvbW1lbnQgdG8gdGhlIGRyaXZlciBkZXNjcmliaW5n IG1haW4gY29udHJvbGxlciBtb2Rlcwo+ID4gLSBjaGFuZ2UgY29tcGF0aWJsZSBuYW1lIGZyb20g Y2RucyxocG5mYyB0byBjZG5zLGhwLW5mYwo+ID4gQ2hhbmdlcyBmb3IgdjQ6Cj4gPiAtIGZpeCBj b21tZW50cyBpc3N1ZXMgbGlrZSB0eXBvcywgbWlzc2luZyBjYXBpdGFscywgbWlzc2luZyBkb3Rz IGV0Yy4KPiA+IC0gcmVtb3ZlIHVubmVjZXNzYXJ5IFBIWSBvcHRpb25zIHBoeV9kbGxfYWdpbmcg YW5kIHBoeV9wZXJfYml0X2Rlc2tldwo+ID4gLSByZXBsYWNlIGFsbCByZWdpc3RlciBhY2Nlc3Mg ZnVuY3Rpb25zIHRvICJyZWxheGVkIiB2ZXJzaW9uCj4gPiAtIHJlbW92ZSBhbGwgdW5uZWNlc3Nh cnkgdmFyaWFibGVzIGluaXRpYWxpemF0aW9ucwo+ID4gLSBoYW5kbGUgZXJyb3IgaW5zaWRlIGNh ZGVuY2VfbmFuZF9nZXRfZWNjX3N0cmVuZ3RoX2lkeCBmdW5jdGlvbiBpbiBjYXNlIAo+ID4gICBj b3JyZW5jdGlvbiBzdHJlbmd0aCBpcyBub3QgZm91bmQKPiA+IC0gYWRkIGNvbW1pdCBtZXNzYWdl Cj4gPiBDaGFuZ2VzIGZvciB2MzoKPiA+IC0gcmVtb3ZlIGRlZmluaXRpb25zIG9mIHVudXNlZCBy ZWdpc3RlcnMKPiA+IC0gcmVtb3ZlIGNvbmZpZ3VyaW5nIHJlZ2lzdGVycyB3aGljaCBhcmUgbm90 IGV4cGVjdGVkIHRvIGJlIGNvbmZpZ3VyZWQgaW4KPiA+ICAgYXN5bmNocm9ub3VzIG1vZGUKPiA+ IC0gcmVtb3ZlIG5vdCBuZWVkZWQgZnVuY3Rpb24gcmVhZGluZyB0aW1pbmcgcmVnaXN0ZXJzCj4g PiAtIHJlbW92ZSBpbmZvcm1hdGlvbiBhYm91dCBvb2Igc2l6ZSBhbmQgd3JpdGUgc2l6ZSBmcm9t IGNkbnNfbmFuZF9jaGlwIHR5cGUKPiA+ICAgYW5kIHVzZSB2YWxlcyBmcm9tIG10ZF9pbmZvIGRp cmVjdGx5Cj4gPiAtIHVzZSBuYW5kX2NsZWFudXAgaW5zdGVhZCBvZiBuYW5kX3JlbGVhc2UgaWYg bXRkIGRldmljZSBpcyBub3QgcmVnaXN0ZXJlZCB5ZXQKPiA+IC0gZml4IGNhZGVuY2VfbmFuZF9j aGlwc19pbml0IGZ1bmN0aW9uIGFkZCBnYXJiYWdlIGNvbGxlY3Rpb24gCj4gPiAgIGlmIGEgY2hp cCBpbml0IGZhaWxzCj4gPiAtIHNpbXBsaWZ5IFBIWSBjYWxjdWxhdGlvbnMKPiA+IENoYW5nZXMg Zm9yIHYyOgo+ID4gLSBjcmVhdGUgb25lIHVuaXZlcnNhbCB3YWl0IGZ1bmN0aW9uIGZvciBhbGwg ZXZlbnRzIGluc3RlYWQgb2Ygb25lCj4gPiAgIGZ1bmN0aW9uIHBlciBldmVudC4KPiA+IC0gc3Bs aXQgb25lIGJpZyBmdW5jdGlvbiBleGVjdXRpbmcgbmFuZCBvcGVyYXRpb25zIHRvIHNlcGFyYXRl Cj4gPiAgIGZ1bmN0aW9ucyBvbmUgcGVyIGVhY2ggdHlwZSBvZiBvcGVyYXRpb24uCj4gPiAtIGFk ZCBlcmFzZSBhdG9taWMgb3BlcmF0aW9uIHRvIG5hbmQgb3BlcmF0aW9uIHBhcnNlcgo+ID4gLSBy ZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZXMuCj4gPiAtIHJlbW92ZSB1bnVzZWQgcmVnaXN0ZXIg ZGVmaW5lcyAKPiA+IC0gYWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIG5hbmQgY2hpcHMKPiA+IC0g cmVtb3ZlIGFsbCBjb2RlIHVzaW5nIGxlZ2FjeSBmdW5jdGlvbnMKPiA+IC0gcmVtb3ZlIGNoaXAg ZGVwZW5kZW50cyBwYXJhbWV0ZXJzIGZyb20gZHRzIGJpbmRpbmdzLCB0aGV5IHdlcmUKPiA+ICAg YXR0YWNoZWQgdG8gdGhlIFNvQyBzcGVjaWZpYyBjb21wYXRpYmxlIGF0IHRoZSBkcml2ZXIgbGV2 ZWwKPiA+IC0gc2ltcGxpZnkgaW50ZXJydXB0IGhhbmRsaW5nCj4gPiAtIHNpbXBsaWZ5IHRpbWlu ZyBjYWxjdWxhdGlvbnMKPiA+IC0gZml4IGNhbGN1bGF0aW9uIG9mIG1heGltdW0gc3VwcG9ydGVk IGNzIHNpZ25hbHMKPiA+IC0gc2ltcGxpZnkgZWNjIHNpemUgY2FsY3VsYXRpb24KPiA+IC0gcmVt b3ZlIGhlYWRlciBmaWxlIGFuZCBwdXQgd2hvbGUgY29kZSB0byBvbmUgYyBmaWxlCj4gPiAtLS0K PiA+ICBkcml2ZXJzL210ZC9uYW5kL3Jhdy9LY29uZmlnICAgICAgICAgICAgICAgICAgIHwgICAg NyArCj4gPiAgZHJpdmVycy9tdGQvbmFuZC9yYXcvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8 ICAgIDEgKwo+ID4gIGRyaXZlcnMvbXRkL25hbmQvcmF3L2NhZGVuY2UtbmFuZC1jb250cm9sbGVy LmMgfCAzMDIxICsrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDMgZmlsZXMgY2hhbmdlZCwg MzAyOSBpbnNlcnRpb25zKCspCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbXRkL25h bmQvcmF3L2NhZGVuY2UtbmFuZC1jb250cm9sbGVyLmMKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbXRkL25hbmQvcmF3L0tjb25maWcgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9LY29uZmln Cj4gPiBpbmRleCBlNjA0NjI1ZTJkZmEuLjRkMmNlM2I1YjJhZSAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvbXRkL25hbmQvcmF3L0tjb25maWcKPiA+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3 L0tjb25maWcKPiA+IEBAIC01NTcsNSArNTU3LDEyIEBAIGNvbmZpZyBNVERfTkFORF9NRVNPTgo+ ID4gIAloZWxwCj4gPiAgCSAgRW5hYmxlcyBzdXBwb3J0IGZvciBOQU5EIGNvbnRyb2xsZXIgb24g QW1sb2dpYydzIE1lc29uIFNvQ3MuCj4gPiAgCSAgVGhpcyBjb250cm9sbGVyIGlzIGZvdW5kIG9u IE1lc29uIFNvQ3MuCj4gPiArY29uZmlnIE1URF9OQU5EX0NBREVOQ0UKPiA+ICsJdHJpc3RhdGUg IlN1cHBvcnQgQ2FkZW5jZSBOQU5EIChIUE5GQykgY29udHJvbGxlciIKPiA+ICsJZGVwZW5kcyBv biBPRgo+ID4gKwloZWxwCj4gPiArCSAgRW5hYmxlIHRoZSBkcml2ZXIgZm9yIE5BTkQgZmxhc2gg b24gcGxhdGZvcm1zIHVzaW5nIGEgQ2FkZW5jZSBOQU5ECj4gPiArCSAgY29udHJvbGxlci4KPiA+ ICsKPiA+ICAKPiA+ICBlbmRpZiAjIE1URF9OQU5ECj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t dGQvbmFuZC9yYXcvTWFrZWZpbGUgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9NYWtlZmlsZQo+ID4g aW5kZXggNWE1YTcyZjA3OTNlLi5mNGIwOTlmMjc2ZjcgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L210ZC9uYW5kL3Jhdy9NYWtlZmlsZQo+ID4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvTWFr ZWZpbGUKPiA+IEBAIC01OCw2ICs1OCw3IEBAIG9iai0kKENPTkZJR19NVERfTkFORF9NVEspCQkr PSBtdGtfZWNjLm8gbXRrX25hbmQubwo+ID4gIG9iai0kKENPTkZJR19NVERfTkFORF9URUdSQSkJ CSs9IHRlZ3JhX25hbmQubwo+ID4gIG9iai0kKENPTkZJR19NVERfTkFORF9TVE0zMl9GTUMyKQkr PSBzdG0zMl9mbWMyX25hbmQubwo+ID4gIG9iai0kKENPTkZJR19NVERfTkFORF9NRVNPTikJCSs9 IG1lc29uX25hbmQubwo+ID4gK29iai0kKENPTkZJR19NVERfTkFORF9DQURFTkNFKQkJKz0gY2Fk ZW5jZS1uYW5kLWNvbnRyb2xsZXIubwo+ID4gIAo+ID4gIG5hbmQtb2JqcyA6PSBuYW5kX2Jhc2Uu byBuYW5kX2xlZ2FjeS5vIG5hbmRfYmJ0Lm8gbmFuZF90aW1pbmdzLm8gbmFuZF9pZHMubwo+ID4g IG5hbmQtb2JqcyArPSBuYW5kX29uZmkubwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25h bmQvcmF3L2NhZGVuY2UtbmFuZC1jb250cm9sbGVyLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9j YWRlbmNlLW5hbmQtY29udHJvbGxlci5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5k ZXggMDAwMDAwMDAwMDAwLi5hN2ZmNGU0NTg1ZDMKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBi L2RyaXZlcnMvbXRkL25hbmQvcmF3L2NhZGVuY2UtbmFuZC1jb250cm9sbGVyLmMKPiA+IEBAIC0w LDAgKzEsMzAyMSBAQAo+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ ID4gKy8qCj4gPiArICogQ2FkZW5jZSBOQU5EIGZsYXNoIGNvbnRyb2xsZXIgZHJpdmVyCj4gPiAr ICoKPiA+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQ2FkZW5jZQo+ID4gKyAqLwo+ID4gKwo+ID4g KyNpbmNsdWRlIDxsaW51eC9iaXRmaWVsZC5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4K PiA+ICsjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgv ZG1hZW5naW5lLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgo+ID4gKyNpbmNs dWRlIDxsaW51eC9tb2R1bGUuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgo+ID4g KyNpbmNsdWRlIDxsaW51eC9tdGQvcmF3bmFuZC5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9vZl9k ZXZpY2UuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvaW9wb2xsLmg+Cj4gPiArCj4gPiArLyoKPiA+ ICsgKiBIUE5GQyBjYW4gd29yayBpbiAzIG1vZGVzOgo+ID4gKyAqIC0gIFBJTyAtIGNhbiB3b3Jr IGluIG1hc3RlciBvciBzbGF2ZSBETUEuCj4gPiArICogLSAgQ0RNQSAtIG5lZWRzIE1hc3RlciBE TUEgZm9yIGFjY2Vzc2luZyBjb21tYW5kIGRlc2NyaXB0b3JzLgo+ID4gKyAqIC0gIEdlbmVyaWMg bW9kZSAtIGNhbiB1c2Ugb25seSBzbGF2ZSBETUEuCj4gPiArICogQ0RNQSBhbmQgUElPIG1vZGVz IGNhbiBiZSB1c2VkIHRvIGV4ZWN1dGUgb25seSBiYXNlIGNvbW1hbmRzLgo+ID4gKyAqIEdlbmVy aWMgbW9kZSBjYW4gYmUgdXNlZCB0byBleGVjdXRlIGFueSBjb21tYW5kCj4gPiArICogb24gTkFO RCBmbGFzaCBtZW1vcnkuIERyaXZlciB1c2VzIENETUEgbW9kZSBmb3IKPiA+ICsgKiBibG9jayBl cmFzaW5nLCBwYWdlIHJlYWRpbmcsIHBhZ2UgcHJvZ3JhbWluZy4KPiA+ICsgKiBHZW5lcmljIG1v ZGUgaXMgdXNlZCBmb3IgZXhlY3V0aW5nIHJlc3Qgb2YgY29tbWFuZHMuCj4gPiArICovCj4gPiAr Cj4gPiArI2RlZmluZSBNQVhfT09CX1NJWkVfUEVSX1NFQ1RPUgkzMgo+ID4gKyNkZWZpbmUgTUFY X0FERFJFU1NfQ1lDCQk2Cj4gPiArI2RlZmluZSBNQVhfRVJBU0VfQUREUkVTU19DWUMJMwo+ID4g KyNkZWZpbmUgTUFYX0RBVEFfU0laRQkJMHhGRkZDCj4gPiArCj4gPiArLyogUmVnaXN0ZXIgZGVm aW5pdGlvbi4gKi8KPiA+ICsvKgo+ID4gKyAqIENvbW1hbmQgcmVnaXN0ZXIgMC4KPiA+ICsgKiBX cml0aW5nIGRhdGEgdG8gdGhpcyByZWdpc3RlciB3aWxsIGluaXRpYXRlIGEgbmV3IHRyYW5zYWN0 aW9uCj4gPiArICogb2YgdGhlIE5GIGNvbnRyb2xsZXIuCj4gPiArICovCj4gPiArI2RlZmluZSBD TURfUkVHMAkJCTB4MDAwMAo+ID4gKy8qIENvbW1hbmQgdHlwZSBmaWVsZCBtYXNrLiAqLwo+ID4g KyNkZWZpbmUJCUNNRF9SRUcwX0NUCQlHRU5NQVNLKDMxLCAzMCkKPiA+ICsvKiBDb21tYW5kIHR5 cGUgQ0RNQS4gKi8KPiA+ICsjZGVmaW5lCQlDTURfUkVHMF9DVF9DRE1BCTB1TAo+ID4gKy8qIENv bW1hbmQgdHlwZSBnZW5lcmljLiAqLwo+ID4gKyNkZWZpbmUJCUNNRF9SRUcwX0NUX0dFTgkJM3VM Cj4gPiArLyogQ29tbWFuZCB0aHJlYWQgbnVtYmVyIGZpZWxkIG1hc2suICovCj4gPiArI2RlZmlu ZQkJQ01EX1JFRzBfVE4JCUdFTk1BU0soMjcsIDI0KQo+ID4gKwo+ID4gKy8qIENvbW1hbmQgcmVn aXN0ZXIgMi4gKi8KPiA+ICsjZGVmaW5lIENNRF9SRUcyCQkJMHgwMDA4Cj4gPiArLyogQ29tbWFu ZCByZWdpc3RlciAzLiAqLwo+ID4gKyNkZWZpbmUgQ01EX1JFRzMJCQkweDAwMEMKPiA+ICsvKiBQ b2ludGVyIHJlZ2lzdGVyIHRvIHNlbGVjdCB3aGljaCB0aHJlYWQgc3RhdHVzIHdpbGwgYmUgc2Vs ZWN0ZWQuICovCj4gPiArI2RlZmluZSBDTURfU1RBVFVTX1BUUgkJCTB4MDAxMAo+ID4gKy8qIENv bW1hbmQgc3RhdHVzIHJlZ2lzdGVyIGZvciBzZWxlY3RlZCB0aHJlYWQuICovCj4gPiArI2RlZmlu ZSBDTURfU1RBVFVTCQkJMHgwMDE0Cj4gPiArCj4gPiArLyogSW50ZXJydXB0IHN0YXR1cyByZWdp c3Rlci4gKi8KPiA+ICsjZGVmaW5lIElOVFJfU1RBVFVTCQkJMHgwMTEwCj4gPiArI2RlZmluZQkJ SU5UUl9TVEFUVVNfU0RNQV9FUlIJQklUKDIyKQo+ID4gKyNkZWZpbmUJCUlOVFJfU1RBVFVTX1NE TUFfVFJJR0cJQklUKDIxKQo+ID4gKyNkZWZpbmUJCUlOVFJfU1RBVFVTX1VOU1VQUF9DTUQJQklU KDE5KQo+ID4gKyNkZWZpbmUJCUlOVFJfU1RBVFVTX0RETUFfVEVSUglCSVQoMTgpCj4gPiArI2Rl ZmluZQkJSU5UUl9TVEFUVVNfQ0RNQV9URVJSCUJJVCgxNykKPiA+ICsjZGVmaW5lCQlJTlRSX1NU QVRVU19DRE1BX0lETAlCSVQoMTYpCj4gPiArCj4gPiArLyogSW50ZXJydXB0IGVuYWJsZSByZWdp c3Rlci4gKi8KPiA+ICsjZGVmaW5lIElOVFJfRU5BQkxFCQkJCTB4MDExNAo+ID4gKyNkZWZpbmUJ CUlOVFJfRU5BQkxFX0lOVFJfRU4JCUJJVCgzMSkKPiA+ICsjZGVmaW5lCQlJTlRSX0VOQUJMRV9T RE1BX0VSUl9FTgkJQklUKDIyKQo+ID4gKyNkZWZpbmUJCUlOVFJfRU5BQkxFX1NETUFfVFJJR0df RU4JQklUKDIxKQo+ID4gKyNkZWZpbmUJCUlOVFJfRU5BQkxFX1VOU1VQUF9DTURfRU4JQklUKDE5 KQo+ID4gKyNkZWZpbmUJCUlOVFJfRU5BQkxFX0RETUFfVEVSUl9FTglCSVQoMTgpCj4gPiArI2Rl ZmluZQkJSU5UUl9FTkFCTEVfQ0RNQV9URVJSX0VOCUJJVCgxNykKPiA+ICsjZGVmaW5lCQlJTlRS X0VOQUJMRV9DRE1BX0lETEVfRU4JQklUKDE2KQo+ID4gKwo+ID4gKy8qIENvbnRyb2xsZXIgaW50 ZXJuYWwgc3RhdGUuICovCj4gPiArI2RlZmluZSBDVFJMX1NUQVRVUwkJCQkweDAxMTgKPiA+ICsj ZGVmaW5lCQlDVFJMX1NUQVRVU19JTklUX0NPTVAJCUJJVCg5KQo+ID4gKyNkZWZpbmUJCUNUUkxf U1RBVFVTX0NUUkxfQlVTWQkJQklUKDgpCj4gPiArCj4gPiArLyogQ29tbWFuZCBFbmdpbmUgdGhy ZWFkcyBzdGF0ZS4gKi8KPiA+ICsjZGVmaW5lIFRSRF9TVEFUVVMJCQkJMHgwMTIwCj4gPiArCj4g PiArLyogQ29tbWFuZCBFbmdpbmUgaW50ZXJydXB0IHRocmVhZCBlcnJvciBzdGF0dXMuICovCj4g PiArI2RlZmluZSBUUkRfRVJSX0lOVF9TVEFUVVMJCQkweDAxMjgKPiA+ICsvKiBDb21tYW5kIEVu Z2luZSBpbnRlcnJ1cHQgdGhyZWFkIGVycm9yIGVuYWJsZS4gKi8KPiA+ICsjZGVmaW5lIFRSRF9F UlJfSU5UX1NUQVRVU19FTgkJCTB4MDEzMAo+ID4gKy8qIENvbW1hbmQgRW5naW5lIGludGVycnVw dCB0aHJlYWQgY29tcGxldGUgc3RhdHVzLiAqLwo+ID4gKyNkZWZpbmUgVFJEX0NPTVBfSU5UX1NU QVRVUwkJCTB4MDEzOAo+ID4gKwo+ID4gKy8qCj4gPiArICogVHJhbnNmZXIgY29uZmlnIDAgcmVn aXN0ZXIuCj4gPiArICogQ29uZmlndXJlcyBkYXRhIHRyYW5zZmVyIHBhcmFtZXRlcnMuCj4gPiAr ICovCj4gPiArI2RlZmluZSBUUkFOX0NGR18wCQkJCTB4MDQwMAo+ID4gKy8qIE9mZnNldCB2YWx1 ZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhZ2UuICovCj4gPiArI2RlZmluZQkJVFJBTl9D RkdfMF9PRkZTRVQJCUdFTk1BU0soMzEsIDE2KQo+ID4gKy8qIE51bWJlcnMgb2Ygc2VjdG9ycyB0 byB0cmFuc2ZlciB3aXRoaW4gc2luZ2xORiBkZXZpY2UncyBwYWdlLiAqLwo+ID4gKyNkZWZpbmUJ CVRSQU5fQ0ZHXzBfU0VDX0NOVAkJR0VOTUFTSyg3LCAwKQo+ID4gKwo+ID4gKy8qCj4gPiArICog VHJhbnNmZXIgY29uZmlnIDEgcmVnaXN0ZXIuCj4gPiArICogQ29uZmlndXJlcyBkYXRhIHRyYW5z ZmVyIHBhcmFtZXRlcnMuCj4gPiArICovCj4gPiArI2RlZmluZSBUUkFOX0NGR18xCQkJCTB4MDQw NAo+ID4gKy8qIFNpemUgb2YgbGFzdCBkYXRhIHNlY3Rvci4gKi8KPiA+ICsjZGVmaW5lCQlUUkFO X0NGR18xX0xBU1RfU0VDX1NJWkUJR0VOTUFTSygzMSwgMTYpCj4gPiArLyogU2l6ZSBvZiBub3Qt bGFzdCBkYXRhIHNlY3Rvci4gKi8KPiA+ICsjZGVmaW5lCQlUUkFOX0NGR18xX1NFQ1RPUl9TSVpF CQlHRU5NQVNLKDE1LCAwKQo+ID4gKwo+ID4gKy8qIEVDQyBlbmdpbmUgY29uZmlndXJhdGlvbiBy ZWdpc3RlciAwLiAqLwo+ID4gKyNkZWZpbmUgRUNDX0NPTkZJR18wCQkJCTB4MDQyOAo+ID4gKy8q IENvcnJlY3Rpb24gc3RyZW5ndGguICovCj4gPiArI2RlZmluZQkJRUNDX0NPTkZJR18wX0NPUlJf U1RSCQlHRU5NQVNLKDEwLCA4KQo+ID4gKy8qIEVuYWJsZSBlcmFzZWQgcGFnZXMgZGV0ZWN0aW9u IG1lY2hhbmlzbS4gKi8KPiA+ICsjZGVmaW5lCQlFQ0NfQ09ORklHXzBfRVJBU0VfREVUX0VOCUJJ VCgxKQo+ID4gKy8qIEVuYWJsZSBjb250cm9sbGVyIEVDQyBjaGVjayBiaXRzIGdlbmVyYXRpb24g YW5kIGNvcnJlY3Rpb24uICovCj4gPiArI2RlZmluZQkJRUNDX0NPTkZJR18wX0VDQ19FTgkJQklU KDApCj4gPiArCj4gPiArLyogRUNDIGVuZ2luZSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIDEuICov Cj4gPiArI2RlZmluZSBFQ0NfQ09ORklHXzEJCQkJMHgwNDJDCj4gPiArCj4gPiArLyogTXVsdGlw bGFuZSBzZXR0aW5ncyByZWdpc3Rlci4gKi8KPiA+ICsjZGVmaW5lIE1VTFRJUExBTkVfQ0ZHCQkJ CTB4MDQzNAo+ID4gKy8qIENhY2hlIG9wZXJhdGlvbiBzZXR0aW5ncy4gKi8KPiA+ICsjZGVmaW5l IENBQ0hFX0NGRwkJCQkweDA0MzgKPiA+ICsKPiA+ICsvKiBETUEgc2V0dGluZ3MgcmVnaXN0ZXIu ICovCj4gPiArI2RlZmluZSBETUFfU0VUSU5HUwkJCQkweDA0M0MKPiA+ICsvKiBFbmFibGUgU0RN QSBlcnJvciByZXBvcnQgb24gYWNjZXNzIHVucHJlcGFyZWQgc2xhdmUgRE1BIGludGVyZmFjZS4g Ki8KPiA+ICsjZGVmaW5lCQlETUFfU0VUSU5HU19TRE1BX0VSUl9SU1AJQklUKDE3KQo+ID4gKwo+ ID4gKy8qIFRyYW5zZmVycmVkIGRhdGEgYmxvY2sgc2l6ZSBmb3IgdGhlIHNsYXZlIERNQSBtb2R1 bGUuICovCj4gPiArI2RlZmluZSBTRE1BX1NJWkUJCQkJMHgwNDQwCj4gPiArCj4gPiArLyogVGhy ZWFkIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdHJhbnNmZXJyZWQgZGF0YSBibG9jawo+ID4gKyAq IGZvciB0aGUgc2xhdmUgRE1BIG1vZHVsZS4KPiA+ICsgKi8KPiA+ICsjZGVmaW5lIFNETUFfVFJE X05VTQkJCQkweDA0NDQKPiA+ICsvKiBUaHJlYWQgbnVtYmVyIG1hc2suICovCj4gPiArI2RlZmlu ZQkJU0RNQV9UUkRfTlVNX1NETUFfVFJECQlHRU5NQVNLKDIsIDApCj4gPiArCj4gPiArI2RlZmlu ZSBDT05UUk9MX0RBVEFfQ1RSTAkJCTB4MDQ5NAo+ID4gKy8qIFRocmVhZCBudW1iZXIgbWFzay4g Ki8KPiA+ICsjZGVmaW5lCQlDT05UUk9MX0RBVEFfQ1RSTF9TSVpFCQlHRU5NQVNLKDE1LCAwKQo+ ID4gKwo+ID4gKyNkZWZpbmUgQ1RSTF9WRVJTSU9OCQkJCTB4ODAwCj4gPiArCj4gPiArLyogQXZh aWxhYmxlIGhhcmR3YXJlIGZlYXR1cmVzIG9mIHRoZSBjb250cm9sbGVyLiAqLwo+ID4gKyNkZWZp bmUgQ1RSTF9GRUFUVVJFUwkJCQkweDgwNAo+ID4gKy8qIFN1cHBvcnQgZm9yIE5WLUREUjIvMyB3 b3JrIG1vZGUuICovCj4gPiArI2RlZmluZQkJQ1RSTF9GRUFUVVJFU19OVkREUl8yXzMJCUJJVCgy OCkKPiA+ICsvKiBTdXBwb3J0IGZvciBOVi1ERFIgd29yayBtb2RlLiAqLwo+ID4gKyNkZWZpbmUJ CUNUUkxfRkVBVFVSRVNfTlZERFIJCUJJVCgyNykKPiA+ICsvKiBTdXBwb3J0IGZvciBhc3luY2hy b25vdXMgd29yayBtb2RlLiAqLwo+ID4gKyNkZWZpbmUJCUNUUkxfRkVBVFVSRVNfQVNZTkMJCUJJ VCgyNikKPiA+ICsvKiBTdXBwb3J0IGZvciBhc3luY2hyb25vdXMgd29yayBtb2RlLiAqLwo+ID4g KyNkZWZpbmUJCUNUUkxfRkVBVFVSRVNfTl9CQU5LUwkJR0VOTUFTSygyNSwgMjQpCj4gPiArLyog U2xhdmUgYW5kIE1hc3RlciBETUEgZGF0YSB3aWR0aC4gKi8KPiA+ICsjZGVmaW5lCQlDVFJMX0ZF QVRVUkVTX0RNQV9EV0lUSDY0CUJJVCgyMSkKPiA+ICsvKiBBdmFpbGFiaWxpdHkgb2YgQ29udHJv bCBEYXRhIGZlYXR1cmUuKi8KPiA+ICsjZGVmaW5lCQlDVFJMX0ZFQVRVUkVTX0NPTlRST0xfREFU QQlCSVQoMTApCj4gPiArCj4gPiArLyogQkNIIEVuZ2luZSBpZGVudGlmaWNhdGlvbiByZWdpc3Rl ciAwIC0gY29ycmVjdGlvbiBzdHJlbmd0aHMuICovCj4gPiArI2RlZmluZSBCQ0hfQ0ZHXzAJCQkJ MHg4MzgKPiA+ICsjZGVmaW5lCQlCQ0hfQ0ZHXzBfQ09SUl9DQVBfMAkJR0VOTUFTSyg3LCAwKQo+ ID4gKyNkZWZpbmUJCUJDSF9DRkdfMF9DT1JSX0NBUF8xCQlHRU5NQVNLKDE1LCA4KQo+ID4gKyNk ZWZpbmUJCUJDSF9DRkdfMF9DT1JSX0NBUF8yCQlHRU5NQVNLKDIzLCAxNikKPiA+ICsjZGVmaW5l CQlCQ0hfQ0ZHXzBfQ09SUl9DQVBfMwkJR0VOTUFTSygzMSwgMjQpCj4gPiArCj4gPiArLyogQkNI IEVuZ2luZSBpZGVudGlmaWNhdGlvbiByZWdpc3RlciAxIC0gY29ycmVjdGlvbiBzdHJlbmd0aHMu ICovCj4gPiArI2RlZmluZSBCQ0hfQ0ZHXzEJCQkJMHg4M0MKPiA+ICsjZGVmaW5lCQlCQ0hfQ0ZH XzFfQ09SUl9DQVBfNAkJR0VOTUFTSyg3LCAwKQo+ID4gKyNkZWZpbmUJCUJDSF9DRkdfMV9DT1JS X0NBUF81CQlHRU5NQVNLKDE1LCA4KQo+ID4gKyNkZWZpbmUJCUJDSF9DRkdfMV9DT1JSX0NBUF82 CQlHRU5NQVNLKDIzLCAxNikKPiA+ICsjZGVmaW5lCQlCQ0hfQ0ZHXzFfQ09SUl9DQVBfNwkJR0VO TUFTSygzMSwgMjQpCj4gPiArCj4gPiArLyogQkNIIEVuZ2luZSBpZGVudGlmaWNhdGlvbiByZWdp c3RlciAyIC0gc2VjdG9yIHNpemVzLiAqLwo+ID4gKyNkZWZpbmUgQkNIX0NGR18yCQkJCTB4ODQw Cj4gPiArI2RlZmluZQkJQkNIX0NGR18yX1NFQ1RfMAkJR0VOTUFTSygxNSwgMCkKPiA+ICsjZGVm aW5lCQlCQ0hfQ0ZHXzJfU0VDVF8xCQlHRU5NQVNLKDMxLCAxNikKPiA+ICsKPiA+ICsvKiBCQ0gg RW5naW5lIGlkZW50aWZpY2F0aW9uIHJlZ2lzdGVyIDMuICovCj4gPiArI2RlZmluZSBCQ0hfQ0ZH XzMJCQkJMHg4NDQKPiA+ICsKPiA+ICsvKiBSZWFkeS9CdXN5IyBsaW5lIHN0YXR1cy4gKi8KPiA+ ICsjZGVmaW5lIFJCTl9TRVRJTkdTCQkJCTB4MTAwNAo+ID4gKwo+ID4gKy8qIENvbW1vbiBzZXR0 aW5ncy4gKi8KPiA+ICsjZGVmaW5lIENPTU1PTl9TRVQJCQkJMHgxMDA4Cj4gPiArLyogMTYgYml0 IGRldmljZSBjb25uZWN0ZWQgdG8gdGhlIE5BTkQgRmxhc2ggaW50ZXJmYWNlLiAqLwo+ID4gKyNk ZWZpbmUJCUNPTU1PTl9TRVRfREVWSUNFXzE2QklUCQlCSVQoOCkKPiA+ICsKPiA+ICsvKiBTa2lw X2J5dGVzIHJlZ2lzdGVycy4gKi8KPiA+ICsjZGVmaW5lIFNLSVBfQllURVNfQ09ORgkJCQkweDEw MEMKPiA+ICsjZGVmaW5lCQlTS0lQX0JZVEVTX01BUktFUl9WQUxVRQkJR0VOTUFTSygzMSwgMTYp Cj4gPiArI2RlZmluZQkJU0tJUF9CWVRFU19OVU1fT0ZfQllURVMJCUdFTk1BU0soNywgMCkKPiA+ ICsKPiA+ICsjZGVmaW5lIFNLSVBfQllURVNfT0ZGU0VUCQkJMHgxMDEwCj4gPiArI2RlZmluZQkJ IFNLSVBfQllURVNfT0ZGU0VUX1ZBTFVFCUdFTk1BU0soMjMsIDApCj4gPiArCj4gPiArLyogVGlt aW5ncyBjb25maWd1cmF0aW9uLiAqLwo+ID4gKyNkZWZpbmUgQVNZTkNfVE9HR0xFX1RJTUlOR1MJ CQkweDEwMWMKPiA+ICsjZGVmaW5lCQlBU1lOQ19UT0dHTEVfVElNSU5HU19UUkgJR0VOTUFTSygy OCwgMjQpCj4gPiArI2RlZmluZQkJQVNZTkNfVE9HR0xFX1RJTUlOR1NfVFJQCUdFTk1BU0soMjAs IDE2KQo+ID4gKyNkZWZpbmUJCUFTWU5DX1RPR0dMRV9USU1JTkdTX1RXSAlHRU5NQVNLKDEyLCA4 KQo+ID4gKyNkZWZpbmUJCUFTWU5DX1RPR0dMRV9USU1JTkdTX1RXUAlHRU5NQVNLKDQsIDApCj4g PiArCj4gPiArI2RlZmluZQlUSU1JTkdTMAkJCQkweDEwMjQKPiA+ICsjZGVmaW5lCQlUSU1JTkdT MF9UQURMCQkJR0VOTUFTSygzMSwgMjQpCj4gPiArI2RlZmluZQkJVElNSU5HUzBfVENDUwkJCUdF Tk1BU0soMjMsIDE2KQo+ID4gKyNkZWZpbmUJCVRJTUlOR1MwX1RXSFIJCQlHRU5NQVNLKDE1LCA4 KQo+ID4gKyNkZWZpbmUJCVRJTUlOR1MwX1RSSFcJCQlHRU5NQVNLKDcsIDApCj4gPiArCj4gPiAr I2RlZmluZQlUSU1JTkdTMQkJCQkweDEwMjgKPiA+ICsjZGVmaW5lCQlUSU1JTkdTMV9UUkhaCQkJ R0VOTUFTSygzMSwgMjQpCj4gPiArI2RlZmluZQkJVElNSU5HUzFfVFdCCQkJR0VOTUFTSygyMywg MTYpCj4gPiArI2RlZmluZQkJVElNSU5HUzFfVFZETFkJCQlHRU5NQVNLKDcsIDApCj4gPiArCj4g PiArI2RlZmluZQlUSU1JTkdTMgkJCQkweDEwMmMKPiA+ICsjZGVmaW5lCQlUSU1JTkdTMl9URkVB VAkJCUdFTk1BU0soMjUsIDE2KQo+ID4gKyNkZWZpbmUJCVRJTUlOR1MyX0NTX0hPTERfVElNRQkJ R0VOTUFTSygxMywgOCkKPiA+ICsjZGVmaW5lCQlUSU1JTkdTMl9DU19TRVRVUF9USU1FCQlHRU5N QVNLKDUsIDApCj4gPiArCj4gPiArLyogQ29uZmlndXJhdGlvbiBvZiB0aGUgcmVzeW5jaHJvbml6 YXRpb24gb2Ygc2xhdmUgRExMIG9mIFBIWS4gKi8KPiA+ICsjZGVmaW5lIERMTF9QSFlfQ1RSTAkJ CQkweDEwMzQKPiA+ICsjZGVmaW5lCQlETExfUEhZX0NUUkxfRExMX1JTVF9OCQlCSVQoMjQpCj4g PiArI2RlZmluZQkJRExMX1BIWV9DVFJMX0VYVEVOREVEX1dSX01PREUJQklUKDE3KQo+ID4gKyNk ZWZpbmUJCURMTF9QSFlfQ1RSTF9FWFRFTkRFRF9SRF9NT0RFCUJJVCgxNikKPiA+ICsjZGVmaW5l CQlETExfUEhZX0NUUkxfUlNfSElHSF9XQUlUX0NOVAlHRU5NQVNLKDExLCA4KQo+ID4gKyNkZWZp bmUJCURMTF9QSFlfQ1RSTF9SU19JRExFX0NOVAlHRU5NQVNLKDcsIDApCj4gPiArCj4gPiArLyog UmVnaXN0ZXIgY29udHJvbGxpbmcgRFEgcmVsYXRlZCB0aW1pbmcuICovCj4gPiArI2RlZmluZSBQ SFlfRFFfVElNSU5HCQkJCTB4MjAwMAo+ID4gKy8qIFJlZ2lzdGVyIGNvbnRyb2xsaW5nIERTUSBy ZWxhdGVkIHRpbWluZy4gICovCj4gPiArI2RlZmluZSBQSFlfRFFTX1RJTUlORwkJCQkweDIwMDQK PiA+ICsjZGVmaW5lCQlQSFlfRFFTX1RJTUlOR19EUVNfU0VMX09FX0VORAlHRU5NQVNLKDMsIDAp Cj4gPiArI2RlZmluZQkJUEhZX0RRU19USU1JTkdfUEhPTllfRFFTX1NFTAlCSVQoMTYpCj4gPiAr I2RlZmluZQkJUEhZX0RRU19USU1JTkdfVVNFX1BIT05ZX0RRUwlCSVQoMjApCj4gPiArCj4gPiAr LyogUmVnaXN0ZXIgY29udHJvbGxpbmcgdGhlIGdhdGUgYW5kIGxvb3BiYWNrIGNvbnRyb2wgcmVs YXRlZCB0aW1pbmcuICovCj4gPiArI2RlZmluZSBQSFlfR0FURV9MUEJLX0NUUkwJCQkweDIwMDgK PiA+ICsjZGVmaW5lCQlQSFlfR0FURV9MUEJLX0NUUkxfUkRTCQlHRU5NQVNLKDI0LCAxOSkKPiA+ ICsKPiA+ICsvKiBSZWdpc3RlciBob2xkcyB0aGUgY29udHJvbCBmb3IgdGhlIG1hc3RlciBETEwg bG9naWMuICovCj4gPiArI2RlZmluZSBQSFlfRExMX01BU1RFUl9DVFJMCQkJMHgyMDBDCj4gPiAr I2RlZmluZQkJUEhZX0RMTF9NQVNURVJfQ1RSTF9CWVBBU1NfTU9ERQlCSVQoMjMpCj4gPiArCj4g PiArLyogUmVnaXN0ZXIgaG9sZHMgdGhlIGNvbnRyb2wgZm9yIHRoZSBzbGF2ZSBETEwgbG9naWMu ICovCj4gPiArI2RlZmluZSBQSFlfRExMX1NMQVZFX0NUUkwJCQkweDIwMTAKPiA+ICsKPiA+ICsv KiBUaGlzIHJlZ2lzdGVyIGhhbmRsZXMgdGhlIGdsb2JhbCBjb250cm9sIHNldHRpbmdzIGZvciB0 aGUgUEhZLiAqLwo+ID4gKyNkZWZpbmUgUEhZX0NUUkwJCQkJMHgyMDgwCj4gPiArI2RlZmluZQkJ UEhZX0NUUkxfU0RSX0RRUwkJQklUKDE0KQo+ID4gKyNkZWZpbmUJCVBIWV9DVFJMX1BIT05ZX0RR UwkJR0VOTUFTSyg5LCA0KQo+ID4gKwo+ID4gKy8qCj4gPiArICogVGhpcyByZWdpc3RlciBoYW5k bGVzIHRoZSBnbG9iYWwgY29udHJvbCBzZXR0aW5ncwo+ID4gKyAqIGZvciB0aGUgdGVybWluYXRp b24gc2VsZWN0cyBmb3IgcmVhZHMuCj4gPiArICovCj4gPiArI2RlZmluZSBQSFlfVFNFTAkJCQkw eDIwODQKPiA+ICsKPiA+ICsvKiBHZW5lcmljIGNvbW1hbmQgbGF5b3V0LiAqLwo+ID4gKyNkZWZp bmUgR0NNRF9MQVlfQ1MJCQlHRU5NQVNLX1VMTCgxMSwgOCkKPiA+ICsvKgo+ID4gKyAqIFRoaXMg Yml0IGluZm9ybXMgdGhlIG1pbmljb3Ryb2xsZXIgaWYgaXQgaGFzIHRvIHdhaXQgZm9yIHRXQgo+ ID4gKyAqIGFmdGVyIHNlbmRpbmcgdGhlIGxhc3QgQ01EL0FERFIvREFUQSBpbiB0aGUgc2VxdWVu Y2UuCj4gPiArICovCj4gPiArI2RlZmluZSBHQ01EX0xBWV9UV0IJCQlCSVRfVUxMKDYpCj4gPiAr LyogVHlwZSBvZiBnZW5lcmljIGluc3RydWN0aW9uLiAqLwo+ID4gKyNkZWZpbmUgR0NNRF9MQVlf SU5TVFIJCQlHRU5NQVNLX1VMTCg1LCAwKQo+ID4gKwo+ID4gKy8qIEdlbmVyaWMgQ01EIHNlcXVl bmNlIHR5cGUuICovCj4gPiArI2RlZmluZQkJR0NNRF9MQVlfSU5TVFJfQ01ECTAKPiA+ICsvKiBH ZW5lcmljIEFERFIgc2VxdWVuY2UgdHlwZS4gKi8KPiA+ICsjZGVmaW5lCQlHQ01EX0xBWV9JTlNU Ul9BRERSCTEKPiA+ICsvKiBHZW5lcmljIGRhdGEgdHJhbnNmZXIgc2VxdWVuY2UgdHlwZS4gKi8K PiA+ICsjZGVmaW5lCQlHQ01EX0xBWV9JTlNUUl9EQVRBCTIKPiA+ICsKPiA+ICsvKiBJbnB1dCBw YXJ0IG9mIGdlbmVyaWMgY29tbWFuZCB0eXBlIG9mIGlucHV0IGlzIGNvbW1hbmQuICovCj4gPiAr I2RlZmluZSBHQ01EX0xBWV9JTlBVVF9DTUQJCUdFTk1BU0tfVUxMKDIzLCAxNikKPiA+ICsKPiA+ ICsvKiBHZW5lcmljIGNvbW1hbmQgYWRkcmVzcyBzZXF1ZW5jZSAtIGFkZHJlc3MgZmllbGRzLiAq Lwo+ID4gKyNkZWZpbmUgR0NNRF9MQVlfSU5QVVRfQUREUgkJR0VOTUFTS19VTEwoNjMsIDE2KQo+ ID4gKy8qIEdlbmVyaWMgY29tbWFuZCBhZGRyZXNzIHNlcXVlbmNlIC0gYWRkcmVzcyBzaXplLiAq Lwo+ID4gKyNkZWZpbmUgR0NNRF9MQVlfSU5QVVRfQUREUl9TSVpFCUdFTk1BU0tfVUxMKDEzLCAx MSkKPiA+ICsKPiA+ICsvKiBUcmFuc2ZlciBkaXJlY3Rpb24gZmllbGQgb2YgZ2VuZXJpYyBjb21t YW5kIGRhdGEgc2VxdWVuY2UuICovCj4gPiArI2RlZmluZSBHQ01EX0RJUgkJCUJJVF9VTEwoMTEp Cj4gPiArLyogUmVhZCB0cmFuc2ZlciBkaXJlY3Rpb24gb2YgZ2VuZXJpYyBjb21tYW5kIGRhdGEg c2VxdWVuY2UuICovCj4gPiArI2RlZmluZQkJR0NNRF9ESVJfUkVBRAkJMAo+ID4gKy8qIFdyaXRl IHRyYW5zZmVyIGRpcmVjdGlvbiBvZiBnZW5lcmljIGNvbW1hbmQgZGF0YSBzZXF1ZW5jZS4gKi8K PiA+ICsjZGVmaW5lCQlHQ01EX0RJUl9XUklURQkJMQo+ID4gKwo+ID4gKy8qIEVDQyBlbmFibGVk IGZsYWcgb2YgZ2VuZXJpYyBjb21tYW5kIGRhdGEgc2VxdWVuY2UgLSBFQ0MgZW5hYmxlZC4gKi8K PiA+ICsjZGVmaW5lIEdDTURfRUNDX0VOCQkJQklUX1VMTCgxMikKPiA+ICsvKiBHZW5lcmljIGNv bW1hbmQgZGF0YSBzZXF1ZW5jZSAtIHNlY3RvciBzaXplLiAqLwo+ID4gKyNkZWZpbmUgR0NNRF9T RUNUX1NJWkUJCQlHRU5NQVNLX1VMTCgzMSwgMTYpCj4gPiArLyogR2VuZXJpYyBjb21tYW5kIGRh dGEgc2VxdWVuY2UgLSBzZWN0b3IgY291bnQuICovCj4gPiArI2RlZmluZSBHQ01EX1NFQ1RfQ05U CQkJR0VOTUFTS19VTEwoMzksIDMyKQo+ID4gKy8qIEdlbmVyaWMgY29tbWFuZCBkYXRhIHNlcXVl bmNlIC0gbGFzdCBzZWN0b3Igc2l6ZS4gKi8KPiA+ICsjZGVmaW5lIEdDTURfTEFTVF9TSVpFCQkJ R0VOTUFTS19VTEwoNTUsIDQwKQo+ID4gKwo+ID4gKy8qIENETUEgZGVzY3JpcHRvciBmaWVsZHMu ICovCj4gPiArLyogRXJhc2UgY29tbWFuZCB0eXBlIG9mIENETUEgZGVzY3JpcHRvci4gKi8KPiA+ ICsjZGVmaW5lIENETUFfQ1RfRVJBU0UJCTB4MTAwMAo+ID4gKy8qIFByb2dyYW0gcGFnZSBjb21t YW5kIHR5cGUgb2YgQ0RNQSBkZXNjcmlwdG9yLiAqLwo+ID4gKyNkZWZpbmUgQ0RNQV9DVF9XUgkJ MHgyMTAwCj4gPiArLyogUmVhZCBwYWdlIGNvbW1hbmQgdHlwZSBvZiBDRE1BIGRlc2NyaXB0b3Iu ICovCj4gPiArI2RlZmluZSBDRE1BX0NUX1JECQkweDIyMDAKPiA+ICsKPiA+ICsvKiBGbGFzaCBw b2ludGVyIG1lbW9yeSBzaGlmdC4gKi8KPiA+ICsjZGVmaW5lIENETUFfQ0ZQVFJfTUVNX1NISUZU CTI0Cj4gPiArLyogRmxhc2ggcG9pbnRlciBtZW1vcnkgbWFzay4gKi8KPiA+ICsjZGVmaW5lIENE TUFfQ0ZQVFJfTUVNCQlHRU5NQVNLKDI2LCAyNCkKPiA+ICsKPiA+ICsvKgo+ID4gKyAqIENvbW1h bmQgRE1BIGRlc2NyaXB0b3IgZmxhZ3MuIElmIHNldCBjYXVzZXMgaXNzdWUgaW50ZXJydXB0IGFm dGVyCj4gPiArICogdGhlIGNvbXBsZXRpb24gb2YgZGVzY3JpcHRvciBwcm9jZXNzaW5nLgo+ID4g KyAqLwo+ID4gKyNkZWZpbmUgQ0RNQV9DRl9JTlQJCUJJVCg4KQo+ID4gKy8qCj4gPiArICogQ29t bWFuZCBETUEgZGVzY3JpcHRvciBmbGFncyAtIHRoZSBuZXh0IGRlc2NyaXB0b3IKPiA+ICsgKiBh ZGRyZXNzIGZpZWxkIGlzIHZhbGlkIGFuZCBkZXNjcmlwdG9yIHByb2Nlc3Npbmcgc2hvdWxkIGNv bnRpbnVlLgo+ID4gKyAqLwo+ID4gKyNkZWZpbmUgQ0RNQV9DRl9DT05UCQlCSVQoOSkKPiA+ICsv KiBETUEgbWFzdGVyIGZsYWcgb2YgY29tbWFuZCBETUEgZGVzY3JpcHRvci4gKi8KPiA+ICsjZGVm aW5lIENETUFfQ0ZfRE1BX01BU1RFUglCSVQoMTApCj4gPiArCj4gPiArLyogT3BlcmF0aW9uIGNv bXBsZXRlIHN0YXR1cyBvZiBjb21tYW5kIGRlc2NyaXB0b3IuICovCj4gPiArI2RlZmluZSBDRE1B X0NTX0NPTVAJCUJJVCgxNSkKPiA+ICsvKiBPcGVyYXRpb24gY29tcGxldGUgc3RhdHVzIG9mIGNv bW1hbmQgZGVzY3JpcHRvci4gKi8KPiA+ICsvKiBDb21tYW5kIGRlc2NyaXB0b3Igc3RhdHVzIC0g b3BlcmF0aW9uIGZhaWwuICovCj4gPiArI2RlZmluZSBDRE1BX0NTX0ZBSUwJCUJJVCgxNCkKPiA+ ICsvKiBDb21tYW5kIGRlc2NyaXB0b3Igc3RhdHVzIC0gcGFnZSBlcmFzZWQuICovCj4gPiArI2Rl ZmluZSBDRE1BX0NTX0VSUAkJQklUKDExKQo+ID4gKy8qIENvbW1hbmQgZGVzY3JpcHRvciBzdGF0 dXMgLSB0aW1lb3V0IG9jY3VycmVkLiAqLwo+ID4gKyNkZWZpbmUgQ0RNQV9DU19UT1VUCQlCSVQo MTApCj4gPiArLyoKPiA+ICsgKiBNYXhpbXVtIGFtb3VudCBvZiBjb3JyZWN0aW9uIGFwcGxpZWQg dG8gb25lIEVDQyBzZWN0b3IuCj4gPiArICogSXQgaXMgcGFydCBvZiBjb21tYW5kIGRlc2NyaXB0 b3Igc3RhdHVzLgo+ID4gKyAqLwo+ID4gKyNkZWZpbmUgQ0RNQV9DU19NQVhFUlIJCUdFTk1BU0so OSwgMikKPiA+ICsvKiBDb21tYW5kIGRlc2NyaXB0b3Igc3RhdHVzIC0gdW5jb3JyZWN0YWJsZSBF Q0MgZXJyb3IuICovCj4gPiArI2RlZmluZSBDRE1BX0NTX1VOQ0UJCUJJVCgxKQo+ID4gKy8qIENv bW1hbmQgZGVzY3JpcHRvciBzdGF0dXMgLSBkZXNjcmlwdG9yIGVycm9yLiAqLwo+ID4gKyNkZWZp bmUgQ0RNQV9DU19FUlIJCUJJVCgwKQo+ID4gKwo+ID4gKy8qIFN0YXR1cyBvZiBvcGVyYXRpb24g LSBPSy4gKi8KPiA+ICsjZGVmaW5lIFNUQVRfT0sJCQkwCj4gPiArLyogU3RhdHVzIG9mIG9wZXJh dGlvbiAtIEZBSUwuICovCj4gPiArI2RlZmluZSBTVEFUX0ZBSUwJCTIKPiA+ICsvKiBTdGF0dXMg b2Ygb3BlcmF0aW9uIC0gdW5jb3JyZWN0YWJsZSBFQ0MgZXJyb3IuICovCj4gPiArI2RlZmluZSBT VEFUX0VDQ19VTkNPUlIJCTMKPiA+ICsvKiBTdGF0dXMgb2Ygb3BlcmF0aW9uIC0gcGFnZSBlcmFz ZWQuICovCj4gPiArI2RlZmluZSBTVEFUX0VSQVNFRAkJNQo+ID4gKy8qIFN0YXR1cyBvZiBvcGVy YXRpb24gLSBjb3JyZWN0YWJsZSBFQ0MgZXJyb3IuICovCj4gPiArI2RlZmluZSBTVEFUX0VDQ19D T1JSCQk2Cj4gPiArLyogU3RhdHVzIG9mIG9wZXJhdGlvbiAtIHVuc3VzcGVjdGVkIHN0YXRlLiAq Lwo+ID4gKyNkZWZpbmUgU1RBVF9VTktOT1dOCQk3Cj4gPiArLyogU3RhdHVzIG9mIG9wZXJhdGlv biAtIG9wZXJhdGlvbiBpcyBub3QgY29tcGxldGVkIHlldC4gKi8KPiA+ICsjZGVmaW5lIFNUQVRf QlVTWQkJMHhGRgo+ID4gKwo+ID4gKyNkZWZpbmUgQkNIX01BWF9OVU1fQ09SUl9DQVBTCQk4Cj4g PiArI2RlZmluZSBCQ0hfTUFYX05VTV9TRUNUT1JfU0laRVMJMgo+ID4gKwo+ID4gK3N0cnVjdCBj YWRlbmNlX25hbmRfdGltaW5ncyB7Cj4gPiArCXUzMiBhc3luY190b2dnbGVfdGltaW5nczsKPiA+ ICsJdTMyIHRpbWluZ3MwOwo+ID4gKwl1MzIgdGltaW5nczE7Cj4gPiArCXUzMiB0aW1pbmdzMjsK PiA+ICsJdTMyIGRsbF9waHlfY3RybDsKPiA+ICsJdTMyIHBoeV9jdHJsOwo+ID4gKwl1MzIgcGh5 X2Rxc190aW1pbmc7Cj4gPiArCXUzMiBwaHlfZ2F0ZV9scGJrX2N0cmw7Cj4gPiArfTsKPiA+ICsK PiA+ICsvKiBDb21tYW5kIERNQSBkZXNjcmlwdG9yLiAqLwo+ID4gK3N0cnVjdCBjYWRlbmNlX25h bmRfY2RtYV9kZXNjIHsKPiA+ICsJLyogTmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MuICovCj4gPiAr CXU2NCBuZXh0X3BvaW50ZXI7Cj4gPiArCj4gPiArCS8qIEZsYXNoIGFkZHJlc3MgaXMgYSAzMi1i aXQgYWRkcmVzcyBjb21wcmlzaW5nIG9mIEJBTksgYW5kIFJPVyBBRERSLiAqLwo+ID4gKwl1MzIg Zmxhc2hfcG9pbnRlcjsKPiA+ICsJdTMyIHJzdmQwOwo+ID4gKwo+ID4gKwkvKiBPcGVyYXRpb24g dGhlIGNvbnRyb2xsZXIgbmVlZHMgdG8gcGVyZm9ybS4gKi8KPiA+ICsJdTE2IGNvbW1hbmRfdHlw ZTsKPiA+ICsJdTE2IHJzdmQxOwo+ID4gKwkvKiBGbGFncyBmb3Igb3BlcmF0aW9uIG9mIHRoaXMg Y29tbWFuZC4gKi8KPiA+ICsJdTE2IGNvbW1hbmRfZmxhZ3M7Cj4gPiArCXUxNiByc3ZkMjsKPiA+ ICsKPiA+ICsJLyogU3lzdGVtL2hvc3QgbWVtb3J5IGFkZHJlc3MgcmVxdWlyZWQgZm9yIGRhdGEg RE1BIGNvbW1hbmRzLiAqLwo+ID4gKwl1NjQgbWVtb3J5X3BvaW50ZXI7Cj4gPiArCj4gPiArCS8q IFN0YXR1cyBvZiBvcGVyYXRpb24uICovCj4gPiArCXUzMiBzdGF0dXM7Cj4gPiArCXUzMiByc3Zk MzsKPiA+ICsKPiA+ICsJLyogQWRkcmVzcyBwb2ludGVyIHRvIHN5bmMgYnVmZmVyIGxvY2F0aW9u LiAqLwo+ID4gKwl1NjQgc3luY19mbGFnX3BvaW50ZXI7Cj4gPiArCj4gPiArCS8qIENvbnRyb2xz IHRoZSBidWZmZXIgc3luYyBtZWNoYW5pc20uICovCj4gPiArCXUzMiBzeW5jX2FyZ3VtZW50czsK PiA+ICsJdTMyIHJzdmQ0Owo+ID4gKwo+ID4gKwkvKiBDb250cm9sIGRhdGEgcG9pbnRlci4gKi8K PiA+ICsJdTY0IGN0cmxfZGF0YV9wdHI7Cj4gPiArfTsKPiA+ICsKPiA+ICsvKiBJbnRlcnJ1cHQg c3RhdHVzLiAqLwo+ID4gK3N0cnVjdCBjYWRlbmNlX25hbmRfaXJxX3N0YXR1cyB7Cj4gPiArCS8q IFRocmVhZCBvcGVyYXRpb24gY29tcGxldGUgc3RhdHVzLiAqLwo+ID4gKwl1MzIgdHJkX3N0YXR1 czsKPiA+ICsJLyogVGhyZWFkIG9wZXJhdGlvbiBlcnJvci4gKi8KPiA+ICsJdTMyIHRyZF9lcnJv cjsKPiA+ICsJLyogQ29udHJvbGxlciBzdGF0dXMuICovCj4gPiArCXUzMiBzdGF0dXM7Cj4gPiAr fTsKPiA+ICsKPiA+ICsvKiBDYWRlbmNlIE5BTkQgZmxhc2ggY29udHJvbGxlciBjYXBhYmlsaXRp ZXMgZ2V0IGZyb20gZHJpdmVyIGRhdGEuICovCj4gPiArc3RydWN0IGNhZGVuY2VfbmFuZF9kdF9k ZXZkYXRhIHsKPiA+ICsJLyogU2tldyB2YWx1ZSBvZiB0aGUgb3V0cHV0IHNpZ25hbHMgb2YgdGhl IE5BTkQgRmxhc2ggaW50ZXJmYWNlLiAqLwo+ID4gKwl1MzIgaWZfc2tldzsKPiA+ICsJLyogSXQg aW5mb3JtcyBpZiBzbGF2ZSBETUEgaW50ZXJmYWNlIGlzIGNvbm5lY3RlZCB0byBETUEgZW5naW5l LiAqLwo+ID4gKwl1bnNpZ25lZCBpbnQgaGFzX2RtYToxOwo+ID4gK307Cj4gPiArCj4gPiArLyog Q2FkZW5jZSBOQU5EIGZsYXNoIGNvbnRyb2xsZXIgY2FwYWJpbGl0aWVzIHJlYWQgZnJvbSByZWdp c3RlcnMuICovCj4gPiArc3RydWN0IGNkbnNfbmFuZF9jYXBzIHsKPiA+ICsJLyogTWF4aW11bSBu dW1iZXIgb2YgYmFua3Mgc3VwcG9ydGVkIGJ5IGhhcmR3YXJlLiAqLwo+ID4gKwl1OCBtYXhfYmFu a3M7Cj4gPiArCS8qIFNsYXZlIGFuZCBNYXN0ZXIgRE1BIGRhdGEgd2lkdGggaW4gYnl0ZXMgKDQg b3IgOCkuICovCj4gPiArCXU4IGRhdGFfZG1hX3dpZHRoOwo+ID4gKwkvKiBDb250cm9sIERhdGEg ZmVhdHVyZSBzdXBwb3J0ZWQuICovCj4gPiArCXU4IGRhdGFfY29udHJvbF9zdXBwOwo+ID4gKwkv KiBJcyBQSFkgdHlwZSBETEwuICovCj4gPiArCXU4IGlzX3BoeV90eXBlX2RsbDsgIAo+IAo+IEkn ZCBtYWtlICdkYXRhX2NvbnRyb2xfc3VwcCcgYW5kICdpc19waHlfdHlwZV9kbGwnIHU4OjEgb3Ig dW5zaWduZWQKPiBpbnQ6MSBhcyB5b3UgZGlkIGZvciAnaGFzX2RtYScsIGZvciBjb25zaXN0ZW5j eS4KCk9yIGp1c3QgYm9vbGVhbnMuIEkga25vdyB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMg aXQgY2FuIGJlIGJhZGx5CmhhbmRsZWQgYnV0IEkgZG9uJ3QgdGhpbmsgd2UgY2FyZSBoZXJlLgoK ClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K