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.2 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 4F6EEC7618B for ; Thu, 25 Jul 2019 15:12:05 +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 2191C2238C for ; Thu, 25 Jul 2019 15:12:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="h+m9MhpI"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lwH9DhBn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2191C2238C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qw4xj493a/wS+RKcDmvlpsaOvDmna29JwABdMkCyDMo=; b=h+m9MhpIpbxdX7 bwD/pNXMy4S9Iww7z+X9L7krpJCG52DMPVjVuTyXJMugee/yX/vbNyfa24aJ6IDvNyrT+umLbeuXq t6H7CCBl9aAFyTdxHq8c+9fAqlDVNwkxo9dUloVhtQbsyO2tIcZZBu0Iz0xlVwelX/Y2fw13HOzcL eZGRPKvv5dAimGVhBEyiMVNPeyaw5CKX+oz6/SRvs7Sgy37Jiot3bg3KEotxRy4fOIqSeSxya4gLv KXe9oKPUZbdnZQYaJIxSy/QMrpLJhu/cO8r5J492MhrpXS3t6VAlr4GRkVuhOfhMVmUNJnrNEn4+t AeJNTBe6poPR6L/jC6Bg==; 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 1hqfPK-0002Bi-HL; Thu, 25 Jul 2019 15:11:50 +0000 Received: from mail-lj1-x244.google.com ([2a00:1450:4864:20::244]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hqfPH-0002BD-7A for linux-mtd@lists.infradead.org; Thu, 25 Jul 2019 15:11:49 +0000 Received: by mail-lj1-x244.google.com with SMTP id m23so48281170lje.12 for ; Thu, 25 Jul 2019 08:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=mhCLJd2eT7cib03YC5z7D5E+De8vfmE5c8zUEHCqPMQ=; b=lwH9DhBnqx7Tp6IJ4L57PMIhSceaZ/InxoliJazU7RHxSgB9Ies9uhVhqFYvGGXz2X DTwsCi5LcAdxLnjqaOvHHjWYEY821bj7k7iWERtJVFXUouF+j2DF0hJnIw5CWFmDJ572 Ojd1M1Fa/pQNgDOfvrBnqt0J3vWEqK+uy9fhiFcS+JQ9hHIT6srSGmqfGuQjsvTR2OHg ZrhzdXeACKAl0nW04Af0FFrJLZ1zS1f8xzyOJ9sBututuiy+CPBoNHyx/+cbQ1W8dQO8 juslofGr2Uv6CBc+soXbRKPEzEGs4jhPW5c0D0DbZbVC1zWhzvaG7GxLqnSG2eFPXR9y GcrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mhCLJd2eT7cib03YC5z7D5E+De8vfmE5c8zUEHCqPMQ=; b=aalKH4N5P/KV1mWLYlrzZWkGTyEBg964bHfWYs/Cv77zG11XqOlYVnnQslv8coNQf3 UabjqsvXGAV+FSWzLjsPv2WohPzXfN5OrJiR64txNbACYqManE7BMh5dteC0M19Rabcr kM+IMUBIye3/J+NCXpvdmh9JSdSG8CJqfxIFQWlnXkjOBdmVek/kMmNGzScKuEckOu9u Sc786Xqpmu+zjCPkhy1I8H33cgQGhRqyneQa9crKUcjHkppi7K8DBu9whUF+3gsPFlvN O7xhqTOlJRuedGYGEAGqM3d4JlEsczsq13QMebaAhrqo2l3GdVlyMymwB4NRiKf1+grA MWwA== X-Gm-Message-State: APjAAAUa1fx4ad066jHcmN+QRKzvhpAp8LeM7LIAQ1lNU6KKonuPQPcP oO/qAJAxcohBMJHP8FH3rmY= X-Google-Smtp-Source: APXvYqxT3WkfwIzVxrun3P7dS1heJkqzpeWvwgsjxJRwPemVeyrqmaGPQyQIq1xwUv65KzHCYU7DnQ== X-Received: by 2002:a2e:9758:: with SMTP id f24mr46842343ljj.58.1564067505383; Thu, 25 Jul 2019 08:11:45 -0700 (PDT) Received: from [192.168.2.145] (ppp91-78-220-99.pppoe.mtu-net.ru. [91.78.220.99]) by smtp.googlemail.com with ESMTPSA id u13sm7555724lfi.4.2019.07.25.08.11.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Jul 2019 08:11:44 -0700 (PDT) Subject: Re: [v5 1/2] mtd: nand: Add new Cadence NAND driver to MTD subsystem To: Piotr Sroka References: <20190725145804.8886-1-piotrs@cadence.com> <20190725150012.14416-1-piotrs@cadence.com> From: Dmitry Osipenko Message-ID: Date: Thu, 25 Jul 2019 18:11:43 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <20190725150012.14416-1-piotrs@cadence.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190725_081147_268403_C463BB52 X-CRM114-Status: GOOD ( 34.82 ) 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 , Miquel Raynal , linux-mtd@lists.infradead.org, Brian Norris , David Woodhouse , Kazuhiro Kasai 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 MjUuMDcuMjAxOSAxODowMCwgUGlvdHIgU3Jva2Eg0L/QuNGI0LXRgjoKPiBBZGQgbmV3IENhZGVu Y2UgTkFORCBkcml2ZXIgdG8gTVREIHN1YnN5c3RlbQo+IAo+IFNpZ25lZC1vZmYtYnk6IFBpb3Ry IFNyb2thIDxwaW90cnNAY2FkZW5jZS5jb20+Cj4gLS0tCj4gQ2hhbmdlcyBmb3IgdjU6Cj4gLSBm aXggImVjYyBjb25maWcgc3RyZW5ndGgiIGZpZWxkIHNpemUKPiAtIHJlbW92ZSB1bnVzZWQgbWFj cm9zCj4gLSBmaXggYWRkcmVzcyBvZiB0aW1pbmcyIHJlZ2lzdGVyCj4gLSBhZGQgZ3VhcmQgZm9y IGFjY2Vzc2luZyBkYXRhX2NvbnRyb2xfc2l6ZSByZWdpc3Rlcgo+IC0gc2ltcGxpZnkgdGhlIGRy aXZlciBieSB1c2UgdGhlIHNhbWUgZnVuY3Rpb24gCj4gICBmb3IgYWNjZXNzaW5nIG1haW4gYXJl YSBhbmQgb29iIGFyZWEKPiAtIGFkZCBjb21tZW50IHRvIHRoZSBkcml2ZXIgZGVzY3JpYmluZyBt YWluIGNvbnRyb2xsZXIgbW9kZXMKPiAtIGNoYW5nZSBjb21wYXRpYmxlIG5hbWUgZnJvbSBjZG5z LGhwbmZjIHRvIGNkbnMsaHAtbmZjCj4gQ2hhbmdlcyBmb3IgdjQ6Cj4gLSBmaXggY29tbWVudHMg aXNzdWVzIGxpa2UgdHlwb3MsIG1pc3NpbmcgY2FwaXRhbHMsIG1pc3NpbmcgZG90cyBldGMuCj4g LSByZW1vdmUgdW5uZWNlc3NhcnkgUEhZIG9wdGlvbnMgcGh5X2RsbF9hZ2luZyBhbmQgcGh5X3Bl cl9iaXRfZGVza2V3Cj4gLSByZXBsYWNlIGFsbCByZWdpc3RlciBhY2Nlc3MgZnVuY3Rpb25zIHRv ICJyZWxheGVkIiB2ZXJzaW9uCj4gLSByZW1vdmUgYWxsIHVubmVjZXNzYXJ5IHZhcmlhYmxlcyBp bml0aWFsaXphdGlvbnMKPiAtIGhhbmRsZSBlcnJvciBpbnNpZGUgY2FkZW5jZV9uYW5kX2dldF9l Y2Nfc3RyZW5ndGhfaWR4IGZ1bmN0aW9uIGluIGNhc2UgCj4gICBjb3JyZW5jdGlvbiBzdHJlbmd0 aCBpcyBub3QgZm91bmQKPiAtIGFkZCBjb21taXQgbWVzc2FnZQo+IENoYW5nZXMgZm9yIHYzOgo+ IC0gcmVtb3ZlIGRlZmluaXRpb25zIG9mIHVudXNlZCByZWdpc3RlcnMKPiAtIHJlbW92ZSBjb25m aWd1cmluZyByZWdpc3RlcnMgd2hpY2ggYXJlIG5vdCBleHBlY3RlZCB0byBiZSBjb25maWd1cmVk IGluCj4gICBhc3luY2hyb25vdXMgbW9kZQo+IC0gcmVtb3ZlIG5vdCBuZWVkZWQgZnVuY3Rpb24g cmVhZGluZyB0aW1pbmcgcmVnaXN0ZXJzCj4gLSByZW1vdmUgaW5mb3JtYXRpb24gYWJvdXQgb29i IHNpemUgYW5kIHdyaXRlIHNpemUgZnJvbSBjZG5zX25hbmRfY2hpcCB0eXBlCj4gICBhbmQgdXNl IHZhbGVzIGZyb20gbXRkX2luZm8gZGlyZWN0bHkKPiAtIHVzZSBuYW5kX2NsZWFudXAgaW5zdGVh ZCBvZiBuYW5kX3JlbGVhc2UgaWYgbXRkIGRldmljZSBpcyBub3QgcmVnaXN0ZXJlZCB5ZXQKPiAt IGZpeCBjYWRlbmNlX25hbmRfY2hpcHNfaW5pdCBmdW5jdGlvbiBhZGQgZ2FyYmFnZSBjb2xsZWN0 aW9uIAo+ICAgaWYgYSBjaGlwIGluaXQgZmFpbHMKPiAtIHNpbXBsaWZ5IFBIWSBjYWxjdWxhdGlv bnMKPiBDaGFuZ2VzIGZvciB2MjoKPiAtIGNyZWF0ZSBvbmUgdW5pdmVyc2FsIHdhaXQgZnVuY3Rp b24gZm9yIGFsbCBldmVudHMgaW5zdGVhZCBvZiBvbmUKPiAgIGZ1bmN0aW9uIHBlciBldmVudC4K PiAtIHNwbGl0IG9uZSBiaWcgZnVuY3Rpb24gZXhlY3V0aW5nIG5hbmQgb3BlcmF0aW9ucyB0byBz ZXBhcmF0ZQo+ICAgZnVuY3Rpb25zIG9uZSBwZXIgZWFjaCB0eXBlIG9mIG9wZXJhdGlvbi4KPiAt IGFkZCBlcmFzZSBhdG9taWMgb3BlcmF0aW9uIHRvIG5hbmQgb3BlcmF0aW9uIHBhcnNlcgo+IC0g cmVtb3ZlIHVubmVjZXNzYXJ5IGluY2x1ZGVzLgo+IC0gcmVtb3ZlIHVudXNlZCByZWdpc3RlciBk ZWZpbmVzIAo+IC0gYWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIG5hbmQgY2hpcHMKPiAtIHJlbW92 ZSBhbGwgY29kZSB1c2luZyBsZWdhY3kgZnVuY3Rpb25zCj4gLSByZW1vdmUgY2hpcCBkZXBlbmRl bnRzIHBhcmFtZXRlcnMgZnJvbSBkdHMgYmluZGluZ3MsIHRoZXkgd2VyZQo+ICAgYXR0YWNoZWQg dG8gdGhlIFNvQyBzcGVjaWZpYyBjb21wYXRpYmxlIGF0IHRoZSBkcml2ZXIgbGV2ZWwKPiAtIHNp bXBsaWZ5IGludGVycnVwdCBoYW5kbGluZwo+IC0gc2ltcGxpZnkgdGltaW5nIGNhbGN1bGF0aW9u cwo+IC0gZml4IGNhbGN1bGF0aW9uIG9mIG1heGltdW0gc3VwcG9ydGVkIGNzIHNpZ25hbHMKPiAt IHNpbXBsaWZ5IGVjYyBzaXplIGNhbGN1bGF0aW9uCj4gLSByZW1vdmUgaGVhZGVyIGZpbGUgYW5k IHB1dCB3aG9sZSBjb2RlIHRvIG9uZSBjIGZpbGUKPiAtLS0KPiAgZHJpdmVycy9tdGQvbmFuZC9y YXcvS2NvbmZpZyAgICAgICAgICAgICAgICAgICB8ICAgIDcgKwo+ICBkcml2ZXJzL210ZC9uYW5k L3Jhdy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAgMSArCj4gIGRyaXZlcnMvbXRkL25h bmQvcmF3L2NhZGVuY2UtbmFuZC1jb250cm9sbGVyLmMgfCAzMDIxICsrKysrKysrKysrKysrKysr KysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDMwMjkgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9tdGQvbmFuZC9yYXcvY2FkZW5jZS1uYW5kLWNvbnRyb2xsZXIu Ywo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9uYW5kL3Jhdy9LY29uZmlnIGIvZHJpdmVy cy9tdGQvbmFuZC9yYXcvS2NvbmZpZwo+IGluZGV4IGU2MDQ2MjVlMmRmYS4uNGQyY2UzYjViMmFl IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L0tjb25maWcKPiArKysgYi9kcml2 ZXJzL210ZC9uYW5kL3Jhdy9LY29uZmlnCj4gQEAgLTU1Nyw1ICs1NTcsMTIgQEAgY29uZmlnIE1U RF9OQU5EX01FU09OCj4gIAloZWxwCj4gIAkgIEVuYWJsZXMgc3VwcG9ydCBmb3IgTkFORCBjb250 cm9sbGVyIG9uIEFtbG9naWMncyBNZXNvbiBTb0NzLgo+ICAJICBUaGlzIGNvbnRyb2xsZXIgaXMg Zm91bmQgb24gTWVzb24gU29Dcy4KPiArY29uZmlnIE1URF9OQU5EX0NBREVOQ0UKPiArCXRyaXN0 YXRlICJTdXBwb3J0IENhZGVuY2UgTkFORCAoSFBORkMpIGNvbnRyb2xsZXIiCj4gKwlkZXBlbmRz IG9uIE9GCj4gKwloZWxwCj4gKwkgIEVuYWJsZSB0aGUgZHJpdmVyIGZvciBOQU5EIGZsYXNoIG9u IHBsYXRmb3JtcyB1c2luZyBhIENhZGVuY2UgTkFORAo+ICsJICBjb250cm9sbGVyLgo+ICsKPiAg Cj4gIGVuZGlmICMgTVREX05BTkQKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcv TWFrZWZpbGUgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9NYWtlZmlsZQo+IGluZGV4IDVhNWE3MmYw NzkzZS4uZjRiMDk5ZjI3NmY3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L01h a2VmaWxlCj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvTWFrZWZpbGUKPiBAQCAtNTgsNiAr NTgsNyBAQCBvYmotJChDT05GSUdfTVREX05BTkRfTVRLKQkJKz0gbXRrX2VjYy5vIG10a19uYW5k Lm8KPiAgb2JqLSQoQ09ORklHX01URF9OQU5EX1RFR1JBKQkJKz0gdGVncmFfbmFuZC5vCj4gIG9i ai0kKENPTkZJR19NVERfTkFORF9TVE0zMl9GTUMyKQkrPSBzdG0zMl9mbWMyX25hbmQubwo+ICBv YmotJChDT05GSUdfTVREX05BTkRfTUVTT04pCQkrPSBtZXNvbl9uYW5kLm8KPiArb2JqLSQoQ09O RklHX01URF9OQU5EX0NBREVOQ0UpCQkrPSBjYWRlbmNlLW5hbmQtY29udHJvbGxlci5vCj4gIAo+ ICBuYW5kLW9ianMgOj0gbmFuZF9iYXNlLm8gbmFuZF9sZWdhY3kubyBuYW5kX2JidC5vIG5hbmRf dGltaW5ncy5vIG5hbmRfaWRzLm8KPiAgbmFuZC1vYmpzICs9IG5hbmRfb25maS5vCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2NhZGVuY2UtbmFuZC1jb250cm9sbGVyLmMgYi9k cml2ZXJzL210ZC9uYW5kL3Jhdy9jYWRlbmNlLW5hbmQtY29udHJvbGxlci5jCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmE3ZmY0ZTQ1ODVkMwo+IC0tLSAvZGV2 L251bGwKPiArKysgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9jYWRlbmNlLW5hbmQtY29udHJvbGxl ci5jCj4gQEAgLTAsMCArMSwzMDIxIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wKwo+ICsvKgo+ICsgKiBDYWRlbmNlIE5BTkQgZmxhc2ggY29udHJvbGxlciBkcml2ZXIK PiArICoKPiArICogQ29weXJpZ2h0IChDKSAyMDE5IENhZGVuY2UKPiArICovCj4gKwo+ICsjaW5j bHVkZSA8bGludXgvYml0ZmllbGQuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgo+ICsjaW5j bHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2RtYWVuZ2luZS5o Pgo+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4KPiArI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KPiArI2luY2x1ZGUgPGxpbnV4L210 ZC9yYXduYW5kLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPiArI2luY2x1ZGUg PGxpbnV4L2lvcG9sbC5oPgo+ICsKPiArLyoKPiArICogSFBORkMgY2FuIHdvcmsgaW4gMyBtb2Rl czoKPiArICogLSAgUElPIC0gY2FuIHdvcmsgaW4gbWFzdGVyIG9yIHNsYXZlIERNQS4KPiArICog LSAgQ0RNQSAtIG5lZWRzIE1hc3RlciBETUEgZm9yIGFjY2Vzc2luZyBjb21tYW5kIGRlc2NyaXB0 b3JzLgo+ICsgKiAtICBHZW5lcmljIG1vZGUgLSBjYW4gdXNlIG9ubHkgc2xhdmUgRE1BLgo+ICsg KiBDRE1BIGFuZCBQSU8gbW9kZXMgY2FuIGJlIHVzZWQgdG8gZXhlY3V0ZSBvbmx5IGJhc2UgY29t bWFuZHMuCj4gKyAqIEdlbmVyaWMgbW9kZSBjYW4gYmUgdXNlZCB0byBleGVjdXRlIGFueSBjb21t YW5kCj4gKyAqIG9uIE5BTkQgZmxhc2ggbWVtb3J5LiBEcml2ZXIgdXNlcyBDRE1BIG1vZGUgZm9y Cj4gKyAqIGJsb2NrIGVyYXNpbmcsIHBhZ2UgcmVhZGluZywgcGFnZSBwcm9ncmFtaW5nLgo+ICsg KiBHZW5lcmljIG1vZGUgaXMgdXNlZCBmb3IgZXhlY3V0aW5nIHJlc3Qgb2YgY29tbWFuZHMuCj4g KyAqLwo+ICsKPiArI2RlZmluZSBNQVhfT09CX1NJWkVfUEVSX1NFQ1RPUgkzMgo+ICsjZGVmaW5l IE1BWF9BRERSRVNTX0NZQwkJNgo+ICsjZGVmaW5lIE1BWF9FUkFTRV9BRERSRVNTX0NZQwkzCj4g KyNkZWZpbmUgTUFYX0RBVEFfU0laRQkJMHhGRkZDCj4gKwo+ICsvKiBSZWdpc3RlciBkZWZpbml0 aW9uLiAqLwo+ICsvKgo+ICsgKiBDb21tYW5kIHJlZ2lzdGVyIDAuCj4gKyAqIFdyaXRpbmcgZGF0 YSB0byB0aGlzIHJlZ2lzdGVyIHdpbGwgaW5pdGlhdGUgYSBuZXcgdHJhbnNhY3Rpb24KPiArICog b2YgdGhlIE5GIGNvbnRyb2xsZXIuCj4gKyAqLwo+ICsjZGVmaW5lIENNRF9SRUcwCQkJMHgwMDAw Cj4gKy8qIENvbW1hbmQgdHlwZSBmaWVsZCBtYXNrLiAqLwo+ICsjZGVmaW5lCQlDTURfUkVHMF9D VAkJR0VOTUFTSygzMSwgMzApCj4gKy8qIENvbW1hbmQgdHlwZSBDRE1BLiAqLwo+ICsjZGVmaW5l CQlDTURfUkVHMF9DVF9DRE1BCTB1TAo+ICsvKiBDb21tYW5kIHR5cGUgZ2VuZXJpYy4gKi8KPiAr I2RlZmluZQkJQ01EX1JFRzBfQ1RfR0VOCQkzdUwKPiArLyogQ29tbWFuZCB0aHJlYWQgbnVtYmVy IGZpZWxkIG1hc2suICovCj4gKyNkZWZpbmUJCUNNRF9SRUcwX1ROCQlHRU5NQVNLKDI3LCAyNCkK PiArCj4gKy8qIENvbW1hbmQgcmVnaXN0ZXIgMi4gKi8KPiArI2RlZmluZSBDTURfUkVHMgkJCTB4 MDAwOAo+ICsvKiBDb21tYW5kIHJlZ2lzdGVyIDMuICovCj4gKyNkZWZpbmUgQ01EX1JFRzMJCQkw eDAwMEMKPiArLyogUG9pbnRlciByZWdpc3RlciB0byBzZWxlY3Qgd2hpY2ggdGhyZWFkIHN0YXR1 cyB3aWxsIGJlIHNlbGVjdGVkLiAqLwo+ICsjZGVmaW5lIENNRF9TVEFUVVNfUFRSCQkJMHgwMDEw Cj4gKy8qIENvbW1hbmQgc3RhdHVzIHJlZ2lzdGVyIGZvciBzZWxlY3RlZCB0aHJlYWQuICovCj4g KyNkZWZpbmUgQ01EX1NUQVRVUwkJCTB4MDAxNAo+ICsKPiArLyogSW50ZXJydXB0IHN0YXR1cyBy ZWdpc3Rlci4gKi8KPiArI2RlZmluZSBJTlRSX1NUQVRVUwkJCTB4MDExMAo+ICsjZGVmaW5lCQlJ TlRSX1NUQVRVU19TRE1BX0VSUglCSVQoMjIpCj4gKyNkZWZpbmUJCUlOVFJfU1RBVFVTX1NETUFf VFJJR0cJQklUKDIxKQo+ICsjZGVmaW5lCQlJTlRSX1NUQVRVU19VTlNVUFBfQ01ECUJJVCgxOSkK PiArI2RlZmluZQkJSU5UUl9TVEFUVVNfRERNQV9URVJSCUJJVCgxOCkKPiArI2RlZmluZQkJSU5U Ul9TVEFUVVNfQ0RNQV9URVJSCUJJVCgxNykKPiArI2RlZmluZQkJSU5UUl9TVEFUVVNfQ0RNQV9J REwJQklUKDE2KQo+ICsKPiArLyogSW50ZXJydXB0IGVuYWJsZSByZWdpc3Rlci4gKi8KPiArI2Rl ZmluZSBJTlRSX0VOQUJMRQkJCQkweDAxMTQKPiArI2RlZmluZQkJSU5UUl9FTkFCTEVfSU5UUl9F TgkJQklUKDMxKQo+ICsjZGVmaW5lCQlJTlRSX0VOQUJMRV9TRE1BX0VSUl9FTgkJQklUKDIyKQo+ ICsjZGVmaW5lCQlJTlRSX0VOQUJMRV9TRE1BX1RSSUdHX0VOCUJJVCgyMSkKPiArI2RlZmluZQkJ SU5UUl9FTkFCTEVfVU5TVVBQX0NNRF9FTglCSVQoMTkpCj4gKyNkZWZpbmUJCUlOVFJfRU5BQkxF X0RETUFfVEVSUl9FTglCSVQoMTgpCj4gKyNkZWZpbmUJCUlOVFJfRU5BQkxFX0NETUFfVEVSUl9F TglCSVQoMTcpCj4gKyNkZWZpbmUJCUlOVFJfRU5BQkxFX0NETUFfSURMRV9FTglCSVQoMTYpCj4g Kwo+ICsvKiBDb250cm9sbGVyIGludGVybmFsIHN0YXRlLiAqLwo+ICsjZGVmaW5lIENUUkxfU1RB VFVTCQkJCTB4MDExOAo+ICsjZGVmaW5lCQlDVFJMX1NUQVRVU19JTklUX0NPTVAJCUJJVCg5KQo+ ICsjZGVmaW5lCQlDVFJMX1NUQVRVU19DVFJMX0JVU1kJCUJJVCg4KQo+ICsKPiArLyogQ29tbWFu ZCBFbmdpbmUgdGhyZWFkcyBzdGF0ZS4gKi8KPiArI2RlZmluZSBUUkRfU1RBVFVTCQkJCTB4MDEy MAo+ICsKPiArLyogQ29tbWFuZCBFbmdpbmUgaW50ZXJydXB0IHRocmVhZCBlcnJvciBzdGF0dXMu ICovCj4gKyNkZWZpbmUgVFJEX0VSUl9JTlRfU1RBVFVTCQkJMHgwMTI4Cj4gKy8qIENvbW1hbmQg RW5naW5lIGludGVycnVwdCB0aHJlYWQgZXJyb3IgZW5hYmxlLiAqLwo+ICsjZGVmaW5lIFRSRF9F UlJfSU5UX1NUQVRVU19FTgkJCTB4MDEzMAo+ICsvKiBDb21tYW5kIEVuZ2luZSBpbnRlcnJ1cHQg dGhyZWFkIGNvbXBsZXRlIHN0YXR1cy4gKi8KPiArI2RlZmluZSBUUkRfQ09NUF9JTlRfU1RBVFVT CQkJMHgwMTM4Cj4gKwo+ICsvKgo+ICsgKiBUcmFuc2ZlciBjb25maWcgMCByZWdpc3Rlci4KPiAr ICogQ29uZmlndXJlcyBkYXRhIHRyYW5zZmVyIHBhcmFtZXRlcnMuCj4gKyAqLwo+ICsjZGVmaW5l IFRSQU5fQ0ZHXzAJCQkJMHgwNDAwCj4gKy8qIE9mZnNldCB2YWx1ZSBmcm9tIHRoZSBiZWdpbm5p bmcgb2YgdGhlIHBhZ2UuICovCj4gKyNkZWZpbmUJCVRSQU5fQ0ZHXzBfT0ZGU0VUCQlHRU5NQVNL KDMxLCAxNikKPiArLyogTnVtYmVycyBvZiBzZWN0b3JzIHRvIHRyYW5zZmVyIHdpdGhpbiBzaW5n bE5GIGRldmljZSdzIHBhZ2UuICovCj4gKyNkZWZpbmUJCVRSQU5fQ0ZHXzBfU0VDX0NOVAkJR0VO TUFTSyg3LCAwKQo+ICsKPiArLyoKPiArICogVHJhbnNmZXIgY29uZmlnIDEgcmVnaXN0ZXIuCj4g KyAqIENvbmZpZ3VyZXMgZGF0YSB0cmFuc2ZlciBwYXJhbWV0ZXJzLgo+ICsgKi8KPiArI2RlZmlu ZSBUUkFOX0NGR18xCQkJCTB4MDQwNAo+ICsvKiBTaXplIG9mIGxhc3QgZGF0YSBzZWN0b3IuICov Cj4gKyNkZWZpbmUJCVRSQU5fQ0ZHXzFfTEFTVF9TRUNfU0laRQlHRU5NQVNLKDMxLCAxNikKPiAr LyogU2l6ZSBvZiBub3QtbGFzdCBkYXRhIHNlY3Rvci4gKi8KPiArI2RlZmluZQkJVFJBTl9DRkdf MV9TRUNUT1JfU0laRQkJR0VOTUFTSygxNSwgMCkKPiArCj4gKy8qIEVDQyBlbmdpbmUgY29uZmln dXJhdGlvbiByZWdpc3RlciAwLiAqLwo+ICsjZGVmaW5lIEVDQ19DT05GSUdfMAkJCQkweDA0MjgK PiArLyogQ29ycmVjdGlvbiBzdHJlbmd0aC4gKi8KPiArI2RlZmluZQkJRUNDX0NPTkZJR18wX0NP UlJfU1RSCQlHRU5NQVNLKDEwLCA4KQo+ICsvKiBFbmFibGUgZXJhc2VkIHBhZ2VzIGRldGVjdGlv biBtZWNoYW5pc20uICovCj4gKyNkZWZpbmUJCUVDQ19DT05GSUdfMF9FUkFTRV9ERVRfRU4JQklU KDEpCj4gKy8qIEVuYWJsZSBjb250cm9sbGVyIEVDQyBjaGVjayBiaXRzIGdlbmVyYXRpb24gYW5k IGNvcnJlY3Rpb24uICovCj4gKyNkZWZpbmUJCUVDQ19DT05GSUdfMF9FQ0NfRU4JCUJJVCgwKQo+ ICsKPiArLyogRUNDIGVuZ2luZSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIDEuICovCj4gKyNkZWZp bmUgRUNDX0NPTkZJR18xCQkJCTB4MDQyQwo+ICsKPiArLyogTXVsdGlwbGFuZSBzZXR0aW5ncyBy ZWdpc3Rlci4gKi8KPiArI2RlZmluZSBNVUxUSVBMQU5FX0NGRwkJCQkweDA0MzQKPiArLyogQ2Fj aGUgb3BlcmF0aW9uIHNldHRpbmdzLiAqLwo+ICsjZGVmaW5lIENBQ0hFX0NGRwkJCQkweDA0MzgK PiArCj4gKy8qIERNQSBzZXR0aW5ncyByZWdpc3Rlci4gKi8KPiArI2RlZmluZSBETUFfU0VUSU5H UwkJCQkweDA0M0MKPiArLyogRW5hYmxlIFNETUEgZXJyb3IgcmVwb3J0IG9uIGFjY2VzcyB1bnBy ZXBhcmVkIHNsYXZlIERNQSBpbnRlcmZhY2UuICovCj4gKyNkZWZpbmUJCURNQV9TRVRJTkdTX1NE TUFfRVJSX1JTUAlCSVQoMTcpCj4gKwo+ICsvKiBUcmFuc2ZlcnJlZCBkYXRhIGJsb2NrIHNpemUg Zm9yIHRoZSBzbGF2ZSBETUEgbW9kdWxlLiAqLwo+ICsjZGVmaW5lIFNETUFfU0laRQkJCQkweDA0 NDAKPiArCj4gKy8qIFRocmVhZCBudW1iZXIgYXNzb2NpYXRlZCB3aXRoIHRyYW5zZmVycmVkIGRh dGEgYmxvY2sKPiArICogZm9yIHRoZSBzbGF2ZSBETUEgbW9kdWxlLgo+ICsgKi8KPiArI2RlZmlu ZSBTRE1BX1RSRF9OVU0JCQkJMHgwNDQ0Cj4gKy8qIFRocmVhZCBudW1iZXIgbWFzay4gKi8KPiAr I2RlZmluZQkJU0RNQV9UUkRfTlVNX1NETUFfVFJECQlHRU5NQVNLKDIsIDApCj4gKwo+ICsjZGVm aW5lIENPTlRST0xfREFUQV9DVFJMCQkJMHgwNDk0Cj4gKy8qIFRocmVhZCBudW1iZXIgbWFzay4g Ki8KPiArI2RlZmluZQkJQ09OVFJPTF9EQVRBX0NUUkxfU0laRQkJR0VOTUFTSygxNSwgMCkKPiAr Cj4gKyNkZWZpbmUgQ1RSTF9WRVJTSU9OCQkJCTB4ODAwCj4gKwo+ICsvKiBBdmFpbGFibGUgaGFy ZHdhcmUgZmVhdHVyZXMgb2YgdGhlIGNvbnRyb2xsZXIuICovCj4gKyNkZWZpbmUgQ1RSTF9GRUFU VVJFUwkJCQkweDgwNAo+ICsvKiBTdXBwb3J0IGZvciBOVi1ERFIyLzMgd29yayBtb2RlLiAqLwo+ ICsjZGVmaW5lCQlDVFJMX0ZFQVRVUkVTX05WRERSXzJfMwkJQklUKDI4KQo+ICsvKiBTdXBwb3J0 IGZvciBOVi1ERFIgd29yayBtb2RlLiAqLwo+ICsjZGVmaW5lCQlDVFJMX0ZFQVRVUkVTX05WRERS CQlCSVQoMjcpCj4gKy8qIFN1cHBvcnQgZm9yIGFzeW5jaHJvbm91cyB3b3JrIG1vZGUuICovCj4g KyNkZWZpbmUJCUNUUkxfRkVBVFVSRVNfQVNZTkMJCUJJVCgyNikKPiArLyogU3VwcG9ydCBmb3Ig YXN5bmNocm9ub3VzIHdvcmsgbW9kZS4gKi8KPiArI2RlZmluZQkJQ1RSTF9GRUFUVVJFU19OX0JB TktTCQlHRU5NQVNLKDI1LCAyNCkKPiArLyogU2xhdmUgYW5kIE1hc3RlciBETUEgZGF0YSB3aWR0 aC4gKi8KPiArI2RlZmluZQkJQ1RSTF9GRUFUVVJFU19ETUFfRFdJVEg2NAlCSVQoMjEpCj4gKy8q IEF2YWlsYWJpbGl0eSBvZiBDb250cm9sIERhdGEgZmVhdHVyZS4qLwo+ICsjZGVmaW5lCQlDVFJM X0ZFQVRVUkVTX0NPTlRST0xfREFUQQlCSVQoMTApCj4gKwo+ICsvKiBCQ0ggRW5naW5lIGlkZW50 aWZpY2F0aW9uIHJlZ2lzdGVyIDAgLSBjb3JyZWN0aW9uIHN0cmVuZ3Rocy4gKi8KPiArI2RlZmlu ZSBCQ0hfQ0ZHXzAJCQkJMHg4MzgKPiArI2RlZmluZQkJQkNIX0NGR18wX0NPUlJfQ0FQXzAJCUdF Tk1BU0soNywgMCkKPiArI2RlZmluZQkJQkNIX0NGR18wX0NPUlJfQ0FQXzEJCUdFTk1BU0soMTUs IDgpCj4gKyNkZWZpbmUJCUJDSF9DRkdfMF9DT1JSX0NBUF8yCQlHRU5NQVNLKDIzLCAxNikKPiAr I2RlZmluZQkJQkNIX0NGR18wX0NPUlJfQ0FQXzMJCUdFTk1BU0soMzEsIDI0KQo+ICsKPiArLyog QkNIIEVuZ2luZSBpZGVudGlmaWNhdGlvbiByZWdpc3RlciAxIC0gY29ycmVjdGlvbiBzdHJlbmd0 aHMuICovCj4gKyNkZWZpbmUgQkNIX0NGR18xCQkJCTB4ODNDCj4gKyNkZWZpbmUJCUJDSF9DRkdf MV9DT1JSX0NBUF80CQlHRU5NQVNLKDcsIDApCj4gKyNkZWZpbmUJCUJDSF9DRkdfMV9DT1JSX0NB UF81CQlHRU5NQVNLKDE1LCA4KQo+ICsjZGVmaW5lCQlCQ0hfQ0ZHXzFfQ09SUl9DQVBfNgkJR0VO TUFTSygyMywgMTYpCj4gKyNkZWZpbmUJCUJDSF9DRkdfMV9DT1JSX0NBUF83CQlHRU5NQVNLKDMx LCAyNCkKPiArCj4gKy8qIEJDSCBFbmdpbmUgaWRlbnRpZmljYXRpb24gcmVnaXN0ZXIgMiAtIHNl Y3RvciBzaXplcy4gKi8KPiArI2RlZmluZSBCQ0hfQ0ZHXzIJCQkJMHg4NDAKPiArI2RlZmluZQkJ QkNIX0NGR18yX1NFQ1RfMAkJR0VOTUFTSygxNSwgMCkKPiArI2RlZmluZQkJQkNIX0NGR18yX1NF Q1RfMQkJR0VOTUFTSygzMSwgMTYpCj4gKwo+ICsvKiBCQ0ggRW5naW5lIGlkZW50aWZpY2F0aW9u IHJlZ2lzdGVyIDMuICovCj4gKyNkZWZpbmUgQkNIX0NGR18zCQkJCTB4ODQ0Cj4gKwo+ICsvKiBS ZWFkeS9CdXN5IyBsaW5lIHN0YXR1cy4gKi8KPiArI2RlZmluZSBSQk5fU0VUSU5HUwkJCQkweDEw MDQKPiArCj4gKy8qIENvbW1vbiBzZXR0aW5ncy4gKi8KPiArI2RlZmluZSBDT01NT05fU0VUCQkJ CTB4MTAwOAo+ICsvKiAxNiBiaXQgZGV2aWNlIGNvbm5lY3RlZCB0byB0aGUgTkFORCBGbGFzaCBp bnRlcmZhY2UuICovCj4gKyNkZWZpbmUJCUNPTU1PTl9TRVRfREVWSUNFXzE2QklUCQlCSVQoOCkK PiArCj4gKy8qIFNraXBfYnl0ZXMgcmVnaXN0ZXJzLiAqLwo+ICsjZGVmaW5lIFNLSVBfQllURVNf Q09ORgkJCQkweDEwMEMKPiArI2RlZmluZQkJU0tJUF9CWVRFU19NQVJLRVJfVkFMVUUJCUdFTk1B U0soMzEsIDE2KQo+ICsjZGVmaW5lCQlTS0lQX0JZVEVTX05VTV9PRl9CWVRFUwkJR0VOTUFTSyg3 LCAwKQo+ICsKPiArI2RlZmluZSBTS0lQX0JZVEVTX09GRlNFVAkJCTB4MTAxMAo+ICsjZGVmaW5l CQkgU0tJUF9CWVRFU19PRkZTRVRfVkFMVUUJR0VOTUFTSygyMywgMCkKPiArCj4gKy8qIFRpbWlu Z3MgY29uZmlndXJhdGlvbi4gKi8KPiArI2RlZmluZSBBU1lOQ19UT0dHTEVfVElNSU5HUwkJCTB4 MTAxYwo+ICsjZGVmaW5lCQlBU1lOQ19UT0dHTEVfVElNSU5HU19UUkgJR0VOTUFTSygyOCwgMjQp Cj4gKyNkZWZpbmUJCUFTWU5DX1RPR0dMRV9USU1JTkdTX1RSUAlHRU5NQVNLKDIwLCAxNikKPiAr I2RlZmluZQkJQVNZTkNfVE9HR0xFX1RJTUlOR1NfVFdICUdFTk1BU0soMTIsIDgpCj4gKyNkZWZp bmUJCUFTWU5DX1RPR0dMRV9USU1JTkdTX1RXUAlHRU5NQVNLKDQsIDApCj4gKwo+ICsjZGVmaW5l CVRJTUlOR1MwCQkJCTB4MTAyNAo+ICsjZGVmaW5lCQlUSU1JTkdTMF9UQURMCQkJR0VOTUFTSygz MSwgMjQpCj4gKyNkZWZpbmUJCVRJTUlOR1MwX1RDQ1MJCQlHRU5NQVNLKDIzLCAxNikKPiArI2Rl ZmluZQkJVElNSU5HUzBfVFdIUgkJCUdFTk1BU0soMTUsIDgpCj4gKyNkZWZpbmUJCVRJTUlOR1Mw X1RSSFcJCQlHRU5NQVNLKDcsIDApCj4gKwo+ICsjZGVmaW5lCVRJTUlOR1MxCQkJCTB4MTAyOAo+ ICsjZGVmaW5lCQlUSU1JTkdTMV9UUkhaCQkJR0VOTUFTSygzMSwgMjQpCj4gKyNkZWZpbmUJCVRJ TUlOR1MxX1RXQgkJCUdFTk1BU0soMjMsIDE2KQo+ICsjZGVmaW5lCQlUSU1JTkdTMV9UVkRMWQkJ CUdFTk1BU0soNywgMCkKPiArCj4gKyNkZWZpbmUJVElNSU5HUzIJCQkJMHgxMDJjCj4gKyNkZWZp bmUJCVRJTUlOR1MyX1RGRUFUCQkJR0VOTUFTSygyNSwgMTYpCj4gKyNkZWZpbmUJCVRJTUlOR1My X0NTX0hPTERfVElNRQkJR0VOTUFTSygxMywgOCkKPiArI2RlZmluZQkJVElNSU5HUzJfQ1NfU0VU VVBfVElNRQkJR0VOTUFTSyg1LCAwKQo+ICsKPiArLyogQ29uZmlndXJhdGlvbiBvZiB0aGUgcmVz eW5jaHJvbml6YXRpb24gb2Ygc2xhdmUgRExMIG9mIFBIWS4gKi8KPiArI2RlZmluZSBETExfUEhZ X0NUUkwJCQkJMHgxMDM0Cj4gKyNkZWZpbmUJCURMTF9QSFlfQ1RSTF9ETExfUlNUX04JCUJJVCgy NCkKPiArI2RlZmluZQkJRExMX1BIWV9DVFJMX0VYVEVOREVEX1dSX01PREUJQklUKDE3KQo+ICsj ZGVmaW5lCQlETExfUEhZX0NUUkxfRVhURU5ERURfUkRfTU9ERQlCSVQoMTYpCj4gKyNkZWZpbmUJ CURMTF9QSFlfQ1RSTF9SU19ISUdIX1dBSVRfQ05UCUdFTk1BU0soMTEsIDgpCj4gKyNkZWZpbmUJ CURMTF9QSFlfQ1RSTF9SU19JRExFX0NOVAlHRU5NQVNLKDcsIDApCj4gKwo+ICsvKiBSZWdpc3Rl ciBjb250cm9sbGluZyBEUSByZWxhdGVkIHRpbWluZy4gKi8KPiArI2RlZmluZSBQSFlfRFFfVElN SU5HCQkJCTB4MjAwMAo+ICsvKiBSZWdpc3RlciBjb250cm9sbGluZyBEU1EgcmVsYXRlZCB0aW1p bmcuICAqLwo+ICsjZGVmaW5lIFBIWV9EUVNfVElNSU5HCQkJCTB4MjAwNAo+ICsjZGVmaW5lCQlQ SFlfRFFTX1RJTUlOR19EUVNfU0VMX09FX0VORAlHRU5NQVNLKDMsIDApCj4gKyNkZWZpbmUJCVBI WV9EUVNfVElNSU5HX1BIT05ZX0RRU19TRUwJQklUKDE2KQo+ICsjZGVmaW5lCQlQSFlfRFFTX1RJ TUlOR19VU0VfUEhPTllfRFFTCUJJVCgyMCkKPiArCj4gKy8qIFJlZ2lzdGVyIGNvbnRyb2xsaW5n IHRoZSBnYXRlIGFuZCBsb29wYmFjayBjb250cm9sIHJlbGF0ZWQgdGltaW5nLiAqLwo+ICsjZGVm aW5lIFBIWV9HQVRFX0xQQktfQ1RSTAkJCTB4MjAwOAo+ICsjZGVmaW5lCQlQSFlfR0FURV9MUEJL X0NUUkxfUkRTCQlHRU5NQVNLKDI0LCAxOSkKPiArCj4gKy8qIFJlZ2lzdGVyIGhvbGRzIHRoZSBj b250cm9sIGZvciB0aGUgbWFzdGVyIERMTCBsb2dpYy4gKi8KPiArI2RlZmluZSBQSFlfRExMX01B U1RFUl9DVFJMCQkJMHgyMDBDCj4gKyNkZWZpbmUJCVBIWV9ETExfTUFTVEVSX0NUUkxfQllQQVNT X01PREUJQklUKDIzKQo+ICsKPiArLyogUmVnaXN0ZXIgaG9sZHMgdGhlIGNvbnRyb2wgZm9yIHRo ZSBzbGF2ZSBETEwgbG9naWMuICovCj4gKyNkZWZpbmUgUEhZX0RMTF9TTEFWRV9DVFJMCQkJMHgy MDEwCj4gKwo+ICsvKiBUaGlzIHJlZ2lzdGVyIGhhbmRsZXMgdGhlIGdsb2JhbCBjb250cm9sIHNl dHRpbmdzIGZvciB0aGUgUEhZLiAqLwo+ICsjZGVmaW5lIFBIWV9DVFJMCQkJCTB4MjA4MAo+ICsj ZGVmaW5lCQlQSFlfQ1RSTF9TRFJfRFFTCQlCSVQoMTQpCj4gKyNkZWZpbmUJCVBIWV9DVFJMX1BI T05ZX0RRUwkJR0VOTUFTSyg5LCA0KQo+ICsKPiArLyoKPiArICogVGhpcyByZWdpc3RlciBoYW5k bGVzIHRoZSBnbG9iYWwgY29udHJvbCBzZXR0aW5ncwo+ICsgKiBmb3IgdGhlIHRlcm1pbmF0aW9u IHNlbGVjdHMgZm9yIHJlYWRzLgo+ICsgKi8KPiArI2RlZmluZSBQSFlfVFNFTAkJCQkweDIwODQK PiArCj4gKy8qIEdlbmVyaWMgY29tbWFuZCBsYXlvdXQuICovCj4gKyNkZWZpbmUgR0NNRF9MQVlf Q1MJCQlHRU5NQVNLX1VMTCgxMSwgOCkKPiArLyoKPiArICogVGhpcyBiaXQgaW5mb3JtcyB0aGUg bWluaWNvdHJvbGxlciBpZiBpdCBoYXMgdG8gd2FpdCBmb3IgdFdCCj4gKyAqIGFmdGVyIHNlbmRp bmcgdGhlIGxhc3QgQ01EL0FERFIvREFUQSBpbiB0aGUgc2VxdWVuY2UuCj4gKyAqLwo+ICsjZGVm aW5lIEdDTURfTEFZX1RXQgkJCUJJVF9VTEwoNikKPiArLyogVHlwZSBvZiBnZW5lcmljIGluc3Ry dWN0aW9uLiAqLwo+ICsjZGVmaW5lIEdDTURfTEFZX0lOU1RSCQkJR0VOTUFTS19VTEwoNSwgMCkK PiArCj4gKy8qIEdlbmVyaWMgQ01EIHNlcXVlbmNlIHR5cGUuICovCj4gKyNkZWZpbmUJCUdDTURf TEFZX0lOU1RSX0NNRAkwCj4gKy8qIEdlbmVyaWMgQUREUiBzZXF1ZW5jZSB0eXBlLiAqLwo+ICsj ZGVmaW5lCQlHQ01EX0xBWV9JTlNUUl9BRERSCTEKPiArLyogR2VuZXJpYyBkYXRhIHRyYW5zZmVy IHNlcXVlbmNlIHR5cGUuICovCj4gKyNkZWZpbmUJCUdDTURfTEFZX0lOU1RSX0RBVEEJMgo+ICsK PiArLyogSW5wdXQgcGFydCBvZiBnZW5lcmljIGNvbW1hbmQgdHlwZSBvZiBpbnB1dCBpcyBjb21t YW5kLiAqLwo+ICsjZGVmaW5lIEdDTURfTEFZX0lOUFVUX0NNRAkJR0VOTUFTS19VTEwoMjMsIDE2 KQo+ICsKPiArLyogR2VuZXJpYyBjb21tYW5kIGFkZHJlc3Mgc2VxdWVuY2UgLSBhZGRyZXNzIGZp ZWxkcy4gKi8KPiArI2RlZmluZSBHQ01EX0xBWV9JTlBVVF9BRERSCQlHRU5NQVNLX1VMTCg2Mywg MTYpCj4gKy8qIEdlbmVyaWMgY29tbWFuZCBhZGRyZXNzIHNlcXVlbmNlIC0gYWRkcmVzcyBzaXpl LiAqLwo+ICsjZGVmaW5lIEdDTURfTEFZX0lOUFVUX0FERFJfU0laRQlHRU5NQVNLX1VMTCgxMywg MTEpCj4gKwo+ICsvKiBUcmFuc2ZlciBkaXJlY3Rpb24gZmllbGQgb2YgZ2VuZXJpYyBjb21tYW5k IGRhdGEgc2VxdWVuY2UuICovCj4gKyNkZWZpbmUgR0NNRF9ESVIJCQlCSVRfVUxMKDExKQo+ICsv KiBSZWFkIHRyYW5zZmVyIGRpcmVjdGlvbiBvZiBnZW5lcmljIGNvbW1hbmQgZGF0YSBzZXF1ZW5j ZS4gKi8KPiArI2RlZmluZQkJR0NNRF9ESVJfUkVBRAkJMAo+ICsvKiBXcml0ZSB0cmFuc2ZlciBk aXJlY3Rpb24gb2YgZ2VuZXJpYyBjb21tYW5kIGRhdGEgc2VxdWVuY2UuICovCj4gKyNkZWZpbmUJ CUdDTURfRElSX1dSSVRFCQkxCj4gKwo+ICsvKiBFQ0MgZW5hYmxlZCBmbGFnIG9mIGdlbmVyaWMg Y29tbWFuZCBkYXRhIHNlcXVlbmNlIC0gRUNDIGVuYWJsZWQuICovCj4gKyNkZWZpbmUgR0NNRF9F Q0NfRU4JCQlCSVRfVUxMKDEyKQo+ICsvKiBHZW5lcmljIGNvbW1hbmQgZGF0YSBzZXF1ZW5jZSAt IHNlY3RvciBzaXplLiAqLwo+ICsjZGVmaW5lIEdDTURfU0VDVF9TSVpFCQkJR0VOTUFTS19VTEwo MzEsIDE2KQo+ICsvKiBHZW5lcmljIGNvbW1hbmQgZGF0YSBzZXF1ZW5jZSAtIHNlY3RvciBjb3Vu dC4gKi8KPiArI2RlZmluZSBHQ01EX1NFQ1RfQ05UCQkJR0VOTUFTS19VTEwoMzksIDMyKQo+ICsv KiBHZW5lcmljIGNvbW1hbmQgZGF0YSBzZXF1ZW5jZSAtIGxhc3Qgc2VjdG9yIHNpemUuICovCj4g KyNkZWZpbmUgR0NNRF9MQVNUX1NJWkUJCQlHRU5NQVNLX1VMTCg1NSwgNDApCj4gKwo+ICsvKiBD RE1BIGRlc2NyaXB0b3IgZmllbGRzLiAqLwo+ICsvKiBFcmFzZSBjb21tYW5kIHR5cGUgb2YgQ0RN QSBkZXNjcmlwdG9yLiAqLwo+ICsjZGVmaW5lIENETUFfQ1RfRVJBU0UJCTB4MTAwMAo+ICsvKiBQ cm9ncmFtIHBhZ2UgY29tbWFuZCB0eXBlIG9mIENETUEgZGVzY3JpcHRvci4gKi8KPiArI2RlZmlu ZSBDRE1BX0NUX1dSCQkweDIxMDAKPiArLyogUmVhZCBwYWdlIGNvbW1hbmQgdHlwZSBvZiBDRE1B IGRlc2NyaXB0b3IuICovCj4gKyNkZWZpbmUgQ0RNQV9DVF9SRAkJMHgyMjAwCj4gKwo+ICsvKiBG bGFzaCBwb2ludGVyIG1lbW9yeSBzaGlmdC4gKi8KPiArI2RlZmluZSBDRE1BX0NGUFRSX01FTV9T SElGVAkyNAo+ICsvKiBGbGFzaCBwb2ludGVyIG1lbW9yeSBtYXNrLiAqLwo+ICsjZGVmaW5lIENE TUFfQ0ZQVFJfTUVNCQlHRU5NQVNLKDI2LCAyNCkKPiArCj4gKy8qCj4gKyAqIENvbW1hbmQgRE1B IGRlc2NyaXB0b3IgZmxhZ3MuIElmIHNldCBjYXVzZXMgaXNzdWUgaW50ZXJydXB0IGFmdGVyCj4g KyAqIHRoZSBjb21wbGV0aW9uIG9mIGRlc2NyaXB0b3IgcHJvY2Vzc2luZy4KPiArICovCj4gKyNk ZWZpbmUgQ0RNQV9DRl9JTlQJCUJJVCg4KQo+ICsvKgo+ICsgKiBDb21tYW5kIERNQSBkZXNjcmlw dG9yIGZsYWdzIC0gdGhlIG5leHQgZGVzY3JpcHRvcgo+ICsgKiBhZGRyZXNzIGZpZWxkIGlzIHZh bGlkIGFuZCBkZXNjcmlwdG9yIHByb2Nlc3Npbmcgc2hvdWxkIGNvbnRpbnVlLgo+ICsgKi8KPiAr I2RlZmluZSBDRE1BX0NGX0NPTlQJCUJJVCg5KQo+ICsvKiBETUEgbWFzdGVyIGZsYWcgb2YgY29t bWFuZCBETUEgZGVzY3JpcHRvci4gKi8KPiArI2RlZmluZSBDRE1BX0NGX0RNQV9NQVNURVIJQklU KDEwKQo+ICsKPiArLyogT3BlcmF0aW9uIGNvbXBsZXRlIHN0YXR1cyBvZiBjb21tYW5kIGRlc2Ny aXB0b3IuICovCj4gKyNkZWZpbmUgQ0RNQV9DU19DT01QCQlCSVQoMTUpCj4gKy8qIE9wZXJhdGlv biBjb21wbGV0ZSBzdGF0dXMgb2YgY29tbWFuZCBkZXNjcmlwdG9yLiAqLwo+ICsvKiBDb21tYW5k IGRlc2NyaXB0b3Igc3RhdHVzIC0gb3BlcmF0aW9uIGZhaWwuICovCj4gKyNkZWZpbmUgQ0RNQV9D U19GQUlMCQlCSVQoMTQpCj4gKy8qIENvbW1hbmQgZGVzY3JpcHRvciBzdGF0dXMgLSBwYWdlIGVy YXNlZC4gKi8KPiArI2RlZmluZSBDRE1BX0NTX0VSUAkJQklUKDExKQo+ICsvKiBDb21tYW5kIGRl c2NyaXB0b3Igc3RhdHVzIC0gdGltZW91dCBvY2N1cnJlZC4gKi8KPiArI2RlZmluZSBDRE1BX0NT X1RPVVQJCUJJVCgxMCkKPiArLyoKPiArICogTWF4aW11bSBhbW91bnQgb2YgY29ycmVjdGlvbiBh cHBsaWVkIHRvIG9uZSBFQ0Mgc2VjdG9yLgo+ICsgKiBJdCBpcyBwYXJ0IG9mIGNvbW1hbmQgZGVz Y3JpcHRvciBzdGF0dXMuCj4gKyAqLwo+ICsjZGVmaW5lIENETUFfQ1NfTUFYRVJSCQlHRU5NQVNL KDksIDIpCj4gKy8qIENvbW1hbmQgZGVzY3JpcHRvciBzdGF0dXMgLSB1bmNvcnJlY3RhYmxlIEVD QyBlcnJvci4gKi8KPiArI2RlZmluZSBDRE1BX0NTX1VOQ0UJCUJJVCgxKQo+ICsvKiBDb21tYW5k IGRlc2NyaXB0b3Igc3RhdHVzIC0gZGVzY3JpcHRvciBlcnJvci4gKi8KPiArI2RlZmluZSBDRE1B X0NTX0VSUgkJQklUKDApCj4gKwo+ICsvKiBTdGF0dXMgb2Ygb3BlcmF0aW9uIC0gT0suICovCj4g KyNkZWZpbmUgU1RBVF9PSwkJCTAKPiArLyogU3RhdHVzIG9mIG9wZXJhdGlvbiAtIEZBSUwuICov Cj4gKyNkZWZpbmUgU1RBVF9GQUlMCQkyCj4gKy8qIFN0YXR1cyBvZiBvcGVyYXRpb24gLSB1bmNv cnJlY3RhYmxlIEVDQyBlcnJvci4gKi8KPiArI2RlZmluZSBTVEFUX0VDQ19VTkNPUlIJCTMKPiAr LyogU3RhdHVzIG9mIG9wZXJhdGlvbiAtIHBhZ2UgZXJhc2VkLiAqLwo+ICsjZGVmaW5lIFNUQVRf RVJBU0VECQk1Cj4gKy8qIFN0YXR1cyBvZiBvcGVyYXRpb24gLSBjb3JyZWN0YWJsZSBFQ0MgZXJy b3IuICovCj4gKyNkZWZpbmUgU1RBVF9FQ0NfQ09SUgkJNgo+ICsvKiBTdGF0dXMgb2Ygb3BlcmF0 aW9uIC0gdW5zdXNwZWN0ZWQgc3RhdGUuICovCj4gKyNkZWZpbmUgU1RBVF9VTktOT1dOCQk3Cj4g Ky8qIFN0YXR1cyBvZiBvcGVyYXRpb24gLSBvcGVyYXRpb24gaXMgbm90IGNvbXBsZXRlZCB5ZXQu ICovCj4gKyNkZWZpbmUgU1RBVF9CVVNZCQkweEZGCj4gKwo+ICsjZGVmaW5lIEJDSF9NQVhfTlVN X0NPUlJfQ0FQUwkJOAo+ICsjZGVmaW5lIEJDSF9NQVhfTlVNX1NFQ1RPUl9TSVpFUwkyCj4gKwo+ ICtzdHJ1Y3QgY2FkZW5jZV9uYW5kX3RpbWluZ3Mgewo+ICsJdTMyIGFzeW5jX3RvZ2dsZV90aW1p bmdzOwo+ICsJdTMyIHRpbWluZ3MwOwo+ICsJdTMyIHRpbWluZ3MxOwo+ICsJdTMyIHRpbWluZ3My Owo+ICsJdTMyIGRsbF9waHlfY3RybDsKPiArCXUzMiBwaHlfY3RybDsKPiArCXUzMiBwaHlfZHFz X3RpbWluZzsKPiArCXUzMiBwaHlfZ2F0ZV9scGJrX2N0cmw7Cj4gK307Cj4gKwo+ICsvKiBDb21t YW5kIERNQSBkZXNjcmlwdG9yLiAqLwo+ICtzdHJ1Y3QgY2FkZW5jZV9uYW5kX2NkbWFfZGVzYyB7 Cj4gKwkvKiBOZXh0IGRlc2NyaXB0b3IgYWRkcmVzcy4gKi8KPiArCXU2NCBuZXh0X3BvaW50ZXI7 Cj4gKwo+ICsJLyogRmxhc2ggYWRkcmVzcyBpcyBhIDMyLWJpdCBhZGRyZXNzIGNvbXByaXNpbmcg b2YgQkFOSyBhbmQgUk9XIEFERFIuICovCj4gKwl1MzIgZmxhc2hfcG9pbnRlcjsKPiArCXUzMiBy c3ZkMDsKPiArCj4gKwkvKiBPcGVyYXRpb24gdGhlIGNvbnRyb2xsZXIgbmVlZHMgdG8gcGVyZm9y bS4gKi8KPiArCXUxNiBjb21tYW5kX3R5cGU7Cj4gKwl1MTYgcnN2ZDE7Cj4gKwkvKiBGbGFncyBm b3Igb3BlcmF0aW9uIG9mIHRoaXMgY29tbWFuZC4gKi8KPiArCXUxNiBjb21tYW5kX2ZsYWdzOwo+ ICsJdTE2IHJzdmQyOwo+ICsKPiArCS8qIFN5c3RlbS9ob3N0IG1lbW9yeSBhZGRyZXNzIHJlcXVp cmVkIGZvciBkYXRhIERNQSBjb21tYW5kcy4gKi8KPiArCXU2NCBtZW1vcnlfcG9pbnRlcjsKPiAr Cj4gKwkvKiBTdGF0dXMgb2Ygb3BlcmF0aW9uLiAqLwo+ICsJdTMyIHN0YXR1czsKPiArCXUzMiBy c3ZkMzsKPiArCj4gKwkvKiBBZGRyZXNzIHBvaW50ZXIgdG8gc3luYyBidWZmZXIgbG9jYXRpb24u ICovCj4gKwl1NjQgc3luY19mbGFnX3BvaW50ZXI7Cj4gKwo+ICsJLyogQ29udHJvbHMgdGhlIGJ1 ZmZlciBzeW5jIG1lY2hhbmlzbS4gKi8KPiArCXUzMiBzeW5jX2FyZ3VtZW50czsKPiArCXUzMiBy c3ZkNDsKPiArCj4gKwkvKiBDb250cm9sIGRhdGEgcG9pbnRlci4gKi8KPiArCXU2NCBjdHJsX2Rh dGFfcHRyOwo+ICt9Owo+ICsKPiArLyogSW50ZXJydXB0IHN0YXR1cy4gKi8KPiArc3RydWN0IGNh ZGVuY2VfbmFuZF9pcnFfc3RhdHVzIHsKPiArCS8qIFRocmVhZCBvcGVyYXRpb24gY29tcGxldGUg c3RhdHVzLiAqLwo+ICsJdTMyIHRyZF9zdGF0dXM7Cj4gKwkvKiBUaHJlYWQgb3BlcmF0aW9uIGVy cm9yLiAqLwo+ICsJdTMyIHRyZF9lcnJvcjsKPiArCS8qIENvbnRyb2xsZXIgc3RhdHVzLiAqLwo+ ICsJdTMyIHN0YXR1czsKPiArfTsKPiArCj4gKy8qIENhZGVuY2UgTkFORCBmbGFzaCBjb250cm9s bGVyIGNhcGFiaWxpdGllcyBnZXQgZnJvbSBkcml2ZXIgZGF0YS4gKi8KPiArc3RydWN0IGNhZGVu Y2VfbmFuZF9kdF9kZXZkYXRhIHsKPiArCS8qIFNrZXcgdmFsdWUgb2YgdGhlIG91dHB1dCBzaWdu YWxzIG9mIHRoZSBOQU5EIEZsYXNoIGludGVyZmFjZS4gKi8KPiArCXUzMiBpZl9za2V3Owo+ICsJ LyogSXQgaW5mb3JtcyBpZiBzbGF2ZSBETUEgaW50ZXJmYWNlIGlzIGNvbm5lY3RlZCB0byBETUEg ZW5naW5lLiAqLwo+ICsJdW5zaWduZWQgaW50IGhhc19kbWE6MTsKPiArfTsKPiArCj4gKy8qIENh ZGVuY2UgTkFORCBmbGFzaCBjb250cm9sbGVyIGNhcGFiaWxpdGllcyByZWFkIGZyb20gcmVnaXN0 ZXJzLiAqLwo+ICtzdHJ1Y3QgY2Ruc19uYW5kX2NhcHMgewo+ICsJLyogTWF4aW11bSBudW1iZXIg b2YgYmFua3Mgc3VwcG9ydGVkIGJ5IGhhcmR3YXJlLiAqLwo+ICsJdTggbWF4X2JhbmtzOwo+ICsJ LyogU2xhdmUgYW5kIE1hc3RlciBETUEgZGF0YSB3aWR0aCBpbiBieXRlcyAoNCBvciA4KS4gKi8K PiArCXU4IGRhdGFfZG1hX3dpZHRoOwo+ICsJLyogQ29udHJvbCBEYXRhIGZlYXR1cmUgc3VwcG9y dGVkLiAqLwo+ICsJdTggZGF0YV9jb250cm9sX3N1cHA7Cj4gKwkvKiBJcyBQSFkgdHlwZSBETEwu ICovCj4gKwl1OCBpc19waHlfdHlwZV9kbGw7CgpJJ2QgbWFrZSAnZGF0YV9jb250cm9sX3N1cHAn IGFuZCAnaXNfcGh5X3R5cGVfZGxsJyB1ODoxIG9yIHVuc2lnbmVkCmludDoxIGFzIHlvdSBkaWQg Zm9yICdoYXNfZG1hJywgZm9yIGNvbnNpc3RlbmN5LgoKPiArfTsKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Np b24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtbXRkLwo=