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=-12.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,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_GIT 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 2E0A1C47425 for ; Thu, 8 Oct 2020 09:32:05 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 B11E72168B for ; Thu, 8 Oct 2020 09:32:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MqZJVi7m" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B11E72168B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B98C46EA5B; Thu, 8 Oct 2020 09:32:02 +0000 (UTC) Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id D27B76EA58 for ; Thu, 8 Oct 2020 09:32:00 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id x1so5140745eds.1 for ; Thu, 08 Oct 2020 02:32:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=XueY+KXtTeeuVhmtFsxz7Kf/b/iIGh67wLL4/tQ2lLI=; b=MqZJVi7mC452fSSor/jMuhVqpDy4cJoHUUmDTJQrpYPiw7XyTkQU/JG0gfjPRLUs/Y 4Gr9dCUALzrIAfISQnhanzxl9R0CxJ7ewtpWWChbQsRRObZ0nwVaBqmhYZ2afRymrmsM SeQWimd1nz1ae2CeSmGjIhaDUrj4lFG/0DikIc/GK6fb7StGIUgb+24m0dIo3xQwV1OU 5NomEoCVKU6LpZnz1SKkKZr/js8rClTPosg1u1+FLFNAjfKNtO4Q8nqRmarl2p31VWSp PT+DzEdOElswm4PeqF8xWLqI+rB4lO/EBsNRrWTGF9bajKakwW8GpJgEl3DZbcRzOVtz ZWgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XueY+KXtTeeuVhmtFsxz7Kf/b/iIGh67wLL4/tQ2lLI=; b=sEjVozDbczkVY3xpGxmO75udnkfwozZGIq4RJcfvUUn5ulMb7Z0WTrh+6E14SEqQy2 Q1rqdT7gDth7x+oX2lbuymHzUkdCI2FrjG4aEBk8uPKsjn5/7uAfHSnlngyBvqgdUupT 3oTiI/ng6DgloGPZ0jrLPOdoXWLSLP/Q5w5hlESseie6kbu0MDt1f2UHZsxR8QLtORVs VcFs9BFN0JPdJNt79gB95YWvZ0NfTqyRDSMmUvE5zd5kLbnKjOkP2LuOoejcqfSSmgdo YgYORUXherqP0LtB8TCdVj1Mo35IEA2FlroJKD3HmonpLzb8+mCdheo1CmLryRzoIz/y 6uhw== X-Gm-Message-State: AOAM533Jaqe872e1nv27LvxTiWqaFqGYvREwVfuMq5ta1tN8+JeV2tdU hEcf1u7Gpl3d7Oz5I4aD2irfObIc3Dk= X-Google-Smtp-Source: ABdhPJx2zb/tJgAlle7LkCTL8p8XMMIdHE0eH+Lw5NkqqKbGwH4cC5RiYro8bMGQ34xz3nH5UMT17Q== X-Received: by 2002:aa7:ce0a:: with SMTP id d10mr7810559edv.254.1602149518498; Thu, 08 Oct 2020 02:31:58 -0700 (PDT) Received: from abel.fritz.box ([2a02:908:1252:fb60:4c64:a9a0:5e0:905a]) by smtp.gmail.com with ESMTPSA id e2sm3649911ejd.81.2020.10.08.02.31.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Oct 2020 02:31:57 -0700 (PDT) From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" X-Google-Original-From: =?UTF-8?q?Christian=20K=C3=B6nig?= To: dri-devel@lists.freedesktop.org, daniel@ffwll.ch Subject: [PATCH 4/4] drm/ttm: nuke caching placement flags Date: Thu, 8 Oct 2020 11:31:54 +0200 Message-Id: <20201008093154.2991-4-christian.koenig@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201008093154.2991-1-christian.koenig@amd.com> References: <20201008093154.2991-1-christian.koenig@amd.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Q2hhbmdpbmcgdGhlIGNhY2hpbmcgb24gdGhlIGZseSBuZXZlciByZWFsbHkgd29ya2VkCmZsYXds ZXNzbHkuCgpTbyBzdG9wIHRoaXMgY29tcGxldGVseSBhbmQganVzdCBsZXQgZHJpdmVycyBzcGVj aWZpYyB0aGUKZGVzaXJlZCBjYWNoaW5nIGluIHRoZSB0dCBvciBidXMgb2JqZWN0LgoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgpSZXZp ZXdlZC1ieTogTWljaGFlbCBKLiBSdWhsIDxtaWNoYWVsLmoucnVobEBpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIHwgMjAgKysrLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jICAgIHwgMTIgKystLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jICAgICAgfCAgNyArLS0tCiBk cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JvLmMgICAgICAgfCAzNiArKysrKy0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfb2JqZWN0LmMgICAgICAgICAgIHwgMTAg KystLS0KIGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jICAgICAgICAgICAgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYyAgICAgfCA0NiArKysrKy0t LS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyAgICAg ICAgfCAxOCArKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2FncF9iYWNrZW5kLmMg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jICAgICAgICAgICAgICAg fCA0NCArKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX3V0 aWwuYyAgICAgICAgICB8IDEwICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV90dC5jICAg ICAgICAgICAgICAgfCAyOSAtLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfdHRtX2J1ZmZlci5jIHwgMzAgKysrKysrKy0tLS0tLS0KIGluY2x1ZGUvZHJtL3R0bS90 dG1fcGxhY2VtZW50LmggICAgICAgICAgICB8IDE0IC0tLS0tLS0KIGluY2x1ZGUvZHJtL3R0bS90 dG1fdHQuaCAgICAgICAgICAgICAgICAgICB8IDE1IC0tLS0tLS0KIDE1IGZpbGVzIGNoYW5nZWQs IDYxIGluc2VydGlvbnMoKyksIDIzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKaW5kZXggOGI5NmU3YWFlZmYxLi4xYWE1MTY0MjljODAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKQEAgLTEzNyw3 ICsxMzcsNyBAQCB2b2lkIGFtZGdwdV9ib19wbGFjZW1lbnRfZnJvbV9kb21haW4oc3RydWN0IGFt ZGdwdV9ibyAqYWJvLCB1MzIgZG9tYWluKQogCQlwbGFjZXNbY10uZnBmbiA9IDA7CiAJCXBsYWNl c1tjXS5scGZuID0gMDsKIAkJcGxhY2VzW2NdLm1lbV90eXBlID0gVFRNX1BMX1ZSQU07Ci0JCXBs YWNlc1tjXS5mbGFncyA9IFRUTV9QTF9GTEFHX1dDIHwgVFRNX1BMX0ZMQUdfVU5DQUNIRUQ7CisJ CXBsYWNlc1tjXS5mbGFncyA9IDA7CiAKIAkJaWYgKGZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVf Q1BVX0FDQ0VTU19SRVFVSVJFRCkKIAkJCXBsYWNlc1tjXS5scGZuID0gdmlzaWJsZV9wZm47CkBA IC0xNTQsMTEgKzE1NCw2IEBAIHZvaWQgYW1kZ3B1X2JvX3BsYWNlbWVudF9mcm9tX2RvbWFpbihz dHJ1Y3QgYW1kZ3B1X2JvICphYm8sIHUzMiBkb21haW4pCiAJCXBsYWNlc1tjXS5scGZuID0gMDsK IAkJcGxhY2VzW2NdLm1lbV90eXBlID0gVFRNX1BMX1RUOwogCQlwbGFjZXNbY10uZmxhZ3MgPSAw OwotCQlpZiAoZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1VTV0MpCi0JCQlwbGFj ZXNbY10uZmxhZ3MgfD0gVFRNX1BMX0ZMQUdfV0MgfAotCQkJCVRUTV9QTF9GTEFHX1VOQ0FDSEVE OwotCQllbHNlCi0JCQlwbGFjZXNbY10uZmxhZ3MgfD0gVFRNX1BMX0ZMQUdfQ0FDSEVEOwogCQlj Kys7CiAJfQogCkBAIC0xNjcsMTEgKzE2Miw2IEBAIHZvaWQgYW1kZ3B1X2JvX3BsYWNlbWVudF9m cm9tX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2JvICphYm8sIHUzMiBkb21haW4pCiAJCXBsYWNlc1tj XS5scGZuID0gMDsKIAkJcGxhY2VzW2NdLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTTsKIAkJcGxh Y2VzW2NdLmZsYWdzID0gMDsKLQkJaWYgKGZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dU VF9VU1dDKQotCQkJcGxhY2VzW2NdLmZsYWdzIHw9IFRUTV9QTF9GTEFHX1dDIHwKLQkJCQlUVE1f UExfRkxBR19VTkNBQ0hFRDsKLQkJZWxzZQotCQkJcGxhY2VzW2NdLmZsYWdzIHw9IFRUTV9QTF9G TEFHX0NBQ0hFRDsKIAkJYysrOwogCX0KIApAQCAtMTc5LDcgKzE2OSw3IEBAIHZvaWQgYW1kZ3B1 X2JvX3BsYWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2JvICphYm8sIHUzMiBkb21h aW4pCiAJCXBsYWNlc1tjXS5mcGZuID0gMDsKIAkJcGxhY2VzW2NdLmxwZm4gPSAwOwogCQlwbGFj ZXNbY10ubWVtX3R5cGUgPSBBTURHUFVfUExfR0RTOwotCQlwbGFjZXNbY10uZmxhZ3MgPSBUVE1f UExfRkxBR19VTkNBQ0hFRDsKKwkJcGxhY2VzW2NdLmZsYWdzID0gMDsKIAkJYysrOwogCX0KIApA QCAtMTg3LDcgKzE3Nyw3IEBAIHZvaWQgYW1kZ3B1X2JvX3BsYWNlbWVudF9mcm9tX2RvbWFpbihz dHJ1Y3QgYW1kZ3B1X2JvICphYm8sIHUzMiBkb21haW4pCiAJCXBsYWNlc1tjXS5mcGZuID0gMDsK IAkJcGxhY2VzW2NdLmxwZm4gPSAwOwogCQlwbGFjZXNbY10ubWVtX3R5cGUgPSBBTURHUFVfUExf R1dTOwotCQlwbGFjZXNbY10uZmxhZ3MgPSBUVE1fUExfRkxBR19VTkNBQ0hFRDsKKwkJcGxhY2Vz W2NdLmZsYWdzID0gMDsKIAkJYysrOwogCX0KIApAQCAtMTk1LDcgKzE4NSw3IEBAIHZvaWQgYW1k Z3B1X2JvX3BsYWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2JvICphYm8sIHUzMiBk b21haW4pCiAJCXBsYWNlc1tjXS5mcGZuID0gMDsKIAkJcGxhY2VzW2NdLmxwZm4gPSAwOwogCQlw bGFjZXNbY10ubWVtX3R5cGUgPSBBTURHUFVfUExfT0E7Ci0JCXBsYWNlc1tjXS5mbGFncyA9IFRU TV9QTF9GTEFHX1VOQ0FDSEVEOworCQlwbGFjZXNbY10uZmxhZ3MgPSAwOwogCQljKys7CiAJfQog CkBAIC0yMDMsNyArMTkzLDcgQEAgdm9pZCBhbWRncHVfYm9fcGxhY2VtZW50X2Zyb21fZG9tYWlu KHN0cnVjdCBhbWRncHVfYm8gKmFibywgdTMyIGRvbWFpbikKIAkJcGxhY2VzW2NdLmZwZm4gPSAw OwogCQlwbGFjZXNbY10ubHBmbiA9IDA7CiAJCXBsYWNlc1tjXS5tZW1fdHlwZSA9IFRUTV9QTF9T WVNURU07Ci0JCXBsYWNlc1tjXS5mbGFncyA9IFRUTV9QTF9NQVNLX0NBQ0hJTkc7CisJCXBsYWNl c1tjXS5mbGFncyA9IDA7CiAJCWMrKzsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYwppbmRleCA1YjU2YTY2MDYzZmQuLjhjZGVjNThiOTEwNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwpAQCAtOTIsNyArOTIsNyBAQCBzdGF0aWMgdm9p ZCBhbWRncHVfZXZpY3RfZmxhZ3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJLmZw Zm4gPSAwLAogCQkubHBmbiA9IDAsCiAJCS5tZW1fdHlwZSA9IFRUTV9QTF9TWVNURU0sCi0JCS5m bGFncyA9IFRUTV9QTF9NQVNLX0NBQ0hJTkcKKwkJLmZsYWdzID0gMAogCX07CiAKIAkvKiBEb24n dCBoYW5kbGUgc2NhdHRlciBnYXRoZXIgQk9zICovCkBAIC01MzgsMTkgKzUzOCwxMyBAQCBzdGF0 aWMgaW50IGFtZGdwdV9tb3ZlX3ZyYW1fcmFtKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8s IGJvb2wgZXZpY3QsCiAJcGxhY2VtZW50cy5mcGZuID0gMDsKIAlwbGFjZW1lbnRzLmxwZm4gPSAw OwogCXBsYWNlbWVudHMubWVtX3R5cGUgPSBUVE1fUExfVFQ7Ci0JcGxhY2VtZW50cy5mbGFncyA9 IFRUTV9QTF9NQVNLX0NBQ0hJTkc7CisJcGxhY2VtZW50cy5mbGFncyA9IDA7CiAJciA9IHR0bV9i b19tZW1fc3BhY2UoYm8sICZwbGFjZW1lbnQsICZ0bXBfbWVtLCBjdHgpOwogCWlmICh1bmxpa2Vs eShyKSkgewogCQlwcl9lcnIoIkZhaWxlZCB0byBmaW5kIEdUVCBzcGFjZSBmb3IgYmxpdCBmcm9t IFZSQU1cbiIpOwogCQlyZXR1cm4gcjsKIAl9CiAKLQkvKiBzZXQgY2FjaGluZyBmbGFncyAqLwot CXIgPSB0dG1fdHRfc2V0X3BsYWNlbWVudF9jYWNoaW5nKGJvLT50dG0sIHRtcF9tZW0ucGxhY2Vt ZW50KTsKLQlpZiAodW5saWtlbHkocikpIHsKLQkJZ290byBvdXRfY2xlYW51cDsKLQl9Ci0KIAly ID0gdHRtX3R0X3BvcHVsYXRlKGJvLT5iZGV2LCBiby0+dHRtLCBjdHgpOwogCWlmICh1bmxpa2Vs eShyKSkKIAkJZ290byBvdXRfY2xlYW51cDsKQEAgLTU5OSw3ICs1OTMsNyBAQCBzdGF0aWMgaW50 IGFtZGdwdV9tb3ZlX3JhbV92cmFtKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sIGJvb2wg ZXZpY3QsCiAJcGxhY2VtZW50cy5mcGZuID0gMDsKIAlwbGFjZW1lbnRzLmxwZm4gPSAwOwogCXBs YWNlbWVudHMubWVtX3R5cGUgPSBUVE1fUExfVFQ7Ci0JcGxhY2VtZW50cy5mbGFncyA9IFRUTV9Q TF9NQVNLX0NBQ0hJTkc7CisJcGxhY2VtZW50cy5mbGFncyA9IDA7CiAJciA9IHR0bV9ib19tZW1f c3BhY2UoYm8sICZwbGFjZW1lbnQsICZ0bXBfbWVtLCBjdHgpOwogCWlmICh1bmxpa2VseShyKSkg ewogCQlwcl9lcnIoIkZhaWxlZCB0byBmaW5kIEdUVCBzcGFjZSBmb3IgYmxpdCB0byBWUkFNXG4i KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jCmluZGV4IGI5ZTdjZTFhZGYyNS4u N2FlYjVkYWYyODA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hl bHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMKQEAgLTE0 NywxNSArMTQ3LDEyIEBAIHN0YXRpYyB2b2lkIGRybV9nZW1fdnJhbV9wbGFjZW1lbnQoc3RydWN0 IGRybV9nZW1fdnJhbV9vYmplY3QgKmdibywKIAogCWlmIChwbF9mbGFnICYgRFJNX0dFTV9WUkFN X1BMX0ZMQUdfVlJBTSkgewogCQlnYm8tPnBsYWNlbWVudHNbY10ubWVtX3R5cGUgPSBUVE1fUExf VlJBTTsKLQkJZ2JvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19XQyB8Ci0J CQkJCSAgICAgVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfAotCQkJCQkgICAgIGludmFyaWFudF9mbGFn czsKKwkJZ2JvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBpbnZhcmlhbnRfZmxhZ3M7CiAJfQog CiAJaWYgKHBsX2ZsYWcgJiBEUk1fR0VNX1ZSQU1fUExfRkxBR19TWVNURU0gfHwgIWMpIHsKIAkJ Z2JvLT5wbGFjZW1lbnRzW2NdLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTTsKLQkJZ2JvLT5wbGFj ZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfTUFTS19DQUNISU5HIHwKLQkJCQkJICAgICBpbnZh cmlhbnRfZmxhZ3M7CisJCWdiby0+cGxhY2VtZW50c1tjKytdLmZsYWdzID0gaW52YXJpYW50X2Zs YWdzOwogCX0KIAogCWdiby0+cGxhY2VtZW50Lm51bV9wbGFjZW1lbnQgPSBjOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbm91dmVhdV9iby5jCmluZGV4IGNiODc4YzBlODI3Ni4uNGNjYjMzMjkwMTRiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JvLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jCkBAIC0zNDMsMzcgKzM0MywyMyBAQCBu b3V2ZWF1X2JvX25ldyhzdHJ1Y3Qgbm91dmVhdV9jbGkgKmNsaSwgdTY0IHNpemUsIGludCBhbGln biwKIH0KIAogc3RhdGljIHZvaWQKLXNldF9wbGFjZW1lbnRfbGlzdChzdHJ1Y3Qgbm91dmVhdV9k cm0gKmRybSwgc3RydWN0IHR0bV9wbGFjZSAqcGwsIHVuc2lnbmVkICpuLAotCQkgICB1aW50MzJf dCBkb21haW4sIHVpbnQzMl90IGZsYWdzKQorc2V0X3BsYWNlbWVudF9saXN0KHN0cnVjdCB0dG1f cGxhY2UgKnBsLCB1bnNpZ25lZCAqbiwgdWludDMyX3QgZG9tYWluKQogewogCSpuID0gMDsKIAog CWlmIChkb21haW4gJiBOT1VWRUFVX0dFTV9ET01BSU5fVlJBTSkgewotCQlzdHJ1Y3QgbnZpZl9t bXUgKm1tdSA9ICZkcm0tPmNsaWVudC5tbXU7Ci0JCWNvbnN0IHU4IHR5cGUgPSBtbXUtPnR5cGVb ZHJtLT50dG0udHlwZV92cmFtXS50eXBlOwotCiAJCXBsWypuXS5tZW1fdHlwZSA9IFRUTV9QTF9W UkFNOwotCQlwbFsqbl0uZmxhZ3MgPSBmbGFncyAmIH5UVE1fUExfRkxBR19DQUNIRUQ7Ci0KLQkJ LyogU29tZSBCQVJzIGRvIG5vdCBzdXBwb3J0IGJlaW5nIGlvcmVtYXBwZWQgV0MgKi8KLQkJaWYg KGRybS0+Y2xpZW50LmRldmljZS5pbmZvLmZhbWlseSA+PSBOVl9ERVZJQ0VfSU5GT19WMF9URVNM QSAmJgotCQkgICAgdHlwZSAmIE5WSUZfTUVNX1VOQ0FDSEVEKQotCQkJcGxbKm5dLmZsYWdzICY9 IH5UVE1fUExfRkxBR19XQzsKLQorCQlwbFsqbl0uZmxhZ3MgPSAwOwogCQkoKm4pKys7CiAJfQog CWlmIChkb21haW4gJiBOT1VWRUFVX0dFTV9ET01BSU5fR0FSVCkgewogCQlwbFsqbl0ubWVtX3R5 cGUgPSBUVE1fUExfVFQ7Ci0JCXBsWypuXS5mbGFncyA9IGZsYWdzOwotCi0JCWlmIChkcm0tPmFn cC5icmlkZ2UpCi0JCQlwbFsqbl0uZmxhZ3MgJj0gflRUTV9QTF9GTEFHX0NBQ0hFRDsKLQorCQlw bFsqbl0uZmxhZ3MgPSAwOwogCQkoKm4pKys7CiAJfQogCWlmIChkb21haW4gJiBOT1VWRUFVX0dF TV9ET01BSU5fQ1BVKSB7CiAJCXBsWypuXS5tZW1fdHlwZSA9IFRUTV9QTF9TWVNURU07Ci0JCXBs WygqbikrK10uZmxhZ3MgPSBmbGFnczsKKwkJcGxbKCpuKSsrXS5mbGFncyA9IDA7CiAJfQogfQog CkBAIC00MTUsMTggKzQwMSwxNCBAQCB2b2lkCiBub3V2ZWF1X2JvX3BsYWNlbWVudF9zZXQoc3Ry dWN0IG5vdXZlYXVfYm8gKm52Ym8sIHVpbnQzMl90IGRvbWFpbiwKIAkJCSB1aW50MzJfdCBidXN5 KQogewotCXN0cnVjdCBub3V2ZWF1X2RybSAqZHJtID0gbm91dmVhdV9iZGV2KG52Ym8tPmJvLmJk ZXYpOwogCXN0cnVjdCB0dG1fcGxhY2VtZW50ICpwbCA9ICZudmJvLT5wbGFjZW1lbnQ7Ci0JdWlu dDMyX3QgZmxhZ3MgPSBudmJvLT5mb3JjZV9jb2hlcmVudCA/IFRUTV9QTF9GTEFHX1VOQ0FDSEVE IDoKLQkJCQkJCVRUTV9QTF9NQVNLX0NBQ0hJTkc7CiAKIAlwbC0+cGxhY2VtZW50ID0gbnZiby0+ cGxhY2VtZW50czsKLQlzZXRfcGxhY2VtZW50X2xpc3QoZHJtLCBudmJvLT5wbGFjZW1lbnRzLCAm cGwtPm51bV9wbGFjZW1lbnQsCi0JCQkgICBkb21haW4sIGZsYWdzKTsKKwlzZXRfcGxhY2VtZW50 X2xpc3QobnZiby0+cGxhY2VtZW50cywgJnBsLT5udW1fcGxhY2VtZW50LCBkb21haW4pOwogCiAJ cGwtPmJ1c3lfcGxhY2VtZW50ID0gbnZiby0+YnVzeV9wbGFjZW1lbnRzOwotCXNldF9wbGFjZW1l bnRfbGlzdChkcm0sIG52Ym8tPmJ1c3lfcGxhY2VtZW50cywgJnBsLT5udW1fYnVzeV9wbGFjZW1l bnQsCi0JCQkgICBkb21haW4gfCBidXN5LCBmbGFncyk7CisJc2V0X3BsYWNlbWVudF9saXN0KG52 Ym8tPmJ1c3lfcGxhY2VtZW50cywgJnBsLT5udW1fYnVzeV9wbGFjZW1lbnQsCisJCQkgICBkb21h aW4gfCBidXN5KTsKIAogCXNldF9wbGFjZW1lbnRfcmFuZ2UobnZibywgZG9tYWluKTsKIH0KQEAg LTg4OCw3ICs4NzAsNyBAQCBub3V2ZWF1X2JvX21vdmVfZmxpcGQoc3RydWN0IHR0bV9idWZmZXJf b2JqZWN0ICpibywgYm9vbCBldmljdCwKIAkJLmZwZm4gPSAwLAogCQkubHBmbiA9IDAsCiAJCS5t ZW1fdHlwZSA9IFRUTV9QTF9UVCwKLQkJLmZsYWdzID0gVFRNX1BMX01BU0tfQ0FDSElORworCQku ZmxhZ3MgPSAwCiAJfTsKIAlzdHJ1Y3QgdHRtX3BsYWNlbWVudCBwbGFjZW1lbnQ7CiAJc3RydWN0 IHR0bV9yZXNvdXJjZSB0bXBfcmVnOwpAQCAtOTMwLDcgKzkxMiw3IEBAIG5vdXZlYXVfYm9fbW92 ZV9mbGlwcyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLCBib29sIGV2aWN0LAogCQkuZnBm biA9IDAsCiAJCS5scGZuID0gMCwKIAkJLm1lbV90eXBlID0gVFRNX1BMX1RULAotCQkuZmxhZ3Mg PSBUVE1fUExfTUFTS19DQUNISU5HCisJCS5mbGFncyA9IDAKIAl9OwogCXN0cnVjdCB0dG1fcGxh Y2VtZW50IHBsYWNlbWVudDsKIAlzdHJ1Y3QgdHRtX3Jlc291cmNlIHRtcF9yZWc7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9x eGwvcXhsX29iamVjdC5jCmluZGV4IDk0MGU5OTM1NGY0OS4uNTQ3ZDQ2YzE0ZDU2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF9vYmplY3QuYwpAQCAtNjQsMjEgKzY0LDIxIEBAIHZvaWQgcXhsX3R0bV9wbGFj ZW1lbnRfZnJvbV9kb21haW4oc3RydWN0IHF4bF9ibyAqcWJvLCB1MzIgZG9tYWluKQogCXFiby0+ cGxhY2VtZW50LmJ1c3lfcGxhY2VtZW50ID0gcWJvLT5wbGFjZW1lbnRzOwogCWlmIChkb21haW4g PT0gUVhMX0dFTV9ET01BSU5fVlJBTSkgewogCQlxYm8tPnBsYWNlbWVudHNbY10ubWVtX3R5cGUg PSBUVE1fUExfVlJBTTsKLQkJcWJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxB R19DQUNIRUQgfCBwZmxhZzsKKwkJcWJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBwZmxhZzsK IAl9CiAJaWYgKGRvbWFpbiA9PSBRWExfR0VNX0RPTUFJTl9TVVJGQUNFKSB7CiAJCXFiby0+cGxh Y2VtZW50c1tjXS5tZW1fdHlwZSA9IFRUTV9QTF9QUklWOwotCQlxYm8tPnBsYWNlbWVudHNbYysr XS5mbGFncyA9IFRUTV9QTF9GTEFHX0NBQ0hFRCB8IHBmbGFnOworCQlxYm8tPnBsYWNlbWVudHNb YysrXS5mbGFncyA9IHBmbGFnOwogCQlxYm8tPnBsYWNlbWVudHNbY10ubWVtX3R5cGUgPSBUVE1f UExfVlJBTTsKLQkJcWJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19DQUNI RUQgfCBwZmxhZzsKKwkJcWJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBwZmxhZzsKIAl9CiAJ aWYgKGRvbWFpbiA9PSBRWExfR0VNX0RPTUFJTl9DUFUpIHsKIAkJcWJvLT5wbGFjZW1lbnRzW2Nd Lm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTTsKLQkJcWJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3Mg PSBUVE1fUExfTUFTS19DQUNISU5HIHwgcGZsYWc7CisJCXFiby0+cGxhY2VtZW50c1tjKytdLmZs YWdzID0gcGZsYWc7CiAJfQogCWlmICghYykgewogCQlxYm8tPnBsYWNlbWVudHNbY10ubWVtX3R5 cGUgPSBUVE1fUExfU1lTVEVNOwotCQlxYm8tPnBsYWNlbWVudHNbYysrXS5mbGFncyA9IFRUTV9Q TF9NQVNLX0NBQ0hJTkc7CisJCXFiby0+cGxhY2VtZW50c1tjKytdLmZsYWdzID0gMDsKIAl9CiAJ cWJvLT5wbGFjZW1lbnQubnVtX3BsYWNlbWVudCA9IGM7CiAJcWJvLT5wbGFjZW1lbnQubnVtX2J1 c3lfcGxhY2VtZW50ID0gYzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0 bS5jIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMKaW5kZXggNjFlYjA2ZGJiY2U4Li5l M2VkMjAyMTVmMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRp YyB2b2lkIHF4bF9ldmljdF9mbGFncyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQku ZnBmbiA9IDAsCiAJCS5scGZuID0gMCwKIAkJLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTSwKLQkJ LmZsYWdzID0gVFRNX1BMX01BU0tfQ0FDSElORworCQkuZmxhZ3MgPSAwCiAJfTsKIAogCWlmICgh cXhsX3R0bV9ib19pc19xeGxfYm8oYm8pKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29i amVjdC5jCmluZGV4IGFkMGU2ZTllZjkyMi4uYWI4MWUzNWNiMDYwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9vYmplY3QuYwpAQCAtMTEzLDU3ICsxMTMsMjkgQEAgdm9pZCByYWRlb25f dHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgcmFkZW9uX2JvICpyYm8sIHUzMiBkb21h aW4pCiAJCQlyYm8tPnBsYWNlbWVudHNbY10uZnBmbiA9CiAJCQkJcmJvLT5yZGV2LT5tYy52aXNp YmxlX3ZyYW1fc2l6ZSA+PiBQQUdFX1NISUZUOwogCQkJcmJvLT5wbGFjZW1lbnRzW2NdLm1lbV90 eXBlID0gVFRNX1BMX1ZSQU07Ci0JCQlyYm8tPnBsYWNlbWVudHNbYysrXS5mbGFncyA9IFRUTV9Q TF9GTEFHX1dDIHwKLQkJCQkJCSAgICAgVFRNX1BMX0ZMQUdfVU5DQUNIRUQ7CisJCQlyYm8tPnBs YWNlbWVudHNbYysrXS5mbGFncyA9IDA7CiAJCX0KIAogCQlyYm8tPnBsYWNlbWVudHNbY10uZnBm biA9IDA7CiAJCXJiby0+cGxhY2VtZW50c1tjXS5tZW1fdHlwZSA9IFRUTV9QTF9WUkFNOwotCQly Ym8tPnBsYWNlbWVudHNbYysrXS5mbGFncyA9IFRUTV9QTF9GTEFHX1dDIHwKLQkJCQkJICAgICBU VE1fUExfRkxBR19VTkNBQ0hFRDsKKwkJcmJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSAwOwog CX0KIAogCWlmIChkb21haW4gJiBSQURFT05fR0VNX0RPTUFJTl9HVFQpIHsKLQkJaWYgKHJiby0+ ZmxhZ3MgJiBSQURFT05fR0VNX0dUVF9VQykgewotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4g PSAwOwotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLm1lbV90eXBlID0gVFRNX1BMX1RUOwotCQkJcmJv LT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19VTkNBQ0hFRDsKLQotCQl9IGVs c2UgaWYgKChyYm8tPmZsYWdzICYgUkFERU9OX0dFTV9HVFRfV0MpIHx8Ci0JCQkgICAocmJvLT5y ZGV2LT5mbGFncyAmIFJBREVPTl9JU19BR1ApKSB7Ci0JCQlyYm8tPnBsYWNlbWVudHNbY10uZnBm biA9IDA7Ci0JCQlyYm8tPnBsYWNlbWVudHNbY10ubWVtX3R5cGUgPSBUVE1fUExfVFQ7Ci0JCQly Ym8tPnBsYWNlbWVudHNbYysrXS5mbGFncyA9IFRUTV9QTF9GTEFHX1dDIHwKLQkJCQlUVE1fUExf RkxBR19VTkNBQ0hFRDsKLQkJfSBlbHNlIHsKLQkJCXJiby0+cGxhY2VtZW50c1tjXS5mcGZuID0g MDsKLQkJCXJiby0+cGxhY2VtZW50c1tjXS5tZW1fdHlwZSA9IFRUTV9QTF9UVDsKLQkJCXJiby0+ cGxhY2VtZW50c1tjKytdLmZsYWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVEOwotCQl9CisJCXJiby0+ cGxhY2VtZW50c1tjXS5mcGZuID0gMDsKKwkJcmJvLT5wbGFjZW1lbnRzW2NdLm1lbV90eXBlID0g VFRNX1BMX1RUOworCQlyYm8tPnBsYWNlbWVudHNbYysrXS5mbGFncyA9IDA7CiAJfQogCiAJaWYg KGRvbWFpbiAmIFJBREVPTl9HRU1fRE9NQUlOX0NQVSkgewotCQlpZiAocmJvLT5mbGFncyAmIFJB REVPTl9HRU1fR1RUX1VDKSB7Ci0JCQlyYm8tPnBsYWNlbWVudHNbY10uZnBmbiA9IDA7Ci0JCQly Ym8tPnBsYWNlbWVudHNbY10ubWVtX3R5cGUgPSBUVE1fUExfU1lTVEVNOwotCQkJcmJvLT5wbGFj ZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19VTkNBQ0hFRDsKLQotCQl9IGVsc2UgaWYg KChyYm8tPmZsYWdzICYgUkFERU9OX0dFTV9HVFRfV0MpIHx8Ci0JCSAgICByYm8tPnJkZXYtPmZs YWdzICYgUkFERU9OX0lTX0FHUCkgewotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAwOwot CQkJcmJvLT5wbGFjZW1lbnRzW2NdLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTTsKLQkJCXJiby0+ cGxhY2VtZW50c1tjKytdLmZsYWdzID0gVFRNX1BMX0ZMQUdfV0MgfAotCQkJCVRUTV9QTF9GTEFH X1VOQ0FDSEVEOwotCQl9IGVsc2UgewotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAwOwot CQkJcmJvLT5wbGFjZW1lbnRzW2NdLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTTsKLQkJCXJiby0+ cGxhY2VtZW50c1tjKytdLmZsYWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVEOwotCQl9CisJCXJiby0+ cGxhY2VtZW50c1tjXS5mcGZuID0gMDsKKwkJcmJvLT5wbGFjZW1lbnRzW2NdLm1lbV90eXBlID0g VFRNX1BMX1NZU1RFTTsKKwkJcmJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSAwOwogCX0KIAlp ZiAoIWMpIHsKIAkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAwOwogCQlyYm8tPnBsYWNlbWVu dHNbY10ubWVtX3R5cGUgPSBUVE1fUExfU1lTVEVNOwotCQlyYm8tPnBsYWNlbWVudHNbYysrXS5m bGFncyA9IFRUTV9QTF9NQVNLX0NBQ0hJTkc7CisJCXJiby0+cGxhY2VtZW50c1tjKytdLmZsYWdz ID0gMDsKIAl9CiAKIAlyYm8tPnBsYWNlbWVudC5udW1fcGxhY2VtZW50ID0gYzsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fdHRtLmMKaW5kZXggOWI1M2ExZDgwNjMyLi5kNmY0MmZiYzgxZjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCkBAIC04OSw3ICs4OSw3IEBAIHN0YXRpYyB2 b2lkIHJhZGVvbl9ldmljdF9mbGFncyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQku ZnBmbiA9IDAsCiAJCS5scGZuID0gMCwKIAkJLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTSwKLQkJ LmZsYWdzID0gVFRNX1BMX01BU0tfQ0FDSElORworCQkuZmxhZ3MgPSAwCiAJfTsKIAogCXN0cnVj dCByYWRlb25fYm8gKnJibzsKQEAgLTIyNSwxNyArMjI1LDEyIEBAIHN0YXRpYyBpbnQgcmFkZW9u X21vdmVfdnJhbV9yYW0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAlwbGFjZW1lbnRz LmZwZm4gPSAwOwogCXBsYWNlbWVudHMubHBmbiA9IDA7CiAJcGxhY2VtZW50cy5tZW1fdHlwZSA9 IFRUTV9QTF9UVDsKLQlwbGFjZW1lbnRzLmZsYWdzID0gVFRNX1BMX01BU0tfQ0FDSElORzsKKwlw bGFjZW1lbnRzLmZsYWdzID0gMDsKIAlyID0gdHRtX2JvX21lbV9zcGFjZShibywgJnBsYWNlbWVu dCwgJnRtcF9tZW0sIGN0eCk7CiAJaWYgKHVubGlrZWx5KHIpKSB7CiAJCXJldHVybiByOwogCX0K IAotCXIgPSB0dG1fdHRfc2V0X3BsYWNlbWVudF9jYWNoaW5nKGJvLT50dG0sIHRtcF9tZW0ucGxh Y2VtZW50KTsKLQlpZiAodW5saWtlbHkocikpIHsKLQkJZ290byBvdXRfY2xlYW51cDsKLQl9Ci0K IAlyID0gdHRtX3R0X3BvcHVsYXRlKGJvLT5iZGV2LCBiby0+dHRtLCBjdHgpOwogCWlmICh1bmxp a2VseShyKSkgewogCQlnb3RvIG91dF9jbGVhbnVwOwpAQCAtMjc1LDcgKzI3MCw3IEBAIHN0YXRp YyBpbnQgcmFkZW9uX21vdmVfcmFtX3ZyYW0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywK IAlwbGFjZW1lbnRzLmZwZm4gPSAwOwogCXBsYWNlbWVudHMubHBmbiA9IDA7CiAJcGxhY2VtZW50 cy5tZW1fdHlwZSA9IFRUTV9QTF9UVDsKLQlwbGFjZW1lbnRzLmZsYWdzID0gVFRNX1BMX01BU0tf Q0FDSElORzsKKwlwbGFjZW1lbnRzLmZsYWdzID0gMDsKIAlyID0gdHRtX2JvX21lbV9zcGFjZShi bywgJnBsYWNlbWVudCwgJnRtcF9tZW0sIGN0eCk7CiAJaWYgKHVubGlrZWx5KHIpKSB7CiAJCXJl dHVybiByOwpAQCAtMzg5LDEyICszODQsNyBAQCBzdGF0aWMgaW50IHJhZGVvbl90dG1faW9fbWVt X3Jlc2VydmUoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHN0cnVjdCB0dG1fcmVzbwogCQkg KiBBbHBoYTogdXNlIGJ1cy5hZGRyIHRvIGhvbGQgdGhlIGlvcmVtYXAoKSByZXR1cm4sCiAJCSAq IHNvIHdlIGNhbiBtb2RpZnkgYnVzLmJhc2UgYmVsb3cuCiAJCSAqLwotCQlpZiAobWVtLT5wbGFj ZW1lbnQgJiBUVE1fUExfRkxBR19XQykKLQkJCW1lbS0+YnVzLmFkZHIgPQotCQkJCWlvcmVtYXBf d2MobWVtLT5idXMub2Zmc2V0LCBidXNfc2l6ZSk7Ci0JCWVsc2UKLQkJCW1lbS0+YnVzLmFkZHIg PQotCQkJCWlvcmVtYXAobWVtLT5idXMub2Zmc2V0LCBidXNfc2l6ZSk7CisJCW1lbS0+YnVzLmFk ZHIgPSBpb3JlbWFwX3djKG1lbS0+YnVzLm9mZnNldCwgYnVzX3NpemUpOwogCQlpZiAoIW1lbS0+ YnVzLmFkZHIpCiAJCQlyZXR1cm4gLUVOT01FTTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fYWdwX2JhY2tlbmQuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2FncF9i YWNrZW5kLmMKaW5kZXggYTcyMzA2MmQzN2U3Li40Zjc2YzkyODcxNTkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS90dG0vdHRtX2FncF9iYWNrZW5kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3R0bS90dG1fYWdwX2JhY2tlbmQuYwpAQCAtNTQsNyArNTQsNyBAQCBpbnQgdHRtX2FncF9iaW5k KHN0cnVjdCB0dG1fdHQgKnR0bSwgc3RydWN0IHR0bV9yZXNvdXJjZSAqYm9fbWVtKQogCXN0cnVj dCBwYWdlICpkdW1teV9yZWFkX3BhZ2UgPSB0dG1fYm9fZ2xvYi5kdW1teV9yZWFkX3BhZ2U7CiAJ c3RydWN0IGRybV9tbV9ub2RlICpub2RlID0gYm9fbWVtLT5tbV9ub2RlOwogCXN0cnVjdCBhZ3Bf bWVtb3J5ICptZW07Ci0JaW50IHJldCwgY2FjaGVkID0gKGJvX21lbS0+cGxhY2VtZW50ICYgVFRN X1BMX0ZMQUdfQ0FDSEVEKTsKKwlpbnQgcmV0LCBjYWNoZWQgPSB0dG0tPmNhY2hpbmcgPT0gdHRt X2NhY2hlZDsKIAl1bnNpZ25lZCBpOwogCiAJaWYgKGFncF9iZS0+bWVtKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2Jv LmMKaW5kZXggMzczMmRjYjU4YWFkLi5iOTdlZDZjYTg3NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS90dG0vdHRtX2JvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwpA QCAtMjUyLDEwICsyNTIsNiBAQCBzdGF0aWMgaW50IHR0bV9ib19oYW5kbGVfbW92ZV9tZW0oc3Ry dWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0X2VycjsK IAotCQlyZXQgPSB0dG1fdHRfc2V0X3BsYWNlbWVudF9jYWNoaW5nKGJvLT50dG0sIG1lbS0+cGxh Y2VtZW50KTsKLQkJaWYgKHJldCkKLQkJCWdvdG8gb3V0X2VycjsKLQogCQlpZiAobWVtLT5tZW1f dHlwZSAhPSBUVE1fUExfU1lTVEVNKSB7CiAJCQlyZXQgPSB0dG1fdHRfcG9wdWxhdGUoYmRldiwg Ym8tPnR0bSwgY3R4KTsKIAkJCWlmIChyZXQpCkBAIC04NDMsMjkgKzgzOSw2IEBAIHN0YXRpYyBp bnQgdHRtX2JvX21lbV9mb3JjZV9zcGFjZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAog CXJldHVybiB0dG1fYm9fYWRkX21vdmVfZmVuY2UoYm8sIG1hbiwgbWVtLCBjdHgtPm5vX3dhaXRf Z3B1KTsKIH0KIAotc3RhdGljIHVpbnQzMl90IHR0bV9ib19zZWxlY3RfY2FjaGluZyhzdHJ1Y3Qg dHRtX3Jlc291cmNlX21hbmFnZXIgKm1hbiwKLQkJCQkgICAgICB1aW50MzJfdCBjdXJfcGxhY2Vt ZW50LAotCQkJCSAgICAgIHVpbnQzMl90IHByb3Bvc2VkX3BsYWNlbWVudCkKLXsKLQl1aW50MzJf dCBjYWNoaW5nID0gcHJvcG9zZWRfcGxhY2VtZW50ICYgVFRNX1BMX01BU0tfQ0FDSElORzsKLQl1 aW50MzJfdCByZXN1bHQgPSBwcm9wb3NlZF9wbGFjZW1lbnQgJiB+VFRNX1BMX01BU0tfQ0FDSElO RzsKLQotCS8qKgotCSAqIEtlZXAgY3VycmVudCBjYWNoaW5nIGlmIHBvc3NpYmxlLgotCSAqLwot Ci0JaWYgKChjdXJfcGxhY2VtZW50ICYgY2FjaGluZykgIT0gMCkKLQkJcmVzdWx0IHw9IChjdXJf cGxhY2VtZW50ICYgY2FjaGluZyk7Ci0JZWxzZSBpZiAoKFRUTV9QTF9GTEFHX0NBQ0hFRCAmIGNh Y2hpbmcpICE9IDApCi0JCXJlc3VsdCB8PSBUVE1fUExfRkxBR19DQUNIRUQ7Ci0JZWxzZSBpZiAo KFRUTV9QTF9GTEFHX1dDICYgY2FjaGluZykgIT0gMCkKLQkJcmVzdWx0IHw9IFRUTV9QTF9GTEFH X1dDOwotCWVsc2UgaWYgKChUVE1fUExfRkxBR19VTkNBQ0hFRCAmIGNhY2hpbmcpICE9IDApCi0J CXJlc3VsdCB8PSBUVE1fUExfRkxBR19VTkNBQ0hFRDsKLQotCXJldHVybiByZXN1bHQ7Ci19Ci0K IC8qKgogICogdHRtX2JvX21lbV9wbGFjZW1lbnQgLSBjaGVjayBpZiBwbGFjZW1lbnQgaXMgY29t cGF0aWJsZQogICogQGJvOiBCTyB0byBmaW5kIG1lbW9yeSBmb3IKQEAgLTg4NCwxOCArODU3LDEz IEBAIHN0YXRpYyBpbnQgdHRtX2JvX21lbV9wbGFjZW1lbnQoc3RydWN0IHR0bV9idWZmZXJfb2Jq ZWN0ICpibywKIHsKIAlzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiA9IGJvLT5iZGV2OwogCXN0 cnVjdCB0dG1fcmVzb3VyY2VfbWFuYWdlciAqbWFuOwotCXVpbnQzMl90IGN1cl9mbGFncyA9IDA7 CiAKIAltYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIHBsYWNlLT5tZW1fdHlwZSk7CiAJaWYg KCFtYW4gfHwgIXR0bV9yZXNvdXJjZV9tYW5hZ2VyX3VzZWQobWFuKSkKIAkJcmV0dXJuIC1FQlVT WTsKIAotCWN1cl9mbGFncyA9IHR0bV9ib19zZWxlY3RfY2FjaGluZyhtYW4sIGJvLT5tZW0ucGxh Y2VtZW50LAotCQkJCQkgIHBsYWNlLT5mbGFncyk7Ci0JY3VyX2ZsYWdzIHw9IHBsYWNlLT5mbGFn cyAmIH5UVE1fUExfTUFTS19DQUNISU5HOwotCiAJbWVtLT5tZW1fdHlwZSA9IHBsYWNlLT5tZW1f dHlwZTsKLQltZW0tPnBsYWNlbWVudCA9IGN1cl9mbGFnczsKKwltZW0tPnBsYWNlbWVudCA9IHBs YWNlLT5mbGFnczsKIAogCXNwaW5fbG9jaygmdHRtX2JvX2dsb2IubHJ1X2xvY2spOwogCXR0bV9i b19kZWxfZnJvbV9scnUoYm8pOwpAQCAtMTAyOCw4ICs5OTYsNyBAQCBzdGF0aWMgYm9vbCB0dG1f Ym9fcGxhY2VzX2NvbXBhdChjb25zdCBzdHJ1Y3QgdHRtX3BsYWNlICpwbGFjZXMsCiAJCQljb250 aW51ZTsKIAogCQkqbmV3X2ZsYWdzID0gaGVhcC0+ZmxhZ3M7Ci0JCWlmICgoKm5ld19mbGFncyAm IG1lbS0+cGxhY2VtZW50ICYgVFRNX1BMX01BU0tfQ0FDSElORykgJiYKLQkJICAgIChtZW0tPm1l bV90eXBlID09IGhlYXAtPm1lbV90eXBlKSAmJgorCQlpZiAoKG1lbS0+bWVtX3R5cGUgPT0gaGVh cC0+bWVtX3R5cGUpICYmCiAJCSAgICAoISgqbmV3X2ZsYWdzICYgVFRNX1BMX0ZMQUdfQ09OVElH VU9VUykgfHwKIAkJICAgICAobWVtLT5wbGFjZW1lbnQgJiBUVE1fUExfRkxBR19DT05USUdVT1VT KSkpCiAJCQlyZXR1cm4gdHJ1ZTsKQEAgLTEwODMsOSArMTA1MCw2IEBAIGludCB0dG1fYm9fdmFs aWRhdGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJcmV0ID0gdHRtX2JvX21vdmVf YnVmZmVyKGJvLCBwbGFjZW1lbnQsIGN0eCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0Owot CX0gZWxzZSB7Ci0JCWJvLT5tZW0ucGxhY2VtZW50ICY9IFRUTV9QTF9NQVNLX0NBQ0hJTkc7Ci0J CWJvLT5tZW0ucGxhY2VtZW50IHw9IG5ld19mbGFncyAmIH5UVE1fUExfTUFTS19DQUNISU5HOwog CX0KIAkvKgogCSAqIFdlIG1pZ2h0IG5lZWQgdG8gYWRkIGEgVFRNLgpAQCAtMTE1Myw3ICsxMTE3 LDcgQEAgaW50IHR0bV9ib19pbml0X3Jlc2VydmVkKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2 LAogCWJvLT5tZW0uYnVzLm9mZnNldCA9IDA7CiAJYm8tPm1lbS5idXMuYWRkciA9IE5VTEw7CiAJ Ym8tPm1vdmluZyA9IE5VTEw7Ci0JYm8tPm1lbS5wbGFjZW1lbnQgPSBUVE1fUExfRkxBR19DQUNI RUQ7CisJYm8tPm1lbS5wbGFjZW1lbnQgPSAwOwogCWJvLT5hY2Nfc2l6ZSA9IGFjY19zaXplOwog CWJvLT5waW5fY291bnQgPSAwOwogCWJvLT5zZyA9IHNnOwpAQCAtMTQ4NCw3ICsxNDQ4LDcgQEAg aW50IHR0bV9ib19zd2Fwb3V0KHN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCAqY3R4KQogCiAJCWV2 aWN0X21lbSA9IGJvLT5tZW07CiAJCWV2aWN0X21lbS5tbV9ub2RlID0gTlVMTDsKLQkJZXZpY3Rf bWVtLnBsYWNlbWVudCA9IFRUTV9QTF9NQVNLX0NBQ0hJTkc7CisJCWV2aWN0X21lbS5wbGFjZW1l bnQgPSAwOwogCQlldmljdF9tZW0ubWVtX3R5cGUgPSBUVE1fUExfU1lTVEVNOwogCiAJCXJldCA9 IHR0bV9ib19oYW5kbGVfbW92ZV9tZW0oYm8sICZldmljdF9tZW0sIHRydWUsICZjdHgpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jIGIvZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fYm9fdXRpbC5jCmluZGV4IDA1NDIwOTdkYzQxOS4uYmE3YWI1ZWQ4NWQwIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGlsLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jCkBAIC03MiwxMCArNzIsNiBAQCBpbnQgdHRtX2Jv X21vdmVfdHRtKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJCW9sZF9tZW0tPm1lbV90 eXBlID0gVFRNX1BMX1NZU1RFTTsKIAl9CiAKLQlyZXQgPSB0dG1fdHRfc2V0X3BsYWNlbWVudF9j YWNoaW5nKHR0bSwgbmV3X21lbS0+cGxhY2VtZW50KTsKLQlpZiAodW5saWtlbHkocmV0ICE9IDAp KQotCQlyZXR1cm4gcmV0OwotCiAJaWYgKG5ld19tZW0tPm1lbV90eXBlICE9IFRUTV9QTF9TWVNU RU0pIHsKIAogCQlyZXQgPSB0dG1fdHRfcG9wdWxhdGUoYm8tPmJkZXYsIHR0bSwgY3R4KTsKQEAg LTEzNSw3ICsxMzEsNyBAQCBzdGF0aWMgaW50IHR0bV9yZXNvdXJjZV9pb3JlbWFwKHN0cnVjdCB0 dG1fYm9fZGV2aWNlICpiZGV2LAogCX0gZWxzZSB7CiAJCXNpemVfdCBidXNfc2l6ZSA9IChzaXpl X3QpbWVtLT5udW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKIAotCQlpZiAobWVtLT5wbGFjZW1lbnQg JiBUVE1fUExfRkxBR19XQykKKwkJaWYgKG1lbS0+YnVzLmNhY2hpbmcgPT0gdHRtX3dyaXRlX2Nv bWJpbmVkKQogCQkJYWRkciA9IGlvcmVtYXBfd2MobWVtLT5idXMub2Zmc2V0LCBidXNfc2l6ZSk7 CiAJCWVsc2UKIAkJCWFkZHIgPSBpb3JlbWFwKG1lbS0+YnVzLm9mZnNldCwgYnVzX3NpemUpOwpA QCAtNDI3LDcgKzQyMyw3IEBAIHN0YXRpYyBpbnQgdHRtX2JvX2lvcmVtYXAoc3RydWN0IHR0bV9i dWZmZXJfb2JqZWN0ICpibywKIAkJbWFwLT52aXJ0dWFsID0gKHZvaWQgKikoKCh1OCAqKWJvLT5t ZW0uYnVzLmFkZHIpICsgb2Zmc2V0KTsKIAl9IGVsc2UgewogCQltYXAtPmJvX2ttYXBfdHlwZSA9 IHR0bV9ib19tYXBfaW9tYXA7Ci0JCWlmIChtZW0tPnBsYWNlbWVudCAmIFRUTV9QTF9GTEFHX1dD KQorCQlpZiAobWVtLT5idXMuY2FjaGluZyA9PSB0dG1fd3JpdGVfY29tYmluZWQpCiAJCQltYXAt PnZpcnR1YWwgPSBpb3JlbWFwX3djKGJvLT5tZW0uYnVzLm9mZnNldCArIG9mZnNldCwKIAkJCQkJ CSAgc2l6ZSk7CiAJCWVsc2UKQEAgLTQ1Nyw3ICs0NTMsNyBAQCBzdGF0aWMgaW50IHR0bV9ib19r bWFwX3R0bShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CiAKLQlpZiAobnVtX3BhZ2VzID09IDEgJiYgKG1lbS0+cGxhY2VtZW50ICYgVFRNX1BM X0ZMQUdfQ0FDSEVEKSkgeworCWlmIChudW1fcGFnZXMgPT0gMSAmJiB0dG0tPmNhY2hpbmcgPT0g dHRtX2NhY2hlZCkgewogCQkvKgogCQkgKiBXZSdyZSBtYXBwaW5nIGEgc2luZ2xlIHBhZ2UsIGFu ZCB0aGUgZGVzaXJlZAogCQkgKiBwYWdlIHByb3RlY3Rpb24gaXMgY29uc2lzdGVudCB3aXRoIHRo ZSBiby4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3R0LmMgYi9kcml2ZXJz L2dwdS9kcm0vdHRtL3R0bV90dC5jCmluZGV4IGE0NjVmNTFkZjAyNy4uM2U1ZGQ2MjcxZDRjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV90dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS90dG0vdHRtX3R0LmMKQEAgLTExNCwzNSArMTE0LDYgQEAgc3RhdGljIGludCB0dG1fc2df dHRfYWxsb2NfcGFnZV9kaXJlY3Rvcnkoc3RydWN0IHR0bV9kbWFfdHQgKnR0bSkKIAlyZXR1cm4g MDsKIH0KIAotc3RhdGljIGludCB0dG1fdHRfc2V0X2NhY2hpbmcoc3RydWN0IHR0bV90dCAqdHRt LCBlbnVtIHR0bV9jYWNoaW5nIGNhY2hpbmcpCi17Ci0JaWYgKHR0bS0+Y2FjaGluZyA9PSBjYWNo aW5nKQotCQlyZXR1cm4gMDsKLQotCS8qIENhbid0IGNoYW5nZSB0aGUgY2FjaGluZyBzdGF0ZSBh ZnRlciBUVCBpcyBwb3B1bGF0ZWQgKi8KLQlpZiAoV0FSTl9PTl9PTkNFKHR0bV90dF9pc19wb3B1 bGF0ZWQodHRtKSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JdHRtLT5jYWNoaW5nID0gY2FjaGlu ZzsKLQotCXJldHVybiAwOwotfQotCi1pbnQgdHRtX3R0X3NldF9wbGFjZW1lbnRfY2FjaGluZyhz dHJ1Y3QgdHRtX3R0ICp0dG0sIHVpbnQzMl90IHBsYWNlbWVudCkKLXsKLQllbnVtIHR0bV9jYWNo aW5nIHN0YXRlOwotCi0JaWYgKHBsYWNlbWVudCAmIFRUTV9QTF9GTEFHX1dDKQotCQlzdGF0ZSA9 IHR0bV93cml0ZV9jb21iaW5lZDsKLQllbHNlIGlmIChwbGFjZW1lbnQgJiBUVE1fUExfRkxBR19V TkNBQ0hFRCkKLQkJc3RhdGUgPSB0dG1fdW5jYWNoZWQ7Ci0JZWxzZQotCQlzdGF0ZSA9IHR0bV9j YWNoZWQ7Ci0KLQlyZXR1cm4gdHRtX3R0X3NldF9jYWNoaW5nKHR0bSwgc3RhdGUpOwotfQotRVhQ T1JUX1NZTUJPTCh0dG1fdHRfc2V0X3BsYWNlbWVudF9jYWNoaW5nKTsKLQogdm9pZCB0dG1fdHRf ZGVzdHJveV9jb21tb24oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHN0cnVjdCB0dG1fdHQg KnR0bSkKIHsKIAl0dG1fdHRfdW5wb3B1bGF0ZShiZGV2LCB0dG0pOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfdHRtX2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfdHRtX2J1ZmZlci5jCmluZGV4IGZhZTg4OTY5YTE1YS4uMTEyMjUzMjQ2 ZjA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF90dG1fYnVmZmVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfdHRtX2J1ZmZlci5jCkBAIC0z NCwyOCArMzQsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0dG1fcGxhY2UgdnJhbV9wbGFjZW1l bnRfZmxhZ3MgPSB7CiAJLmZwZm4gPSAwLAogCS5scGZuID0gMCwKIAkubWVtX3R5cGUgPSBUVE1f UExfVlJBTSwKLQkuZmxhZ3MgPSBUVE1fUExfRkxBR19DQUNIRUQKKwkuZmxhZ3MgPSAwCiB9Owog CiBzdGF0aWMgY29uc3Qgc3RydWN0IHR0bV9wbGFjZSBzeXNfcGxhY2VtZW50X2ZsYWdzID0gewog CS5mcGZuID0gMCwKIAkubHBmbiA9IDAsCiAJLm1lbV90eXBlID0gVFRNX1BMX1NZU1RFTSwKLQku ZmxhZ3MgPSBUVE1fUExfRkxBR19DQUNIRUQKKwkuZmxhZ3MgPSAwCiB9OwogCiBzdGF0aWMgY29u c3Qgc3RydWN0IHR0bV9wbGFjZSBnbXJfcGxhY2VtZW50X2ZsYWdzID0gewogCS5mcGZuID0gMCwK IAkubHBmbiA9IDAsCiAJLm1lbV90eXBlID0gVk1XX1BMX0dNUiwKLQkuZmxhZ3MgPSBUVE1fUExf RkxBR19DQUNIRUQKKwkuZmxhZ3MgPSAwCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHR0bV9w bGFjZSBtb2JfcGxhY2VtZW50X2ZsYWdzID0gewogCS5mcGZuID0gMCwKIAkubHBmbiA9IDAsCiAJ Lm1lbV90eXBlID0gVk1XX1BMX01PQiwKLQkuZmxhZ3MgPSBUVE1fUExfRkxBR19DQUNIRUQKKwku ZmxhZ3MgPSAwCiB9OwogCiBzdHJ1Y3QgdHRtX3BsYWNlbWVudCB2bXdfdnJhbV9wbGFjZW1lbnQg PSB7CkBAIC03MCwxMiArNzAsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0dG1fcGxhY2UgdnJh bV9nbXJfcGxhY2VtZW50X2ZsYWdzW10gPSB7CiAJCS5mcGZuID0gMCwKIAkJLmxwZm4gPSAwLAog CQkubWVtX3R5cGUgPSBUVE1fUExfVlJBTSwKLQkJLmZsYWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVE CisJCS5mbGFncyA9IDAKIAl9LCB7CiAJCS5mcGZuID0gMCwKIAkJLmxwZm4gPSAwLAogCQkubWVt X3R5cGUgPSBWTVdfUExfR01SLAotCQkuZmxhZ3MgPSBUVE1fUExfRkxBR19DQUNIRUQKKwkJLmZs YWdzID0gMAogCX0KIH07CiAKQEAgLTg0LDEyICs4NCwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHR0bV9wbGFjZSBnbXJfdnJhbV9wbGFjZW1lbnRfZmxhZ3NbXSA9IHsKIAkJLmZwZm4gPSAwLAog CQkubHBmbiA9IDAsCiAJCS5tZW1fdHlwZSA9IFZNV19QTF9HTVIsCi0JCS5mbGFncyA9IFRUTV9Q TF9GTEFHX0NBQ0hFRAorCQkuZmxhZ3MgPSAwCiAJfSwgewogCQkuZnBmbiA9IDAsCiAJCS5scGZu ID0gMCwKIAkJLm1lbV90eXBlID0gVFRNX1BMX1ZSQU0sCi0JCS5mbGFncyA9IFRUTV9QTF9GTEFH X0NBQ0hFRAorCQkuZmxhZ3MgPSAwCiAJfQogfTsKIApAQCAtMTE5LDIyICsxMTksMjIgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCB0dG1fcGxhY2UgZXZpY3RhYmxlX3BsYWNlbWVudF9mbGFnc1tdID0g ewogCQkuZnBmbiA9IDAsCiAJCS5scGZuID0gMCwKIAkJLm1lbV90eXBlID0gVFRNX1BMX1NZU1RF TSwKLQkJLmZsYWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVECisJCS5mbGFncyA9IDAKIAl9LCB7CiAJ CS5mcGZuID0gMCwKIAkJLmxwZm4gPSAwLAogCQkubWVtX3R5cGUgPSBUVE1fUExfVlJBTSwKLQkJ LmZsYWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVECisJCS5mbGFncyA9IDAKIAl9LCB7CiAJCS5mcGZu ID0gMCwKIAkJLmxwZm4gPSAwLAogCQkubWVtX3R5cGUgPSBWTVdfUExfR01SLAotCQkuZmxhZ3Mg PSBUVE1fUExfRkxBR19DQUNIRUQKKwkJLmZsYWdzID0gMAogCX0sIHsKIAkJLmZwZm4gPSAwLAog CQkubHBmbiA9IDAsCiAJCS5tZW1fdHlwZSA9IFZNV19QTF9NT0IsCi0JCS5mbGFncyA9IFRUTV9Q TF9GTEFHX0NBQ0hFRAorCQkuZmxhZ3MgPSAwCiAJfQogfTsKIApAQCAtMTQzLDE3ICsxNDMsMTcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0dG1fcGxhY2Ugbm9uZml4ZWRfcGxhY2VtZW50X2ZsYWdz W10gPSB7CiAJCS5mcGZuID0gMCwKIAkJLmxwZm4gPSAwLAogCQkubWVtX3R5cGUgPSBUVE1fUExf U1lTVEVNLAotCQkuZmxhZ3MgPSBUVE1fUExfRkxBR19DQUNIRUQKKwkJLmZsYWdzID0gMAogCX0s IHsKIAkJLmZwZm4gPSAwLAogCQkubHBmbiA9IDAsCiAJCS5tZW1fdHlwZSA9IFZNV19QTF9HTVIs Ci0JCS5mbGFncyA9IFRUTV9QTF9GTEFHX0NBQ0hFRAorCQkuZmxhZ3MgPSAwCiAJfSwgewogCQku ZnBmbiA9IDAsCiAJCS5scGZuID0gMCwKIAkJLm1lbV90eXBlID0gVk1XX1BMX01PQiwKLQkJLmZs YWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVECisJCS5mbGFncyA9IDAKIAl9CiB9OwogCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS90dG0vdHRtX3BsYWNlbWVudC5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0 bV9wbGFjZW1lbnQuaAppbmRleCA1MGU3MmRmNDhiOGQuLmFhNmJhNGQwY2Y3OCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9wbGFjZW1lbnQuaAorKysgYi9pbmNsdWRlL2RybS90dG0v dHRtX3BsYWNlbWVudC5oCkBAIC00MywyNyArNDMsMTMgQEAKICNkZWZpbmUgVFRNX1BMX1BSSVYg ICAgICAgICAgICAgMwogCiAvKgotICogT3RoZXIgZmxhZ3MgdGhhdCBhZmZlY3RzIGRhdGEgcGxh Y2VtZW50LgotICogVFRNX1BMX0ZMQUdfQ0FDSEVEIGluZGljYXRlcyBjYWNoZS1jb2hlcmVudCBt YXBwaW5ncwotICogaWYgYXZhaWxhYmxlLgotICogVFRNX1BMX0ZMQUdfU0hBUkVEIG1lYW5zIHRo YXQgYW5vdGhlciBhcHBsaWNhdGlvbiBtYXkKLSAqIHJlZmVyZW5jZSB0aGUgYnVmZmVyLgotICog VFRNX1BMX0ZMQUdfTk9fRVZJQ1QgbWVhbnMgdGhhdCB0aGUgYnVmZmVyIG1heSBuZXZlcgotICog YmUgZXZpY3RlZCB0byBtYWtlIHJvb20gZm9yIG90aGVyIGJ1ZmZlcnMuCiAgKiBUVE1fUExfRkxB R19UT1BET1dOIHJlcXVlc3RzIHRvIGJlIHBsYWNlZCBmcm9tIHRoZQogICogdG9wIG9mIHRoZSBt ZW1vcnkgYXJlYSwgaW5zdGVhZCBvZiB0aGUgYm90dG9tLgogICovCiAKLSNkZWZpbmUgVFRNX1BM X0ZMQUdfQ0FDSEVEICAgICAgKDEgPDwgMTYpCi0jZGVmaW5lIFRUTV9QTF9GTEFHX1VOQ0FDSEVE ICAgICgxIDw8IDE3KQotI2RlZmluZSBUVE1fUExfRkxBR19XQyAgICAgICAgICAoMSA8PCAxOCkK ICNkZWZpbmUgVFRNX1BMX0ZMQUdfQ09OVElHVU9VUyAgKDEgPDwgMTkpCiAjZGVmaW5lIFRUTV9Q TF9GTEFHX1RPUERPV04gICAgICgxIDw8IDIyKQogCi0jZGVmaW5lIFRUTV9QTF9NQVNLX0NBQ0hJ TkcgICAgIChUVE1fUExfRkxBR19DQUNIRUQgfCBcCi0JCQkJIFRUTV9QTF9GTEFHX1VOQ0FDSEVE IHwgXAotCQkJCSBUVE1fUExfRkxBR19XQykKLQogLyoqCiAgKiBzdHJ1Y3QgdHRtX3BsYWNlCiAg KgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV90dC5oIGIvaW5jbHVkZS9kcm0vdHRt L3R0bV90dC5oCmluZGV4IGMzOWM3MjJkNTE4NC4uZTA0MmRlYzVlNmMxIDEwMDY0NAotLS0gYS9p bmNsdWRlL2RybS90dG0vdHRtX3R0LmgKKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV90dC5oCkBA IC0xNjQsMjEgKzE2NCw2IEBAIHZvaWQgdHRtX3R0X2Rlc3Ryb3lfY29tbW9uKHN0cnVjdCB0dG1f Ym9fZGV2aWNlICpiZGV2LCBzdHJ1Y3QgdHRtX3R0ICp0dG0pOwogICogU3dhcCBpbiBhIHByZXZp b3VzbHkgc3dhcCBvdXQgdHRtX3R0LgogICovCiBpbnQgdHRtX3R0X3N3YXBpbihzdHJ1Y3QgdHRt X3R0ICp0dG0pOwotCi0vKioKLSAqIHR0bV90dF9zZXRfcGxhY2VtZW50X2NhY2hpbmc6Ci0gKgot ICogQHR0bSBBIHN0cnVjdCB0dG1fdHQgdGhlIGJhY2tpbmcgcGFnZXMgb2Ygd2hpY2ggd2lsbCBj aGFuZ2UgY2FjaGluZyBwb2xpY3kuCi0gKiBAcGxhY2VtZW50OiBGbGFnIGluZGljYXRpbmcgdGhl IGRlc2lyZWQgY2FjaGluZyBwb2xpY3kuCi0gKgotICogVGhpcyBmdW5jdGlvbiB3aWxsIGNoYW5n ZSBjYWNoaW5nIHBvbGljeSBvZiBhbnkgZGVmYXVsdCBrZXJuZWwgbWFwcGluZ3Mgb2YKLSAqIHRo ZSBwYWdlcyBiYWNraW5nIEB0dG0uIElmIGNoYW5naW5nIGZyb20gY2FjaGVkIHRvIHVuY2FjaGVk IG9yCi0gKiB3cml0ZS1jb21iaW5lZCwKLSAqIGFsbCBDUFUgY2FjaGVzIHdpbGwgZmlyc3QgYmUg Zmx1c2hlZCB0byBtYWtlIHN1cmUgdGhlIGRhdGEgb2YgdGhlIHBhZ2VzCi0gKiBoaXQgUkFNLiBU aGlzIGZ1bmN0aW9uIG1heSBiZSB2ZXJ5IGNvc3RseSBhcyBpdCBpbnZvbHZlcyBnbG9iYWwgVExC Ci0gKiBhbmQgY2FjaGUgZmx1c2hlcyBhbmQgcG90ZW50aWFsIHBhZ2Ugc3BsaXR0aW5nIC8gY29t YmluaW5nLgotICovCi1pbnQgdHRtX3R0X3NldF9wbGFjZW1lbnRfY2FjaGluZyhzdHJ1Y3QgdHRt X3R0ICp0dG0sIHVpbnQzMl90IHBsYWNlbWVudCk7CiBpbnQgdHRtX3R0X3N3YXBvdXQoc3RydWN0 IHR0bV9ib19kZXZpY2UgKmJkZXYsIHN0cnVjdCB0dG1fdHQgKnR0bSk7CiAKIC8qKgotLSAKMi4x Ny4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK