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 CF714EB64D8 for ; Fri, 16 Jun 2023 05:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=a1Tal9UZaFwythO/dQ/T+Z9ZJFkxHZJ9KJ+LzIjVSKQ=; b=qs65++Phx3IbbR zCJfV5ef0HyuVAJ/PWeapgLBxmq/mpbTTd2KzphOyFVVmnrq+tS3ejlt327cCzPssG70eyDYaIspx oVxaP8mImS11P3L4ItMO97AqD/FcUuuqx0BYPKWzFdvpt+AMp7uA51dPcR6hMBG9P2FLB/5iT4JNU rSiDmsIsZLkxJCO2taUa3bQntKhgHQTw9u4wJllYiOpRdV7RdOrh+Pf/5Xmlb/K3gSJDvSRZfwVQO W9QrL2yAd+lzAa5OgKxR8sWZnacjkvMvJOeoIK0emKwk5HnPAiPScqB0NzceyPqZoUA1FI0o0wx2p JA5bOeDwnFjP9SvbOPaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qA2F1-00GusF-2F; Fri, 16 Jun 2023 05:43:23 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qA2Eo-00Gum0-0y for linux-arm-kernel@lists.infradead.org; Fri, 16 Jun 2023 05:43:15 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id A9E0B20029D; Fri, 16 Jun 2023 07:43:07 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 4AABE200231; Fri, 16 Jun 2023 07:43:07 +0200 (CEST) Received: from localhost.localdomain (mega.ap.freescale.net [10.192.208.232]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id EC4D91820F57; Fri, 16 Jun 2023 13:43:05 +0800 (+08) From: Alison Wang To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: leoyang.li@nxp.com, xuelin.shi@nxp.com, xiaofeng.ren@nxp.com, feng.guo@nxp.com, Alison Wang Subject: [PATCH 6/8] ethosu: Add core message about network info Date: Fri, 16 Jun 2023 13:59:11 +0800 Message-Id: <20230616055913.2360-7-alison.wang@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230616055913.2360-1-alison.wang@nxp.com> References: <20230616055913.2360-1-alison.wang@nxp.com> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230615_224310_631103_FAFE7F2D X-CRM114-Status: GOOD ( 26.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIGNvcmUgbWVzc2FnZSB0aGF0IGFsbG93cyB1c2VyIHNwYWNlIHRvIGZldGNoIGluZm9ybWF0 aW9uIGFib3V0Cm5ldHdvcmsgbW9kZWxzIGJ1aWx0IGludG8gdGhlIGZpcm13YXJlLgoKU2lnbmVk LW9mZi1ieTogS3Jpc3RvZmVyIEpvbnNzb24gPGtyaXN0b2Zlci5qb25zc29uQGFybS5jb20+ClNp Z25lZC1vZmYtYnk6IFBlciDDhXN0cmFuZCA8cGVyLmFzdHJhbmRAYXJtLmNvbT4KU2lnbmVkLW9m Zi1ieTogQWxpc29uIFdhbmcgPGFsaXNvbi53YW5nQG54cC5jb20+ClNpZ25lZC1vZmYtYnk6IEZl bmcgR3VvIDxmZW5nLmd1b0BueHAuY29tPgpSZXZpZXdlZC1ieTogUGVuZyBGYW4gPHBlbmcuZmFu QG54cC5jb20+Ci0tLQogZHJpdmVycy9maXJtd2FyZS9ldGhvc3UvTWFrZWZpbGUgICAgICAgICAg ICAgIHwgICAxICsKIC4uLi9maXJtd2FyZS9ldGhvc3UvZXRob3N1X2NvcmVfaW50ZXJmYWNlLmgg ICB8ICA2MiArKysrKy0KIGRyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9kZXZpY2UuYyAg ICAgICB8ICAyOCArKy0KIGRyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9pbmZlcmVuY2Uu YyAgICB8ICAgMSArCiBkcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29yay5jICAg ICAgfCAgNjIgKysrKy0tCiBkcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29yay5o ICAgICAgfCAgIDUgKy0KIGRyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3JrX2lu Zm8uYyB8IDE4NCArKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0 aG9zdV9uZXR3b3JrX2luZm8uaCB8ICA1NiArKysrKysKIGRyaXZlcnMvZmlybXdhcmUvZXRob3N1 L2V0aG9zdV9ycG1zZy5jICAgICAgICB8ICA1MCArKysrLQogZHJpdmVycy9maXJtd2FyZS9ldGhv c3UvZXRob3N1X3JwbXNnLmggICAgICAgIHwgIDExICsrCiBkcml2ZXJzL2Zpcm13YXJlL2V0aG9z dS91YXBpL2V0aG9zdS5oICAgICAgICAgfCAgNDIgKysrLQogMTEgZmlsZXMgY2hhbmdlZCwgNDcw IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3JrX2luZm8uYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3JrX2luZm8uaAoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L01ha2VmaWxlIGIvZHJpdmVycy9maXJtd2Fy ZS9ldGhvc3UvTWFrZWZpbGUKaW5kZXggZmEwNzMxYWRhZDM1Li5hMTYyYTNiZDMyZTMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZmly bXdhcmUvZXRob3N1L01ha2VmaWxlCkBAIC0yNiw0ICsyNiw1IEBAIGV0aG9zdS1vYmpzIDo9IGV0 aG9zdV9kcml2ZXIubyBcCiAgICAgICAgICAgICAgICBldGhvc3VfaW5mZXJlbmNlLm8gXAogICAg ICAgICAgICAgICAgZXRob3N1X3JwbXNnLm8gXAogICAgICAgICAgICAgICAgZXRob3N1X25ldHdv cmsubyBcCisgICAgICAgICAgICAgICBldGhvc3VfbmV0d29ya19pbmZvLm8gXAogICAgICAgICAg ICAgICAgZXRob3N1X2NhcGFiaWxpdGllcy5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJl L2V0aG9zdS9ldGhvc3VfY29yZV9pbnRlcmZhY2UuaCBiL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1 L2V0aG9zdV9jb3JlX2ludGVyZmFjZS5oCmluZGV4IDExYjY5NWE1MjE5ZC4uZjgwNGRlNDBiMDA0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfY29yZV9pbnRlcmZh Y2UuaAorKysgYi9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfY29yZV9pbnRlcmZhY2Uu aApAQCAtMzIsNyArMzIsOSBAQCBuYW1lc3BhY2UgRXRob3NVIHsKICNlbmRpZgogCiAvKiogTWF4 aW11bSBudW1iZXIgb2YgSUZNL09GTSBidWZmZXJzIHBlciBpbmZlcmVuY2UgKi8KLSNkZWZpbmUg RVRIT1NVX0NPUkVfQlVGRkVSX01BWCAxNgorI2RlZmluZSBFVEhPU1VfQ09SRV9CVUZGRVJfTUFY IDQKKy8qKiBNYXhpbXVtIG51bWJlciBvZiBkaW1lbnNpb25zIGZvciBpbnB1dCBhbmQgb3V0cHV0 ICovCisjZGVmaW5lIEVUSE9TVV9DT1JFX0RJTV9NQVggNAogCiAvKiogTWF4aW11bSBudW1iZXIg b2YgUE1VIGNvdW50ZXJzIHRvIGJlIHJldHVybmVkIGZvciBpbmZlcmVuY2UgKi8KICNkZWZpbmUg RVRIT1NVX0NPUkVfUE1VX01BWCA0CkBAIC02MCw2ICs2Miw4IEBAIGVudW0gZXRob3N1X2NvcmVf bXNnX3R5cGUgewogCUVUSE9TVV9DT1JFX01TR19WRVJTSU9OX1JTUCwKIAlFVEhPU1VfQ09SRV9N U0dfQ0FQQUJJTElUSUVTX1JFUSwKIAlFVEhPU1VfQ09SRV9NU0dfQ0FQQUJJTElUSUVTX1JTUCwK KwlFVEhPU1VfQ09SRV9NU0dfTkVUV09SS19JTkZPX1JFUSwKKwlFVEhPU1VfQ09SRV9NU0dfTkVU V09SS19JTkZPX1JTUCwKIAlFVEhPU1VfQ09SRV9NU0dfUE9XRVJfUkVRLAogCUVUSE9TVV9DT1JF X01TR19QT1dFUl9SU1AsCiAJRVRIT1NVX0NPUkVfTVNHX01BWApAQCAtMTE2LDEzICsxMjAsMzUg QEAgc3RydWN0IGV0aG9zdV9jb3JlX2J1ZmZlciB7CiAJdWludDMyX3Qgc2l6ZTsKIH07CiAKKy8q KgorICogZW51bSBldGhvc3VfY29yZV9uZXR3b3JrX3R5cGUgLSBOZXR3b3JrIGJ1ZmZlciB0eXBl CisgKi8KK2VudW0gZXRob3N1X2NvcmVfbmV0d29ya190eXBlIHsKKwlFVEhPU1VfQ09SRV9ORVRX T1JLX0JVRkZFUiA9IDEsCisJRVRIT1NVX0NPUkVfTkVUV09SS19JTkRFWAorfTsKKworLyoqCisg KiBzdHJ1Y3QgZXRob3N1X2NvcmVfbmV0d29ya19idWZmZXIgLSBOZXR3b3JrIGJ1ZmZlcgorICov CitzdHJ1Y3QgZXRob3N1X2NvcmVfbmV0d29ya19idWZmZXIgeworCXUzMiB0eXBlOworCXVuaW9u IHsKKwkJc3RydWN0IGV0aG9zdV9jb3JlX2J1ZmZlciBidWZmZXI7CisJCXUzMiAgICAgICAgICAg ICAgICAgICAgICAgaW5kZXg7CisJfTsKK307CisKKy8qKgorICogc3RydWN0IGV0aG9zdV9jb3Jl X2luZmVyZW5jZV9yZXEgLSBJbmZlcmVuY2UgcmVxdWVzdAorICovCiBzdHJ1Y3QgZXRob3N1X2Nv cmVfaW5mZXJlbmNlX3JlcSB7CiAJdWludDY0X3QgICAgICAgICAgICAgICAgICB1c2VyX2FyZzsK IAl1aW50MzJfdCAgICAgICAgICAgICAgICAgIGlmbV9jb3VudDsKIAlzdHJ1Y3QgZXRob3N1X2Nv cmVfYnVmZmVyIGlmbVtFVEhPU1VfQ09SRV9CVUZGRVJfTUFYXTsKIAl1aW50MzJfdCAgICAgICAg ICAgICAgICAgIG9mbV9jb3VudDsKIAlzdHJ1Y3QgZXRob3N1X2NvcmVfYnVmZmVyIG9mbVtFVEhP U1VfQ09SRV9CVUZGRVJfTUFYXTsKLQlzdHJ1Y3QgZXRob3N1X2NvcmVfYnVmZmVyIG5ldHdvcms7 CisJc3RydWN0IGV0aG9zdV9jb3JlX25ldHdvcmtfYnVmZmVyIG5ldHdvcms7CiAJdWludDhfdCAg ICAgICAgICAgICAgICAgICBwbXVfZXZlbnRfY29uZmlnW0VUSE9TVV9DT1JFX1BNVV9NQVhdOwog CXVpbnQzMl90ICAgICAgICAgICAgICAgICAgcG11X2N5Y2xlX2NvdW50ZXJfZW5hYmxlOwogCXVp bnQzMl90ICAgICAgICAgICAgICAgICAgaW5mZXJlbmNlX3R5cGU7CkBAIC0xNDMsNyArMTY5LDM3 IEBAIHN0cnVjdCBldGhvc3VfY29yZV9pbmZlcmVuY2VfcnNwIHsKIH07CiAKIC8qKgotICogc3Ry dWN0IGV0aG9zdV9jb3JlX21zZ192ZXJzb24gLSBNZXNzYWdlIHByb3RvY29sIHZlcnNpb24KKyAq IHN0cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9fcmVxIC0gTmV0d29yayBpbmZvcm1hdGlv biByZXF1ZXN0CisgKi8KK3N0cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9fcmVxIHsKKwl1 NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9hcmc7CisJc3RydWN0IGV0aG9z dV9jb3JlX25ldHdvcmtfYnVmZmVyIG5ldHdvcms7Cit9OworCisvKioKKyAqIHN0cnVjdCBldGhv c3VfY29yZV9uZXR3b3JrX2luZm9fcnNwIC0gTmV0d29yayBpbmZvcm1hdGlvbiByZXNwb25zZQor ICovCitzdHJ1Y3QgZXRob3N1X2NvcmVfbmV0d29ya19pbmZvX3JzcCB7CisJdTY0ICAgICAgdXNl cl9hcmc7CisJY2hhciAgICAgZGVzY1szMl07CisJdTMyICAgICAgaXNfdmVsYTsKKwl1MzIgICAg ICBpZm1fY291bnQ7CisJdTMyICAgICAgaWZtX3NpemVbRVRIT1NVX0NPUkVfQlVGRkVSX01BWF07 CisJdTMyICAgICAgaWZtX3R5cGVzW0VUSE9TVV9DT1JFX0JVRkZFUl9NQVhdOworCXUzMiAgICAg IGlmbV9vZmZzZXRbRVRIT1NVX0NPUkVfQlVGRkVSX01BWF07CisJdTMyICAgICAgaWZtX2RpbXNb RVRIT1NVX0NPUkVfQlVGRkVSX01BWF07CisJdTMyICAgICAgaWZtX3NoYXBlc1tFVEhPU1VfQ09S RV9CVUZGRVJfTUFYXVtFVEhPU1VfQ09SRV9ESU1fTUFYXTsKKwl1MzIgICAgICBvZm1fY291bnQ7 CisJdTMyICAgICAgb2ZtX3NpemVbRVRIT1NVX0NPUkVfQlVGRkVSX01BWF07CisJdTMyICAgICAg b2ZtX3R5cGVzW0VUSE9TVV9DT1JFX0JVRkZFUl9NQVhdOworCXUzMiAgICAgIG9mbV9vZmZzZXRb RVRIT1NVX0NPUkVfQlVGRkVSX01BWF07CisJdTMyICAgICAgb2ZtX2RpbXNbRVRIT1NVX0NPUkVf QlVGRkVSX01BWF07CisJdTMyICAgICAgb2ZtX3NoYXBlc1tFVEhPU1VfQ09SRV9CVUZGRVJfTUFY XVtFVEhPU1VfQ09SRV9ESU1fTUFYXTsKKwl1MzIgICAgICBzdGF0dXM7Cit9OworCisvKioKKyAq IHN0cnVjdCBldGhvc3VfY29yZV9tc2dfdmVyc2lvbiAtIE1lc3NhZ2UgcHJvdG9jb2wgdmVyc2lv bgogICovCiBzdHJ1Y3QgZXRob3N1X2NvcmVfbXNnX3ZlcnNpb24gewogCXVpbnQ4X3QgbWFqb3I7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfZGV2aWNlLmMgYi9k cml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfZGV2aWNlLmMKaW5kZXggNjY0M2E3YWFhZDVi Li5iMGJlNGJjYmE3YTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9z dV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfZGV2aWNlLmMK QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJldGhvc3VfY2FwYWJpbGl0aWVzLmgiCiAjaW5j bHVkZSAiZXRob3N1X2luZmVyZW5jZS5oIgogI2luY2x1ZGUgImV0aG9zdV9uZXR3b3JrLmgiCisj aW5jbHVkZSAiZXRob3N1X25ldHdvcmtfaW5mby5oIgogI2luY2x1ZGUgInVhcGkvZXRob3N1Lmgi CiAKICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgpAQCAtNzUsNiArNzYsOSBAQCBzdGF0 aWMgaW50IGV0aG9zdV9oYW5kbGVfbXNnKHN0cnVjdCBldGhvc3VfZGV2aWNlICplZGV2LCB2b2lk ICpkYXRhKQogCXN0cnVjdCBldGhvc3VfY29yZV9tc2dfY2FwYWJpbGl0aWVzX3JzcCAqY2FwYWJp bGl0aWVzID0KIAkJCShzdHJ1Y3QgZXRob3N1X2NvcmVfbXNnX2NhcGFiaWxpdGllc19yc3AgKikK IAkJCSgoY2hhciAqKWRhdGEgKyBzaXplb2Yoc3RydWN0IGV0aG9zdV9jb3JlX21zZykpOworCXN0 cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9fcnNwICpuZXR3b3JrX2luZm8gPQorCQkJKHN0 cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9fcnNwICopCisJCQkoKGNoYXIgKilkYXRhICsg c2l6ZW9mKHN0cnVjdCBldGhvc3VfY29yZV9tc2cpKTsKIAogCXN3aXRjaCAoaGVhZGVyLT50eXBl KSB7CiAJY2FzZSBFVEhPU1VfQ09SRV9NU0dfRVJSOgpAQCAtMTY4LDYgKzE3MiwyMiBAQCBzdGF0 aWMgaW50IGV0aG9zdV9oYW5kbGVfbXNnKHN0cnVjdCBldGhvc3VfZGV2aWNlICplZGV2LCB2b2lk ICpkYXRhKQogCiAJCWV0aG9zdV9jYXBhYmlsaXR5X3JzcChlZGV2LCBjYXBhYmlsaXRpZXMpOwog CQlicmVhazsKKwljYXNlIEVUSE9TVV9DT1JFX01TR19ORVRXT1JLX0lORk9fUlNQOgorCQlpZiAo aGVhZGVyLT5sZW5ndGggIT0gc2l6ZW9mKHN0cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9f cnNwKSkgeworCQkJZGV2X3dhcm4oZWRldi0+ZGV2LAorCQkJCSAiTXNnOiBOZXR3b3JrIGluZm8g cmVzcG9uc2Ugb2YgaW5jb3JyZWN0IHNpemUuIHNpemU9JXUsIGV4cGVjdGVkPSV6dVxuIiwKKwkJ CQkgaGVhZGVyLT5sZW5ndGgsIHNpemVvZihzdHJ1Y3QgZXRob3N1X2NvcmVfbmV0d29ya19pbmZv X3JzcCkpOworCQkJcmV0ID0gLUVCQURNU0c7CisJCQlicmVhazsKKwkJfQorCisJCWRldl9kYmco ZWRldi0+ZGV2LAorCQkJIk1zZzogTmV0d29yayBpbmZvIHJlc3BvbnNlLiB1c2VyX2FyZz0weCVs bHgsIHN0YXR1cz0ldSIsCisJCQluZXR3b3JrX2luZm8tPnVzZXJfYXJnLAorCQkJbmV0d29ya19p bmZvLT5zdGF0dXMpOworCisJCWV0aG9zdV9uZXR3b3JrX2luZm9fcnNwKGVkZXYsIG5ldHdvcmtf aW5mbyk7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCS8qIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4g ZHVlIHRvIHZlcnNpb24gY2hlY2tzICovCiAJCWRldl93YXJuKGVkZXYtPmRldiwgIk1zZzogUHJv dG9jb2wgZXJyb3JcbiIpOwpAQCAtMjA4LDEwICsyMjgsOCBAQCBzdGF0aWMgaW50IGV0aG9zdV9v cGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJaWYgKCFyZXQgJiYgYXRvbWljX3JlYWQoJnJwcm9j LT5wb3dlcikgPT0gMCkgewogCQlpbml0X2NvbXBsZXRpb24oJmVkZXYtPmVycC5ycG1zZ19yZWFk eSk7CiAJCXJldCA9IHJwcm9jX2Jvb3QocnByb2MpOwotCQlpZiAocmV0KQorCQlpZiAocmV0IHx8 IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmZWRldi0+ZXJwLnJwbXNnX3JlYWR5 KSkKIAkJCWRldl9lcnIoZWRldi0+ZGV2LCAiY291bGQgbm90IGJvb3QgYSByZW1vdGUgcHJvY2Vz c29yXG4iKTsKLQkJZWxzZQotCQkJd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlKCZl ZGV2LT5lcnAucnBtc2dfcmVhZHkpOwogCX0gZWxzZSB7CiAJCWRldl9lcnIoZWRldi0+ZGV2LCAi Y2FuJ3QgY2hhbmdlIGZpcm13YXJlIG9yIHJlbW90ZSBwcm9jZXNzb3IgaXMgcnVubmluZ1xuIik7 CiAJfQpAQCAtMjc5LDggKzI5Nyw4IEBAIHN0YXRpYyBsb25nIGV0aG9zdV9pb2N0bChzdHJ1Y3Qg ZmlsZSAqZmlsZSwKIAkJCWJyZWFrOwogCiAJCWRldl9kYmcoZWRldi0+ZGV2LAotCQkJIkRldmlj ZSBpb2N0bDogTmV0d29yayBjcmVhdGUuIGZkPSV1XG4iLAotCQkJdWFwaS5mZCk7CisJCQkiRGV2 aWNlIGlvY3RsOiBOZXR3b3JrIGNyZWF0ZS4gdHlwZT0ldSwgZmQvaW5kZXg9JXVcbiIsCisJCQl1 YXBpLnR5cGUsIHVhcGkuZmQpOwogCiAJCXJldCA9IGV0aG9zdV9uZXR3b3JrX2NyZWF0ZShlZGV2 LCAmdWFwaSk7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9ldGhvc3Uv ZXRob3N1X2luZmVyZW5jZS5jIGIvZHJpdmVycy9maXJtd2FyZS9ldGhvc3UvZXRob3N1X2luZmVy ZW5jZS5jCmluZGV4IDk0Nzk4ODUwNzc5Mi4uNGU1ZmEyMTRjNWQ2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfaW5mZXJlbmNlLmMKKysrIGIvZHJpdmVycy9maXJt d2FyZS9ldGhvc3UvZXRob3N1X2luZmVyZW5jZS5jCkBAIC05OSw2ICs5OSw3IEBAIHN0YXRpYyBp bnQgZXRob3N1X2luZmVyZW5jZV9zZW5kKHN0cnVjdCBldGhvc3VfaW5mZXJlbmNlICppbmYpCiAJ CQkJICAgICBpbmYtPmlmbV9jb3VudCwgaW5mLT5pZm0sCiAJCQkJICAgICBpbmYtPm9mbV9jb3Vu dCwgaW5mLT5vZm0sCiAJCQkJICAgICBpbmYtPm5ldC0+YnVmLAorCQkJCSAgICAgaW5mLT5uZXQt PmluZGV4LAogCQkJCSAgICAgaW5mLT5wbXVfZXZlbnRfY29uZmlnLAogCQkJCSAgICAgRVRIT1NV X1BNVV9FVkVOVF9NQVgsCiAJCQkJICAgICBpbmYtPnBtdV9jeWNsZV9jb3VudGVyX2VuYWJsZSwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3JrLmMgYi9k cml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29yay5jCmluZGV4IGE3MjQ5NjE5Mjkx Yi4uZTg1ZTc5MDczMzA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhv c3VfbmV0d29yay5jCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3Jr LmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJldGhvc3VfYnVmZmVyLmgiCiAjaW5jbHVk ZSAiZXRob3N1X2RldmljZS5oIgogI2luY2x1ZGUgImV0aG9zdV9pbmZlcmVuY2UuaCIKKyNpbmNs dWRlICJldGhvc3VfbmV0d29ya19pbmZvLmgiCiAjaW5jbHVkZSAidWFwaS9ldGhvc3UuaCIKIAog I2luY2x1ZGUgPGxpbnV4L2Fub25faW5vZGVzLmg+CkBAIC02OSw3ICs3MCw5IEBAIHN0YXRpYyB2 b2lkIGV0aG9zdV9uZXR3b3JrX2Rlc3Ryb3koc3RydWN0IGtyZWYgKmtyZWYpCiAKIAlkZXZfZGJn KG5ldC0+ZWRldi0+ZGV2LCAiTmV0d29yayBkZXN0cm95LiBuZXQ9MHglcEtcbiIsIG5ldCk7CiAK LQlldGhvc3VfYnVmZmVyX3B1dChuZXQtPmJ1Zik7CisJaWYgKG5ldC0+YnVmKQorCQlldGhvc3Vf YnVmZmVyX3B1dChuZXQtPmJ1Zik7CisKIAlkZXZtX2tmcmVlKG5ldC0+ZWRldi0+ZGV2LCBuZXQp OwogfQogCkBAIC0xMDMsNiArMTA2LDIzIEBAIHN0YXRpYyBsb25nIGV0aG9zdV9uZXR3b3JrX2lv Y3RsKHN0cnVjdCBmaWxlICpmaWxlLAogCQlmaWxlLCBuZXQsIGNtZCwgYXJnKTsKIAogCXN3aXRj aCAoY21kKSB7CisJY2FzZSBFVEhPU1VfSU9DVExfTkVUV09SS19JTkZPOiB7CisJCXN0cnVjdCBl dGhvc3VfdWFwaV9uZXR3b3JrX2luZm8gdWFwaTsKKworCQlpZiAoY29weV9mcm9tX3VzZXIoJnVh cGksIHVkYXRhLCBzaXplb2YodWFwaSkpKQorCQkJYnJlYWs7CisKKwkJZGV2X2RiZyhuZXQtPmVk ZXYtPmRldiwKKwkJCSAiTmV0d29yayBpb2N0bDogTmV0d29yayBpbmZvLiBuZXQ9MHglcEtcbiIs CisJCQkgbmV0KTsKKworCQlyZXQgPSBldGhvc3VfbmV0d29ya19pbmZvX3JlcXVlc3QobmV0LCAm dWFwaSk7CisJCWlmIChyZXQpCisJCQlicmVhazsKKworCQlyZXQgPSBjb3B5X3RvX3VzZXIodWRh dGEsICZ1YXBpLCBzaXplb2YodWFwaSkpID8gLUVGQVVMVCA6IDA7CisJCWJyZWFrOworCX0KIAlj YXNlIEVUSE9TVV9JT0NUTF9JTkZFUkVOQ0VfQ1JFQVRFOiB7CiAJCXN0cnVjdCBldGhvc3VfdWFw aV9pbmZlcmVuY2VfY3JlYXRlIHVhcGk7CiAKQEAgLTEzMSw0NCArMTUxLDQ4IEBAIHN0YXRpYyBs b25nIGV0aG9zdV9uZXR3b3JrX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLAogaW50IGV0aG9zdV9u ZXR3b3JrX2NyZWF0ZShzdHJ1Y3QgZXRob3N1X2RldmljZSAqZWRldiwKIAkJCSAgc3RydWN0IGV0 aG9zdV91YXBpX25ldHdvcmtfY3JlYXRlICp1YXBpKQogewotCXN0cnVjdCBldGhvc3VfYnVmZmVy ICpidWY7CiAJc3RydWN0IGV0aG9zdV9uZXR3b3JrICpuZXQ7CiAJaW50IHJldCA9IC1FTk9NRU07 CiAKLQlidWYgPSBldGhvc3VfYnVmZmVyX2dldF9mcm9tX2ZkKHVhcGktPmZkKTsKLQlpZiAoSVNf RVJSKGJ1ZikpCi0JCXJldHVybiBQVFJfRVJSKGJ1Zik7Ci0KIAluZXQgPSBkZXZtX2t6YWxsb2Mo ZWRldi0+ZGV2LCBzaXplb2YoKm5ldCksIEdGUF9LRVJORUwpOwotCWlmICghbmV0KSB7Ci0JCXJl dCA9IC1FTk9NRU07Ci0JCWdvdG8gcHV0X2J1ZjsKLQl9CisJaWYgKCFuZXQpCisJCXJldHVybiAt RU5PTUVNOwogCiAJbmV0LT5lZGV2ID0gZWRldjsKLQluZXQtPmJ1ZiA9IGJ1ZjsKKwluZXQtPmJ1 ZiA9IE5VTEw7CiAJa3JlZl9pbml0KCZuZXQtPmtyZWYpOwogCisJaWYgKHVhcGktPnR5cGUgPT0g RVRIT1NVX1VBUElfTkVUV09SS19CVUZGRVIpIHsKKwkJbmV0LT5idWYgPSBldGhvc3VfYnVmZmVy X2dldF9mcm9tX2ZkKHVhcGktPmZkKTsKKwkJaWYgKElTX0VSUihuZXQtPmJ1ZikpIHsKKwkJCXJl dCA9IFBUUl9FUlIobmV0LT5idWYpOworCQkJZ290byBmcmVlX25ldDsKKwkJfQorCX0gZWxzZSB7 CisJCW5ldC0+aW5kZXggPSB1YXBpLT5pbmRleDsKKwl9CisKIAlyZXQgPSBhbm9uX2lub2RlX2dl dGZkKCJldGhvc3UtbmV0d29yayIsICZldGhvc3VfbmV0d29ya19mb3BzLCBuZXQsCiAJCQkgICAg ICAgT19SRFdSIHwgT19DTE9FWEVDKTsKIAlpZiAocmV0IDwgMCkKLQkJZ290byBmcmVlX25ldDsK KwkJZ290byBwdXRfYnVmOwogCiAJbmV0LT5maWxlID0gZmdldChyZXQpOwogCWZwdXQobmV0LT5m aWxlKTsKIAogCWRldl9kYmcoZWRldi0+ZGV2LAotCQkiTmV0d29yayBjcmVhdGUuIGZpbGU9MHgl cEssIGZkPSVkLCBuZXQ9MHglcEssIGJ1Zj0weCVwSyIsCi0JCW5ldC0+ZmlsZSwgcmV0LCBuZXQs IG5ldC0+YnVmKTsKKwkJIk5ldHdvcmsgY3JlYXRlLiBmaWxlPTB4JXBLLCBmZD0lZCwgbmV0PTB4 JXBLLCBidWY9MHglcEssIGluZGV4PSV1IiwKKwkJbmV0LT5maWxlLCByZXQsIG5ldCwgbmV0LT5i dWYsIG5ldC0+aW5kZXgpOwogCiAJcmV0dXJuIHJldDsKIAorcHV0X2J1ZjoKKwlpZiAobmV0LT5i dWYpCisJCWV0aG9zdV9idWZmZXJfcHV0KG5ldC0+YnVmKTsKKwogZnJlZV9uZXQ6CiAJZGV2bV9r ZnJlZShlZGV2LT5kZXYsIG5ldCk7CiAKLXB1dF9idWY6Ci0JZXRob3N1X2J1ZmZlcl9wdXQoYnVm KTsKLQogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE5OSw3ICsyMjMsNyBAQCB2b2lkIGV0aG9zdV9u ZXR3b3JrX2dldChzdHJ1Y3QgZXRob3N1X25ldHdvcmsgKm5ldCkKIAlrcmVmX2dldCgmbmV0LT5r cmVmKTsKIH0KIAotdm9pZCBldGhvc3VfbmV0d29ya19wdXQoc3RydWN0IGV0aG9zdV9uZXR3b3Jr ICpuZXQpCitpbnQgZXRob3N1X25ldHdvcmtfcHV0KHN0cnVjdCBldGhvc3VfbmV0d29yayAqbmV0 KQogewotCWtyZWZfcHV0KCZuZXQtPmtyZWYsIGV0aG9zdV9uZXR3b3JrX2Rlc3Ryb3kpOworCXJl dHVybiBrcmVmX3B1dCgmbmV0LT5rcmVmLCBldGhvc3VfbmV0d29ya19kZXN0cm95KTsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3JrLmggYi9kcml2 ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29yay5oCmluZGV4IDQyMzZlMTU4NmVmYi4u OGNhMmRkNjE4ODZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3Vf bmV0d29yay5oCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9uZXR3b3JrLmgK QEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IGV0aG9zdV9uZXR3b3JrIHsKIAlzdHJ1Y3QgZmlsZSAg ICAgICAgICAqZmlsZTsKIAlzdHJ1Y3Qga3JlZiAgICAgICAgICBrcmVmOwogCXN0cnVjdCBldGhv c3VfYnVmZmVyICpidWY7CisJdTMyICAgICAgICAgICAgICAgICAgaW5kZXg7CiB9OwogCiAvKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgpAQCAtNzUsNyArNzYsOSBAQCB2b2lkIGV0aG9zdV9uZXR3b3JrX2dl dChzdHJ1Y3QgZXRob3N1X25ldHdvcmsgKm5ldCk7CiAKIC8qKgogICogZXRob3N1X25ldHdvcmtf cHV0KCkgLSBQdXQgbmV0d29yaworICoKKyAqIFJldHVybjogMSBpZiBvYmplY3Qgd2FzIHJlbW92 ZWQsIGVsc2UgMC4KICAqLwotdm9pZCBldGhvc3VfbmV0d29ya19wdXQoc3RydWN0IGV0aG9zdV9u ZXR3b3JrICpuZXQpOworaW50IGV0aG9zdV9uZXR3b3JrX3B1dChzdHJ1Y3QgZXRob3N1X25ldHdv cmsgKm5ldCk7CiAKICNlbmRpZiAvKiBFVEhPU1VfTkVUV09SS19IICovCmRpZmYgLS1naXQgYS9k cml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29ya19pbmZvLmMgYi9kcml2ZXJzL2Zp cm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29ya19pbmZvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi4zYjhhZDkzNTUwNWEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2 ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfbmV0d29ya19pbmZvLmMKQEAgLTAsMCArMSwxODQg QEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8qCisgKiBDb3B5 cmlnaHQgKGMpIDIwMjIgQXJtIExpbWl0ZWQuCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK KyAqIEluY2x1ZGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImV0aG9zdV9u ZXR3b3JrX2luZm8uaCIKKworI2luY2x1ZGUgImV0aG9zdV9kZXZpY2UuaCIKKyNpbmNsdWRlICJl dGhvc3VfbmV0d29yay5oIgorI2luY2x1ZGUgImV0aG9zdV9ycG1zZy5oIgorI2luY2x1ZGUgInVh cGkvZXRob3N1LmgiCisKKyNkZWZpbmUgTkVUV09SS19JTkZPX1JFU1BfVElNRU9VVF9NUyAzMDAw MAorCitzdGF0aWMgaW5saW5lIGludCBldGhvc3VfbmV0d29ya19pbmZvX3NlbmQoc3RydWN0IGV0 aG9zdV9uZXR3b3JrX2luZm8gKmluZm8pCit7CisJLyogU2VuZCBuZXR3b3JrIGluZm8gcmVxdWVz dCB0byBmaXJtd2FyZSAqLworCXJldHVybiBldGhvc3VfcnBtc2dfbmV0d29ya19pbmZvX3JlcXVl c3QoJmluZm8tPmVkZXYtPmVycCwKKwkJCQkJCSAmaW5mby0+bXNnLAorCQkJCQkJIGluZm8tPm5l dC0+YnVmLAorCQkJCQkJIGluZm8tPm5ldC0+aW5kZXgpOworfQorCitzdGF0aWMgdm9pZCBldGhv c3VfbmV0d29ya19pbmZvX2ZhaWwoc3RydWN0IGV0aG9zdV9ycG1zZ19tc2cgKm1zZykKK3sKKwlz dHJ1Y3QgZXRob3N1X25ldHdvcmtfaW5mbyAqaW5mbyA9CisJCWNvbnRhaW5lcl9vZihtc2csIHR5 cGVvZigqaW5mbyksIG1zZyk7CisKKwlpZiAoY29tcGxldGlvbl9kb25lKCZpbmZvLT5kb25lKSkK KwkJcmV0dXJuOworCisJaW5mby0+ZXJybm8gPSAtRUZBVUxUOworCWNvbXBsZXRlKCZpbmZvLT5k b25lKTsKK30KKworc3RhdGljIGludCBldGhvc3VfbmV0d29ya19pbmZvX3Jlc2VuZChzdHJ1Y3Qg ZXRob3N1X3JwbXNnX21zZyAqbXNnKQoreworCXN0cnVjdCBldGhvc3VfbmV0d29ya19pbmZvICpp bmZvID0KKwkJY29udGFpbmVyX29mKG1zZywgdHlwZW9mKCppbmZvKSwgbXNnKTsKKwlpbnQgcmV0 OworCisJLyogRG9uJ3QgcmVzZW5kIHJlcXVlc3QgaWYgcmVzcG9uc2UgaGFzIGFscmVhZHkgYmVl biByZWNlaXZlZCAqLworCWlmIChjb21wbGV0aW9uX2RvbmUoJmluZm8tPmRvbmUpKQorCQlyZXR1 cm4gMDsKKworCS8qIFJlc2VuZCByZXF1ZXN0ICovCisJcmV0ID0gZXRob3N1X25ldHdvcmtfaW5m b19zZW5kKGluZm8pOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKK30K KworaW50IGV0aG9zdV9uZXR3b3JrX2luZm9fcmVxdWVzdChzdHJ1Y3QgZXRob3N1X25ldHdvcmsg Km5ldCwKKwkJCQlzdHJ1Y3QgZXRob3N1X3VhcGlfbmV0d29ya19pbmZvICp1YXBpKQoreworCXN0 cnVjdCBldGhvc3VfbmV0d29ya19pbmZvICppbmZvOworCWludCByZXQ7CisJaW50IHRpbWVvdXQ7 CisKKwlpbmZvID0gZGV2bV9remFsbG9jKG5ldC0+ZWRldi0+ZGV2LCBzaXplb2YoKmluZm8pLCBH RlBfS0VSTkVMKTsKKwlpZiAoIWluZm8pCisJCXJldHVybiAtRU5PTUVNOworCisJaW5mby0+ZWRl diA9IG5ldC0+ZWRldjsKKwlpbmZvLT5uZXQgPSBuZXQ7CisJaW5mby0+dWFwaSA9IHVhcGk7CisJ aW5pdF9jb21wbGV0aW9uKCZpbmZvLT5kb25lKTsKKwlpbmZvLT5tc2cuZmFpbCA9IGV0aG9zdV9u ZXR3b3JrX2luZm9fZmFpbDsKKwlpbmZvLT5tc2cucmVzZW5kID0gZXRob3N1X25ldHdvcmtfaW5m b19yZXNlbmQ7CisKKwlyZXQgPSBldGhvc3VfcnBtc2dfcmVnaXN0ZXIoJmluZm8tPmVkZXYtPmVy cCwgJmluZm8tPm1zZyk7CisJaWYgKHJldCA8IDApCisJCWdvdG8ga2ZyZWU7CisKKwkvKiBHZXQg cmVmZXJlbmNlIHRvIG5ldHdvcmsgKi8KKwlldGhvc3VfbmV0d29ya19nZXQoaW5mby0+bmV0KTsK KworCXJldCA9IGV0aG9zdV9uZXR3b3JrX2luZm9fc2VuZChpbmZvKTsKKwlpZiAocmV0KQorCQln b3RvIGRlcmVnaXN0ZXI7CisKKwlkZXZfZGJnKGluZm8tPmVkZXYtPmRldiwKKwkJIk5ldHdvcmsg aW5mbyBjcmVhdGUuIGluZm89MHglcEssIG5ldD0weCVwSywgbXNnLmlkPTB4JXhcbiIsCisJCWlu Zm8sIGluZm8tPm5ldCwgaW5mby0+bXNnLmlkKTsKKworCS8qIFVubG9jayB0aGUgZGV2aWNlIG11 dGV4IGFuZCB3YWl0IGZvciBjb21wbGV0aW9uICovCisJbXV0ZXhfdW5sb2NrKCZpbmZvLT5lZGV2 LT5tdXRleCk7CisJdGltZW91dCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmaW5mby0+ ZG9uZSwKKwkJCQkJICAgICAgbXNlY3NfdG9famlmZmllcyhORVRXT1JLX0lORk9fUkVTUF9USU1F T1VUX01TKSk7CisJbXV0ZXhfbG9jaygmaW5mby0+ZWRldi0+bXV0ZXgpOworCisJaWYgKHRpbWVv dXQgPT0gMCkgeworCQlkZXZfd2FybihpbmZvLT5lZGV2LT5kZXYsICJOZXR3b3JrIGluZm8gdGlt ZWQgb3V0LiBpbmZvPTB4JXBLIiwKKwkJCSBpbmZvKTsKKworCQlyZXQgPSAtRVRJTUU7CisJCWdv dG8gZGVyZWdpc3RlcjsKKwl9CisKKwlyZXQgPSBpbmZvLT5lcnJubzsKKworZGVyZWdpc3RlcjoK KwlldGhvc3VfcnBtc2dfZGVyZWdpc3RlcigmaW5mby0+ZWRldi0+ZXJwLCAmaW5mby0+bXNnKTsK KwlldGhvc3VfbmV0d29ya19wdXQoaW5mby0+bmV0KTsKKwora2ZyZWU6CisJZGV2X2RiZyhpbmZv LT5lZGV2LT5kZXYsCisJCSJOZXR3b3JrIGluZm8gZGVzdHJveS4gaW5mbz0weCVwSywgbXNnLmlk PTB4JXhcbiIsCisJCWluZm8sIGluZm8tPm1zZy5pZCk7CisJZGV2bV9rZnJlZShpbmZvLT5lZGV2 LT5kZXYsIGluZm8pOworCisJcmV0dXJuIHJldDsKK30KKwordm9pZCBldGhvc3VfbmV0d29ya19p bmZvX3JzcChzdHJ1Y3QgZXRob3N1X2RldmljZSAqZWRldiwKKwkJCSAgICAgc3RydWN0IGV0aG9z dV9jb3JlX25ldHdvcmtfaW5mb19yc3AgKnJzcCkKK3sKKwlpbnQgcmV0OworCWludCBpZCA9IChp bnQpcnNwLT51c2VyX2FyZzsKKwlzdHJ1Y3QgZXRob3N1X3JwbXNnX21zZyAqbXNnOworCXN0cnVj dCBldGhvc3VfbmV0d29ya19pbmZvICppbmZvOworCXUzMiBpLCBqOworCisJbXNnID0gZXRob3N1 X3JwbXNnX2ZpbmQoJmVkZXYtPmVycCwgaWQpOworCWlmIChJU19FUlIobXNnKSkgeworCQlkZXZf d2FybihlZGV2LT5kZXYsCisJCQkgIklkIGZvciBuZXR3b3JrIGluZm8gbXNnIG5vdCBmb3VuZC4g bXNnLmlkPTB4JXhcbiIsCisJCQkgaWQpOworCisJCXJldHVybjsKKwl9CisKKwlpbmZvID0gY29u dGFpbmVyX29mKG1zZywgdHlwZW9mKCppbmZvKSwgbXNnKTsKKworCWlmIChjb21wbGV0aW9uX2Rv bmUoJmluZm8tPmRvbmUpKQorCQlyZXR1cm47CisKKwlpbmZvLT5lcnJubyA9IDA7CisKKwlpZiAo cnNwLT5zdGF0dXMgIT0gRVRIT1NVX0NPUkVfU1RBVFVTX09LKSB7CisJCWluZm8tPmVycm5vID0g LUVCQURGOworCQlnb3RvIHNpZ25hbF9jb21wbGV0ZTsKKwl9CisKKwlpZiAocnNwLT5pZm1fY291 bnQgPiBFVEhPU1VfQ09SRV9CVUZGRVJfTUFYIHx8IHJzcC0+b2ZtX2NvdW50ID4gRVRIT1NVX0NP UkVfQlVGRkVSX01BWCkgeworCQlpbmZvLT5lcnJubyA9IC1FTkZJTEU7CisJCWdvdG8gc2lnbmFs X2NvbXBsZXRlOworCX0KKworCXJldCA9IHN0cnNjcHkoaW5mby0+dWFwaS0+ZGVzYywgcnNwLT5k ZXNjLCBzaXplb2YoaW5mby0+dWFwaS0+ZGVzYykpOworCWlmIChyZXQgPCAwKSB7CisJCWluZm8t PmVycm5vID0gcmV0OworCQlnb3RvIHNpZ25hbF9jb21wbGV0ZTsKKwl9CisKKwlpbmZvLT51YXBp LT5pc192ZWxhID0gcnNwLT5pc192ZWxhOworCWluZm8tPnVhcGktPmlmbV9jb3VudCA9IHJzcC0+ aWZtX2NvdW50OworCWZvciAoaSA9IDA7IGkgPCByc3AtPmlmbV9jb3VudDsgaSsrKSB7CisJCWlu Zm8tPnVhcGktPmlmbV9zaXplW2ldID0gcnNwLT5pZm1fc2l6ZVtpXTsKKwkJaW5mby0+dWFwaS0+ aWZtX3R5cGVzW2ldID0gcnNwLT5pZm1fdHlwZXNbaV07CisJCWluZm8tPnVhcGktPmlmbV9vZmZz ZXRbaV0gPSByc3AtPmlmbV9vZmZzZXRbaV07CisJCWluZm8tPnVhcGktPmlmbV9kaW1zW2ldID0g cnNwLT5pZm1fZGltc1tpXTsKKwkJZm9yIChqID0gMDsgaiA8IHJzcC0+aWZtX2RpbXNbaV07IGor KykKKwkJCWluZm8tPnVhcGktPmlmbV9zaGFwZXNbaV1bal0gPSByc3AtPmlmbV9zaGFwZXNbaV1b al07CisgICAgICAgIH0KKworCWluZm8tPnVhcGktPm9mbV9jb3VudCA9IHJzcC0+b2ZtX2NvdW50 OworCWZvciAoaSA9IDA7IGkgPCByc3AtPm9mbV9jb3VudDsgaSsrKSB7CisJCWluZm8tPnVhcGkt Pm9mbV9zaXplW2ldID0gcnNwLT5vZm1fc2l6ZVtpXTsKKwkJaW5mby0+dWFwaS0+b2ZtX3R5cGVz W2ldID0gcnNwLT5vZm1fdHlwZXNbaV07CisJCWluZm8tPnVhcGktPm9mbV9vZmZzZXRbaV0gPSBy c3AtPm9mbV9vZmZzZXRbaV07CisJCWluZm8tPnVhcGktPm9mbV9kaW1zW2ldID0gcnNwLT5vZm1f ZGltc1tpXTsKKwkJZm9yIChqID0gMDsgaiA8IHJzcC0+b2ZtX2RpbXNbaV07IGorKykKKwkJCWlu Zm8tPnVhcGktPm9mbV9zaGFwZXNbaV1bal0gPSByc3AtPm9mbV9zaGFwZXNbaV1bal07CisJfQor CitzaWduYWxfY29tcGxldGU6CisJY29tcGxldGUoJmluZm8tPmRvbmUpOworfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9maXJtd2FyZS9ldGhvc3UvZXRob3N1X25ldHdvcmtfaW5mby5oIGIvZHJpdmVy cy9maXJtd2FyZS9ldGhvc3UvZXRob3N1X25ldHdvcmtfaW5mby5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjViYzAwZjhlMzRhCi0tLSAvZGV2L251bGwKKysrIGIv ZHJpdmVycy9maXJtd2FyZS9ldGhvc3UvZXRob3N1X25ldHdvcmtfaW5mby5oCkBAIC0wLDAgKzEs NTYgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KKy8qCisg KiBDb3B5cmlnaHQgKGMpIDIwMjIgQXJtIExpbWl0ZWQuCisgKi8KKworI2lmbmRlZiBFVEhPU1Vf TkVUV09SS19JTkZPX0gKKyNkZWZpbmUgRVRIT1NVX05FVFdPUktfSU5GT19ICisKKy8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqCisgKiBJbmNsdWRlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNs dWRlICJldGhvc3VfY29yZV9pbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJldGhvc3VfcnBtc2cuaCIK KworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5o PgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHlwZXMKKyAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LworCitzdHJ1Y3QgZXRob3N1X2RldmljZTsKK3N0cnVjdCBldGhvc3VfbmV0d29yazsKK3N0cnVj dCBldGhvc3VfdWFwaV9uZXR3b3JrX2luZm87CisKK3N0cnVjdCBldGhvc3VfbmV0d29ya19pbmZv IHsKKwlzdHJ1Y3QgZXRob3N1X2RldmljZSAgICAgICAgICAgICplZGV2OworCXN0cnVjdCBldGhv c3VfbmV0d29yayAgICAgICAgICAgKm5ldDsKKwlzdHJ1Y3QgZXRob3N1X3VhcGlfbmV0d29ya19p bmZvICp1YXBpOworCXN0cnVjdCBjb21wbGV0aW9uICAgICAgICAgICAgICAgZG9uZTsKKwlpbnQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vOworCXN0cnVjdCBldGhvc3VfcnBtc2df bXNnICAgICAgICAgbXNnOworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZ1bmN0aW9u cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogZXRob3N1X25ldHdvcmtfaW5mb19y ZXF1ZXN0KCkgLSBTZW5kIGEgbmV0d29yayBpbmZvIHJlcXVlc3QKKyAqCisgKiBUaGlzIGZ1bmN0 aW9uIG11c3QgYmUgY2FsbGVkIGluIHRoZSBjb250ZXh0IG9mIGEgdXNlciBzcGFjZSBwcm9jZXNz LgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCAuCisgKi8KK2ludCBldGhvc3VfbmV0d29y a19pbmZvX3JlcXVlc3Qoc3RydWN0IGV0aG9zdV9uZXR3b3JrICpuZXQsCisJCQkJc3RydWN0IGV0 aG9zdV91YXBpX25ldHdvcmtfaW5mbyAqdWFwaSk7CisKKy8qKgorICogZXRob3N1X25ldHdvcmtf aW5mb19yc3AoKSAtIEhhbmRsZSBuZXR3b3JrIGluZm8gcmVzcG9uc2UuCisgKi8KK3ZvaWQgZXRo b3N1X25ldHdvcmtfaW5mb19yc3Aoc3RydWN0IGV0aG9zdV9kZXZpY2UgKmVkZXYsCisJCQkgICAg IHN0cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9fcnNwICpyc3ApOworCisjZW5kaWYgLyog RVRIT1NVX05FVFdPUktfSU5GT19IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2V0 aG9zdS9ldGhvc3VfcnBtc2cuYyBiL2RyaXZlcnMvZmlybXdhcmUvZXRob3N1L2V0aG9zdV9ycG1z Zy5jCmluZGV4IGE5MjQzOWI4MWM5Ni4uMzY4YTUxOWUzNmIxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfcnBtc2cuYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2V0 aG9zdS9ldGhvc3VfcnBtc2cuYwpAQCAtMTkwLDYgKzE5MCw3IEBAIGludCBldGhvc3VfcnBtc2df aW5mZXJlbmNlKHN0cnVjdCBldGhvc3VfcnBtc2cgKmVycCwKIAkJCSAgIHVpbnQzMl90IG9mbV9j b3VudCwKIAkJCSAgIHN0cnVjdCBldGhvc3VfYnVmZmVyICoqb2ZtLAogCQkJICAgc3RydWN0IGV0 aG9zdV9idWZmZXIgKm5ldHdvcmssCisJCQkgICB1MzIgbmV0d29ya19pbmRleCwKIAkJCSAgIHVp bnQ4X3QgKnBtdV9ldmVudF9jb25maWcsCiAJCQkgICB1aW50OF90IHBtdV9ldmVudF9jb25maWdf Y291bnQsCiAJCQkgICB1aW50OF90IHBtdV9jeWNsZV9jb3VudGVyX2VuYWJsZSwKQEAgLTIyOSw3 ICsyMzAsMTMgQEAgaW50IGV0aG9zdV9ycG1zZ19pbmZlcmVuY2Uoc3RydWN0IGV0aG9zdV9ycG1z ZyAqZXJwLAogCWZvciAoaSA9IDA7IGkgPCBFVEhPU1VfQ09SRV9QTVVfTUFYOyBpKyspCiAJCXJl cS5wbXVfZXZlbnRfY29uZmlnW2ldID0gcG11X2V2ZW50X2NvbmZpZ1tpXTsKIAotCWV0aG9zdV9j b3JlX3NldF9zaXplKG5ldHdvcmssICZyZXEubmV0d29yayk7CisJaWYgKG5ldHdvcmspIHsKKwkJ cmVxLm5ldHdvcmsudHlwZSA9IEVUSE9TVV9DT1JFX05FVFdPUktfQlVGRkVSOworCQlldGhvc3Vf Y29yZV9zZXRfc2l6ZShuZXR3b3JrLCAmcmVxLm5ldHdvcmsuYnVmZmVyKTsKKwl9IGVsc2Ugewor CQlyZXEubmV0d29yay50eXBlID0gRVRIT1NVX0NPUkVfTkVUV09SS19JTkRFWDsKKwkJcmVxLm5l dHdvcmsuaW5kZXggPSBuZXR3b3JrX2luZGV4OworCX0KIAogCW1lbWNweShkYXRhLCAmbXNnLCBz aXplb2Yoc3RydWN0IGV0aG9zdV9jb3JlX21zZykpOwogCW1lbWNweShkYXRhICsgc2l6ZW9mKHN0 cnVjdCBldGhvc3VfY29yZV9tc2cpLCAmcmVxLApAQCAtMjQ2LDYgKzI1Myw0NyBAQCBpbnQgZXRo b3N1X3JwbXNnX2luZmVyZW5jZShzdHJ1Y3QgZXRob3N1X3JwbXNnICplcnAsCiAJcmV0dXJuIDA7 CiB9CiAKK2ludCBldGhvc3VfcnBtc2dfbmV0d29ya19pbmZvX3JlcXVlc3Qoc3RydWN0IGV0aG9z dV9ycG1zZyAqZXJwLAorCQkJCSAgICAgIHN0cnVjdCBldGhvc3VfcnBtc2dfbXNnICpycG1zZywK KwkJCQkgICAgICBzdHJ1Y3QgZXRob3N1X2J1ZmZlciAqbmV0d29yaywKKwkJCQkgICAgICB1aW50 MzJfdCBuZXR3b3JrX2luZGV4KQoreworCXN0cnVjdCBldGhvc3VfY29yZV9tc2cgbXNnID0gewor CQkubWFnaWMgID0gRVRIT1NVX0NPUkVfTVNHX01BR0lDLAorCQkudHlwZSAgID0gRVRIT1NVX0NP UkVfTVNHX05FVFdPUktfSU5GT19SRVEsCisJCS5sZW5ndGggPSBzaXplb2Yoc3RydWN0IGV0aG9z dV9jb3JlX25ldHdvcmtfaW5mb19yZXEpCisJfTsKKwlzdHJ1Y3QgZXRob3N1X2NvcmVfbmV0d29y a19pbmZvX3JlcSByZXE7CisJc3RydWN0IHJwbXNnX2RldmljZSAqcnBkZXYgPSBlcnAtPnJwZGV2 OworCXU4IGRhdGFbc2l6ZW9mKHN0cnVjdCBldGhvc3VfY29yZV9tc2cpICsKKwkJc2l6ZW9mKHN0 cnVjdCBldGhvc3VfY29yZV9uZXR3b3JrX2luZm9fcmVxKV07CisJaW50IHJldDsKKworCXJlcS51 c2VyX2FyZyA9IHJwbXNnLT5pZDsKKworCWlmIChuZXR3b3JrKSB7CisJCXJlcS5uZXR3b3JrLnR5 cGUgPSBFVEhPU1VfQ09SRV9ORVRXT1JLX0JVRkZFUjsKKwkJZXRob3N1X2NvcmVfc2V0X3NpemUo bmV0d29yaywgJnJlcS5uZXR3b3JrLmJ1ZmZlcik7CisJfSBlbHNlIHsKKwkJcmVxLm5ldHdvcmsu dHlwZSA9IEVUSE9TVV9DT1JFX05FVFdPUktfSU5ERVg7CisJCXJlcS5uZXR3b3JrLmluZGV4ID0g bmV0d29ya19pbmRleDsKKwl9CisKKwltZW1jcHkoZGF0YSwgJm1zZywgc2l6ZW9mKHN0cnVjdCBl dGhvc3VfY29yZV9tc2cpKTsKKwltZW1jcHkoZGF0YSArIHNpemVvZihzdHJ1Y3QgZXRob3N1X2Nv cmVfbXNnKSwgJnJlcSwKKwkgICAgICAgc2l6ZW9mKHN0cnVjdCBldGhvc3VfY29yZV9uZXR3b3Jr X2luZm9fcmVxKSk7CisKKwlyZXQgPSBycG1zZ19zZW5kKHJwZGV2LT5lcHQsICh2b2lkICopJmRh dGEsCisJCQkgc2l6ZW9mKHN0cnVjdCBldGhvc3VfY29yZV9tc2cpICsKKwkJCSBzaXplb2Yoc3Ry dWN0IGV0aG9zdV9jb3JlX25ldHdvcmtfaW5mb19yZXEpKTsKKwlpZiAocmV0KSB7CisJCWRldl9l cnIoJnJwZGV2LT5kZXYsICJycG1zZ19zZW5kIGZhaWxlZDogJWRcbiIsIHJldCk7CisJCXJldHVy biByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgcnBtc2dfZXRob3N1X2Ni KHN0cnVjdCBycG1zZ19kZXZpY2UgKnJwZGV2LAogCQl2b2lkICpkYXRhLCBpbnQgbGVuLCB2b2lk ICpwcml2LCB1MzIgc3JjKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9ldGhvc3Uv ZXRob3N1X3JwbXNnLmggYi9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS9ldGhvc3VfcnBtc2cuaApp bmRleCA3NGVlMmZkZWE1Y2IuLmJhNmZiOGZkNTg2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJt d2FyZS9ldGhvc3UvZXRob3N1X3JwbXNnLmgKKysrIGIvZHJpdmVycy9maXJtd2FyZS9ldGhvc3Uv ZXRob3N1X3JwbXNnLmgKQEAgLTg0LDEyICs4NCwyMyBAQCBpbnQgZXRob3N1X3JwbXNnX2luZmVy ZW5jZShzdHJ1Y3QgZXRob3N1X3JwbXNnICplcnAsCiAJCQkgICB1aW50MzJfdCBvZm1fY291bnQs CiAJCQkgICBzdHJ1Y3QgZXRob3N1X2J1ZmZlciAqKm9mbSwKIAkJCSAgIHN0cnVjdCBldGhvc3Vf YnVmZmVyICpuZXR3b3JrLAorCQkJICAgdTMyIG5ldHdvcmtfaW5kZXgsCiAJCQkgICB1aW50OF90 ICpwbXVfZXZlbnRfY29uZmlnLAogCQkJICAgdWludDhfdCBwbXVfZXZlbnRfY29uZmlnX2NvdW50 LAogCQkJICAgdWludDhfdCBwbXVfY3ljbGVfY291bnRlcl9lbmFibGUsCiAJCQkgICB1aW50MzJf dCBpbmZlcmVuY2VfdHlwZQogCQkJICAgKTsKIAorLyoqCisgKiBldGhvc3VfcnBtc2dfbmV0d29y a19pbmZvX3JlcXVlc3QoKSAtIFNlbmQgbmV0d29yayBpbmZvIHJlcXVlc3QKKyAqCisgKiBSZXR1 cm46IDAgb24gc3VjY2VzcywgZWxzZSBlcnJvciBjb2RlLgorICovCitpbnQgZXRob3N1X3JwbXNn X25ldHdvcmtfaW5mb19yZXF1ZXN0KHN0cnVjdCBldGhvc3VfcnBtc2cgKmVycCwKKwkJCQkgICAg ICBzdHJ1Y3QgZXRob3N1X3JwbXNnX21zZyAqcnBtc2csCisJCQkJICAgICAgc3RydWN0IGV0aG9z dV9idWZmZXIgKm5ldHdvcmssCisJCQkJICAgICAgdWludDMyX3QgbmV0d29ya19pbmRleCk7CisK IGludCBldGhvc3VfcnBtc2dfaW5pdChzdHJ1Y3QgZXRob3N1X3JwbXNnICplcnAsCiAJCSAgICAg IGV0aG9zdV9ycG1zZ19jYiBjYWxsYmFjaywgdm9pZCAqdXNlcl9hcmcpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2Zpcm13YXJlL2V0aG9zdS91YXBpL2V0aG9zdS5oIGIvZHJpdmVycy9maXJtd2Fy ZS9ldGhvc3UvdWFwaS9ldGhvc3UuaAppbmRleCA2NDhjZWM0MDQ3M2IuLjY0YTdkOWQ0ODg1ZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9ldGhvc3UvdWFwaS9ldGhvc3UuaAorKysgYi9k cml2ZXJzL2Zpcm13YXJlL2V0aG9zdS91YXBpL2V0aG9zdS5oCkBAIC00NCw3ICs0NCw4IEBAIG5h bWVzcGFjZSBFdGhvc1UgewogCiAjZGVmaW5lIEVUSE9TVV9JT0NUTF9QSU5HICAgICAgICAgICAg ICAgRVRIT1NVX0lPKDB4MDApCiAjZGVmaW5lIEVUSE9TVV9JT0NUTF9WRVJTSU9OX1JFUSAgICAg ICAgRVRIT1NVX0lPKDB4MDEpCi0jZGVmaW5lIEVUSE9TVV9JT0NUTF9DQVBBQklMSVRJRVNfUkVR ICAgRVRIT1NVX0lPKDB4MDIpCisjZGVmaW5lIEVUSE9TVV9JT0NUTF9DQVBBQklMSVRJRVNfUkVR ICAgRVRIT1NVX0lPUigweDAyLCBcCisJCQkJCQkgICBzdHJ1Y3QgZXRob3N1X3VhcGlfZGV2aWNl X2NhcGFiaWxpdGllcykKICNkZWZpbmUgRVRIT1NVX0lPQ1RMX0JVRkZFUl9DUkVBVEUgICAgICBF VEhPU1VfSU9SKDB4MTAsIFwKIAkJCQkJCSAgIHN0cnVjdCBldGhvc3VfdWFwaV9idWZmZXJfY3Jl YXRlKQogI2RlZmluZSBFVEhPU1VfSU9DVExfQlVGRkVSX1NFVCAgICAgICAgIEVUSE9TVV9JT1Io MHgxMSwgXApAQCAtNTMsNiArNTQsOCBAQCBuYW1lc3BhY2UgRXRob3NVIHsKIAkJCQkJCSAgIHN0 cnVjdCBldGhvc3VfdWFwaV9idWZmZXIpCiAjZGVmaW5lIEVUSE9TVV9JT0NUTF9ORVRXT1JLX0NS RUFURSAgICAgRVRIT1NVX0lPUigweDIwLCBcCiAJCQkJCQkgICBzdHJ1Y3QgZXRob3N1X3VhcGlf bmV0d29ya19jcmVhdGUpCisjZGVmaW5lIEVUSE9TVV9JT0NUTF9ORVRXT1JLX0lORk8gICAgICAg RVRIT1NVX0lPUigweDIxLCBcCisJCQkJCQkgICBzdHJ1Y3QgZXRob3N1X3VhcGlfbmV0d29ya19p bmZvKQogI2RlZmluZSBFVEhPU1VfSU9DVExfSU5GRVJFTkNFX0NSRUFURSAgIEVUSE9TVV9JT1Io MHgzMCwgXAogCQkJCQkJICAgc3RydWN0IGV0aG9zdV91YXBpX2luZmVyZW5jZV9jcmVhdGUpCiAj ZGVmaW5lIEVUSE9TVV9JT0NUTF9JTkZFUkVOQ0VfU1RBVFVTICAgRVRIT1NVX0lPUigweDMxLCBc CkBAIC0xMDAsMTIgKzEwMyw0NSBAQCBzdHJ1Y3QgZXRob3N1X3VhcGlfYnVmZmVyIHsKIAlfX3Uz MiBzaXplOwogfTsKIAorLyoqCisgKiBlbnVtIGV0aG9zdV91YXBpX25ldHdvcmtfY3JlYXRlIC0g TmV0d29yayBidWZmZXIgdHlwZS4KKyAqIEBFVEhPU1VfVUFQSV9ORVRXT1JLX0JVRkZFUjoJTmV0 d29yayBpcyBzdG9yZWQgaW4gYSBidWZmZXIgaGFuZGxlLgorICogQEVUSE9TVV9VQVBJX05FVFdP UktfSU5ERVg6CU5ldHdvcmsgaXMgYnVpbHQgaW50byBmaXJtd2FyZSBhbmQgcmVmZXJlbmNlZCBi eQorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleC4KKyAqLworZW51bSBldGhv c3VfdWFwaV9uZXR3b3JrX3R5cGUgeworCUVUSE9TVV9VQVBJX05FVFdPUktfQlVGRkVSID0gMSwK KwlFVEhPU1VfVUFQSV9ORVRXT1JLX0lOREVYCit9OworCiAvKioKICAqIHN0cnVjdCBldGhvc3Vf dWFwaV9uZXR3b3JrX2NyZWF0ZSAtIENyZWF0ZSBuZXR3b3JrIHJlcXVlc3QKKyAqIEB0eXBlOglC dWZmZXIgdHlwZS4gU2VlIEBldGhvc3VfdWFwaV9uZXR3b3JrX3R5cGUuCiAgKiBAZmQ6CQlCdWZm ZXIgZmlsZSBkZXNjcmlwdG9yCisgKiBAaW5kZXg6CUJ1ZmZlciBpbmRleCBjb21waWxlZCBpbnRv IGZpcm13YXJlIGJpbmFyeS4KICAqLwogc3RydWN0IGV0aG9zdV91YXBpX25ldHdvcmtfY3JlYXRl IHsKLQlfX3UzMiBmZDsKKwl1MzIgdHlwZTsKKwl1bmlvbiB7CisJCV9fdTMyIGZkOworCQlfX3Uz MiBpbmRleDsKKwl9OworfTsKKworLyoqCisgKiBzdHJ1Y3QgZXRob3N1X3VhcGlfbmV0d29ya19p bmZvIC0gTmV0d29yayBpbmZvCisgKiBAZGVzYzoJCU5ldHdvcmsgZGVzY3JpcHRpb24KKyAqIEBp Zm1fY291bnQ6CQlOdW1iZXIgb2YgSUZNIGJ1ZmZlcnMKKyAqIEBpZm1fc2l6ZToJCUlGTSBidWZm ZXIgc2l6ZXMKKyAqIEBvZm1fY291bnQ6CQlOdW1iZXIgb2YgT0ZNIGJ1ZmZlcnMKKyAqIEBvZm1f c2l6ZToJCU9GTSBidWZmZXIgc2l6ZXMKKyAqLworc3RydWN0IGV0aG9zdV91YXBpX25ldHdvcmtf aW5mbyB7CisJY2hhciAgZGVzY1szMl07CisJX191MzIgaWZtX2NvdW50OworCV9fdTMyIGlmbV9z aXplW0VUSE9TVV9GRF9NQVhdOworCV9fdTMyIG9mbV9jb3VudDsKKwlfX3UzMiBvZm1fc2l6ZVtF VEhPU1VfRkRfTUFYXTsKIH07CiAKIC8qKgpAQCAtMTYyLDcgKzE5OCw3IEBAIHN0cnVjdCBldGhv c3VfdWFwaV9kZXZpY2VfaHdfY2ZnIHsKIH07CiAKIC8qKgotICogc3RydWN0IGV0aG9zdV91YXBp X2NhcGFiaWxpdGllcyAtIERldmljZSBjYXBhYmlsaXRpZXMKKyAqIHN0cnVjdCBldGhvc3VfdWFw aV9kZXZpY2VfY2FwYWJpbGl0aWVzIC0gRGV2aWNlIGNhcGFiaWxpdGllcwogICogQGh3X2lkOiAg ICAgICAgICAgICAgICAgICAgIEhhcmR3YXJlIGlkZW50aWZpY2F0aW9uCiAgKiBAaHdfY2ZnOiAg ICAgICAgICAgICAgICAgICAgSGFyZHdhcmUgY29uZmlndXJhdGlvbgogICogQGRyaXZlcl9wYXRj aF9yZXY6ICAgICAgICAgIERyaXZlciB2ZXJzaW9uIHBhdGNoCi0tIAoyLjE3LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==