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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 34A51C2B9F4 for ; Fri, 25 Jun 2021 10:38:47 +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 EFBF961441 for ; Fri, 25 Jun 2021 10:38:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EFBF961441 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7BEC76ED1E; Fri, 25 Jun 2021 10:38:46 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 262F06ED1B; Fri, 25 Jun 2021 10:38:46 +0000 (UTC) IronPort-SDR: JubIoe0OJJPL26YqkbC2fqRyJ56RsZS/WIWlFKy4U5Rt7YjvDfIn1tpRnNykfnGsZW7UK4P0hz E7wCVPVsvIwQ== X-IronPort-AV: E=McAfee;i="6200,9189,10025"; a="207466383" X-IronPort-AV: E=Sophos;i="5.83,298,1616482800"; d="scan'208";a="207466383" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2021 03:38:45 -0700 IronPort-SDR: bS+6Ps3K+pm70TrKxfES2Xhm2eXf0TTTRhTVn4XUHu7RTyBkLLiov7aSs4oS8eUII9gOgWif+/ I8/e6sDCfnoA== X-IronPort-AV: E=Sophos;i="5.83,298,1616482800"; d="scan'208";a="488139134" Received: from adalyx-mobl1.ger.corp.intel.com (HELO mwauld-desk1.intel.com) ([10.252.15.48]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2021 03:38:43 -0700 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Date: Fri, 25 Jun 2021 11:38:23 +0100 Message-Id: <20210625103824.558481-1-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v3 1/2] drm/i915: support forcing the page size with lmem X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Rm9yIHNvbWUgc3BlY2lhbGlzZWQgb2JqZWN0cyB3ZSBtaWdodCBuZWVkIHNvbWV0aGluZyBsYXJn ZXIgdGhhbiB0aGUKcmVnaW9ucyBtaW5fcGFnZV9zaXplIGR1ZSB0byBzb21lIGh3IHJlc3RyaWN0 aW9uLCBhbmQgc2xpZ2h0bHkgbW9yZQpoYWlyeSBpcyBuZWVkaW5nIHNvbWV0aGluZyBzbWFsbGVy IHdpdGggdGhlIGd1YXJhbnRlZSB0aGF0IHN1Y2ggb2JqZWN0cwp3aWxsIG5ldmVyIGJlIGluc2Vy dGVkIGludG8gYW55IEdUVCwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSBwYWdpbmcKc3RydWN0 dXJlcy4KClRoaXMgYWxzbyBmaXhlcyBob3cgd2Ugc2V0dXAgdGhlIEJPIHBhZ2VfYWxpZ25tZW50 LCBpZiB3ZSBsYXRlciBtaWdyYXRlCnRoZSBvYmplY3Qgc29tZXdoZXJlIGVsc2UuIEZvciBleGFt cGxlIGlmIHRoZSBwbGFjZW1lbnRzIGFyZSB7U01FTSwKTE1FTX0sIHRoZW4gd2UgbWlnaHQgZ2V0 IHRoaXMgd3JvbmcuIFB1c2hpbmcgdGhlIG1pbl9wYWdlX3NpemUgYmVoYXZpb3VyCmludG8gdGhl IG1hbmFnZXIgc2hvdWxkIGZpeCB0aGlzLgoKdjIoVGhvbWFzKTogcHVzaCB0aGUgZGVmYXVsdCBw YWdlIHNpemUgYmVoYXZpb3VyIGludG8gYnVkZHlfbWFuLCBhbmQgbGV0CnRoZSB1c2VyIG92ZXJy aWRlIGl0IHdpdGggdGhlIHBhZ2UtYWxpZ25tZW50LCB3aGljaCBsb29rcyBjbGVhbmVyCgp2Mzog cmViYXNlIG9uIHR0bSBzeXMgY2hhbmdlcwoKU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxt YXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxs c3Ryb21AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRo b21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9jcmVhdGUuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fbG1lbS5jICAgICAgfCAzMyArKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5oICAgICAgfCAgNSArKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5jICAgIHwgMTMgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5oICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3NobWVtLmMgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9zdG9sZW4uYyAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fdHRtLmMgICAgICAgfCAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3R0bS5oICAgICAgIHwgIDEgKwogLi4uL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3Rz L2h1Z2VfcGFnZXMuYyAgIHwgIDMgKy0KIC4uLi9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVf Z2VtX21tYW4uYyAgICB8ICA4ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90dG1fYnVk ZHlfbWFuYWdlci5jIHwgMTQgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHRtX2J1 ZGR5X21hbmFnZXIuaCB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlf cmVnaW9uLmggICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRt LmMgICAgICAgfCAgNCArLQogLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVn aW9uLmMgIHwgNjMgKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfcmVnaW9uLmMgIHwgIDEgKwogMTcgZmlsZXMgY2hhbmdlZCwgMTQzIGluc2Vy dGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9jcmVhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9jcmVhdGUuYwppbmRleCA5M2JmNjNiYmFmZjEuLjUxZjkyZTRiMWE2OSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NyZWF0ZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jcmVhdGUuYwpAQCAtOTAsNyArOTAsNyBAQCBp OTE1X2dlbV9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1NjQgc2l6ZSkK IAkgKi8KIAlmbGFncyA9IEk5MTVfQk9fQUxMT0NfVVNFUjsKIAotCXJldCA9IG1yLT5vcHMtPmlu aXRfb2JqZWN0KG1yLCBvYmosIHNpemUsIGZsYWdzKTsKKwlyZXQgPSBtci0+b3BzLT5pbml0X29i amVjdChtciwgb2JqLCBzaXplLCAwLCBmbGFncyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKaW5kZXggNDFkNTE4MmNk MzY3Li5hNzk1ZGQzOGFjYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9sbWVtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xt ZW0uYwpAQCAtOTMsMTEgKzkzLDQyIEBAIGJvb2wgX19pOTE1X2dlbV9vYmplY3RfaXNfbG1lbShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkgICAgICBtci0+dHlwZSA9PSBJTlRF TF9NRU1PUllfU1RPTEVOX0xPQ0FMKTsKIH0KIAorLyoqCisgKiBfX2k5MTVfZ2VtX29iamVjdF9j cmVhdGVfbG1lbV93aXRoX3BzIC0gQ3JlYXRlIGxtZW0gb2JqZWN0IGFuZCBmb3JjZSB0aGUKKyAq IG1pbmltdW0gcGFnZSBzaXplIGZvciB0aGUgYmFja2luZyBwYWdlcy4KKyAqIEBpOTE1OiBUaGUg aTkxNSBpbnN0YW5jZS4KKyAqIEBzaXplOiBUaGUgc2l6ZSBpbiBieXRlcyBmb3IgdGhlIG9iamVj dC4gTm90ZSB0aGF0IHdlIG5lZWQgdG8gcm91bmQgdGhlIHNpemUKKyAqIHVwIGRlcGVuZGluZyBv biB0aGUgQHBhZ2Vfc2l6ZS4gVGhlIGZpbmFsIG9iamVjdCBzaXplIGNhbiBiZSBmaXNoZWQgb3V0 IGZyb20KKyAqIHRoZSBkcm0gR0VNIG9iamVjdC4KKyAqIEBwYWdlX3NpemU6IFRoZSByZXF1ZXN0 ZWQgbWluaW11bSBwYWdlIHNpemUgaW4gYnl0ZXMgZm9yIHRoaXMgb2JqZWN0LiBUaGlzIGlzCisg KiB1c2VmdWwgaWYgd2UgbmVlZCBzb21ldGhpbmcgYmlnZ2VyIHRoYW4gdGhlIHJlZ2lvbnMgbWlu X3BhZ2Vfc2l6ZSBkdWUgdG8gc29tZQorICogaHcgcmVzdHJpY3Rpb24sIG9yIGluIHNvbWUgdmVy eSBzcGVjaWFsaXNlZCBjYXNlcyB3aGVyZSBpdCBuZWVkcyB0byBiZQorICogc21hbGxlciwgd2hl cmUgdGhlIGludGVybmFsIGZyYWdtZW50YXRpb24gY29zdCBpcyB0b28gZ3JlYXQgd2hlbiByb3Vu ZGluZyB1cAorICogdGhlIG9iamVjdCBzaXplLgorICogQGZsYWdzOiBUaGUgb3B0aW9uYWwgQk8g YWxsb2NhdGlvbiBmbGFncy4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpbnRlcmZhY2UgYXNzdW1l cyB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgd2hlbiBmb3JjaW5nIHRoZQorICogQHBhZ2Vf c2l6ZS4gSWYgdGhpcyBpcyBzbWFsbGVyIHRoYW4gdGhlIHJlZ2lvbnMgbWluX3BhZ2Vfc2l6ZSB0 aGVuIGl0IGNhbgorICogbmV2ZXIgYmUgaW5zZXJ0ZWQgaW50byBhbnkgR1RULCBvdGhlcndpc2Ug aXQgbWlnaHQgbGVhZCB0byB1bmRlZmluZWQKKyAqIGJlaGF2aW91ci4KKyAqCisgKiBSZXR1cm46 IFRoZSBvYmplY3QgcG9pbnRlciwgd2hpY2ggbWlnaHQgYmUgYW4gRVJSX1BUUiBpbiB0aGUgY2Fz ZSBvZiBmYWlsdXJlLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCitfX2k5MTVf Z2VtX29iamVjdF9jcmVhdGVfbG1lbV93aXRoX3BzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LAorCQkJCSAgICAgIHJlc291cmNlX3NpemVfdCBzaXplLAorCQkJCSAgICAgIHJlc291cmNl X3NpemVfdCBwYWdlX3NpemUsCisJCQkJICAgICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXJl dHVybiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lvbihpOTE1LT5tbS5yZWdpb25zW0lOVEVM X1JFR0lPTl9MTUVNXSwKKwkJCQkJICAgICBzaXplLCBwYWdlX3NpemUsIGZsYWdzKTsKK30KKwog c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9sbWVt KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICAgIHJlc291cmNlX3NpemVfdCBz aXplLAogCQkJICAgIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlyZXR1cm4gaTkxNV9nZW1fb2Jq ZWN0X2NyZWF0ZV9yZWdpb24oaTkxNS0+bW0ucmVnaW9uc1tJTlRFTF9SRUdJT05fTE1FTV0sCi0J CQkJCSAgICAgc2l6ZSwgZmxhZ3MpOworCQkJCQkgICAgIHNpemUsIDAsIGZsYWdzKTsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5oCmluZGV4IDI3YTYxMWRlYmE0Ny4u NGVlODFmYzY2MzAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fbG1lbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmgK QEAgLTIzLDYgKzIzLDExIEBAIGJvb2wgaTkxNV9nZW1fb2JqZWN0X2lzX2xtZW0oc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIGJvb2wgX19pOTE1X2dlbV9vYmplY3RfaXNfbG1l bShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIAorc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKgorX19pOTE1X2dlbV9vYmplY3RfY3JlYXRlX2xtZW1fd2l0aF9wcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCQkgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwK KwkJCQkgICAgICByZXNvdXJjZV9zaXplX3QgcGFnZV9zaXplLAorCQkJCSAgICAgIHVuc2lnbmVk IGludCBmbGFncyk7CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCiBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlX2xtZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCQkgICAgcmVz b3VyY2Vfc2l6ZV90IHNpemUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVn aW9uLmMKaW5kZXggNDkyNTU2MzAxOGI0Li4xZjU1N2IyMTc4ZWQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKQEAgLTMyLDkgKzMyLDExIEBAIHZvaWQgaTkx NV9nZW1fb2JqZWN0X3JlbGVhc2VfbWVtb3J5X3JlZ2lvbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9yZWdpb24oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAkJCSAgICAg IHJlc291cmNlX3NpemVfdCBzaXplLAorCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHBhZ2Vfc2l6 ZSwKIAkJCSAgICAgIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqOworCXJlc291cmNlX3NpemVfdCBkZWZhdWx0X3BhZ2Vfc2l6ZTsKIAlpbnQg ZXJyOwogCiAJLyoKQEAgLTQ4LDcgKzUwLDE0IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfcmVn aW9uKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJaWYgKCFtZW0pCiAJCXJldHVy biBFUlJfUFRSKC1FTk9ERVYpOwogCi0Jc2l6ZSA9IHJvdW5kX3VwKHNpemUsIG1lbS0+bWluX3Bh Z2Vfc2l6ZSk7CisJZGVmYXVsdF9wYWdlX3NpemUgPSBtZW0tPm1pbl9wYWdlX3NpemU7CisJaWYg KHBhZ2Vfc2l6ZSkKKwkJZGVmYXVsdF9wYWdlX3NpemUgPSBwYWdlX3NpemU7CisKKwlHRU1fQlVH X09OKCFpc19wb3dlcl9vZl8yX3U2NChkZWZhdWx0X3BhZ2Vfc2l6ZSkpOworCUdFTV9CVUdfT04o ZGVmYXVsdF9wYWdlX3NpemUgPCBQQUdFX1NJWkUpOworCisJc2l6ZSA9IHJvdW5kX3VwKHNpemUs IGRlZmF1bHRfcGFnZV9zaXplKTsKIAogCUdFTV9CVUdfT04oIXNpemUpOwogCUdFTV9CVUdfT04o IUlTX0FMSUdORUQoc2l6ZSwgSTkxNV9HVFRfTUlOX0FMSUdOTUVOVCkpOwpAQCAtNjAsNyArNjks NyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lvbihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3Jl Z2lvbiAqbWVtLAogCWlmICghb2JqKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCWVy ciA9IG1lbS0+b3BzLT5pbml0X29iamVjdChtZW0sIG9iaiwgc2l6ZSwgZmxhZ3MpOworCWVyciA9 IG1lbS0+b3BzLT5pbml0X29iamVjdChtZW0sIG9iaiwgc2l6ZSwgcGFnZV9zaXplLCBmbGFncyk7 CiAJaWYgKGVycikKIAkJZ290byBlcnJfb2JqZWN0X2ZyZWU7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uaAppbmRleCA4NGZjYjMyOTc0MDAuLjEwMDhlNTgwYTg5 YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uaApAQCAtMTks NiArMTksNyBAQCB2b2lkIGk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24oc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lvbihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3Jl Z2lvbiAqbWVtLAogCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUsCisJCQkgICAgICByZXNv dXJjZV9zaXplX3QgcGFnZV9zaXplLAogCQkJICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKIAog I2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2ht ZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1lbS5jCmluZGV4IGU5 YWM5MTNiOTIzYS4uNmEwNGNjZTE4OGZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fc2htZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fc2htZW0uYwpAQCAtNDkwLDYgKzQ5MCw3IEBAIHN0YXRpYyBpbnQgX19jcmVhdGVfc2ht ZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiBzdGF0aWMgaW50IHNobWVtX29iamVj dF9pbml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJCQkgICAgIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICAgIHJlc291cmNlX3NpemVfdCBzaXplLAor CQkJICAgICByZXNvdXJjZV9zaXplX3QgcGFnZV9zaXplLAogCQkJICAgICB1bnNpZ25lZCBpbnQg ZmxhZ3MpCiB7CiAJc3RhdGljIHN0cnVjdCBsb2NrX2NsYXNzX2tleSBsb2NrX2NsYXNzOwpAQCAt NTQ4LDcgKzU0OSw3IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW0oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsCiAJCQkgICAgIHJlc291cmNlX3NpemVfdCBzaXplKQogewogCXJl dHVybiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lvbihpOTE1LT5tbS5yZWdpb25zW0lOVEVM X1JFR0lPTl9TTUVNXSwKLQkJCQkJICAgICBzaXplLCAwKTsKKwkJCQkJICAgICBzaXplLCAwLCAw KTsKIH0KIAogLyogQWxsb2NhdGUgYSBuZXcgR0VNIG9iamVjdCBhbmQgZmlsbCBpdCB3aXRoIHRo ZSBzdXBwbGllZCBkYXRhICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc3Rv bGVuLmMKaW5kZXggYjBjM2E3ZGM2MGQxLi45MDcwOGRlMjc2ODQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zdG9sZW4uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc3RvbGVuLmMKQEAgLTY3MCw2ICs2NzAsNyBAQCBzdGF0aWMg aW50IF9faTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGludGVsX21lbW9yeV9y ZWdpb24gKm1lbSwKIHN0YXRpYyBpbnQgX2k5MTVfZ2VtX29iamVjdF9zdG9sZW5faW5pdChzdHJ1 Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAogCQkJCQlyZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkJCQkJcmVzb3VyY2Vfc2l6 ZV90IHBhZ2Vfc2l6ZSwKIAkJCQkJdW5zaWduZWQgaW50IGZsYWdzKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0gbWVtLT5pOTE1OwpAQCAtNzA4LDcgKzcwOSw3IEBAIHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNp emUpCiB7Ci0JcmV0dXJuIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfcmVnaW9uKGk5MTUtPm1tLnN0 b2xlbl9yZWdpb24sIHNpemUsIDApOworCXJldHVybiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3Jl Z2lvbihpOTE1LT5tbS5zdG9sZW5fcmVnaW9uLCBzaXplLCAwLCAwKTsKIH0KIAogc3RhdGljIGlu dCBpbml0X3N0b2xlbl9zbWVtKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMKaW5kZXggYzM5ZDk4MmM0ZmE2Li4xNWQx Mzc5ZGM3YjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90 dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMKQEAgLTg0 MCw2ICs4NDAsNyBAQCB2b2lkIGk5MTVfdHRtX2JvX2Rlc3Ryb3koc3RydWN0IHR0bV9idWZmZXJf b2JqZWN0ICpibykKIGludCBfX2k5MTVfZ2VtX3R0bV9vYmplY3RfaW5pdChzdHJ1Y3QgaW50ZWxf bWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCiAJCQkgICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUsCisJCQkgICAgICAgcmVzb3Vy Y2Vfc2l6ZV90IHBhZ2Vfc2l6ZSwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJ c3RhdGljIHN0cnVjdCBsb2NrX2NsYXNzX2tleSBsb2NrX2NsYXNzOwpAQCAtODYyLDYgKzg2Myw5 IEBAIGludCBfX2k5MTVfZ2VtX3R0bV9vYmplY3RfaW5pdChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3Jl Z2lvbiAqbWVtLAogCiAJb2JqLT5iYXNlLnZtYV9ub2RlLmRyaXZlcl9wcml2YXRlID0gaTkxNV9n ZW1fdG9fdHRtKG9iaik7CiAKKwkvKiBGb3JjaW5nIHRoZSBwYWdlIHNpemUgaXMga2VybmVsIGlu dGVybmFsIG9ubHkgKi8KKwlHRU1fQlVHX09OKHBhZ2Vfc2l6ZSAmJiBvYmotPm1tLm5fcGxhY2Vt ZW50cyk7CisKIAkvKgogCSAqIElmIHRoaXMgZnVuY3Rpb24gZmFpbHMsIGl0IHdpbGwgY2FsbCB0 aGUgZGVzdHJ1Y3RvciwgYnV0CiAJICogb3VyIGNhbGxlciBzdGlsbCBvd25zIHRoZSBvYmplY3Qu IFNvIG5vIGZyZWVpbmcgaW4gdGhlCkBAIC04NzEsNyArODc1LDcgQEAgaW50IF9faTkxNV9nZW1f dHRtX29iamVjdF9pbml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJICovCiAJ cmV0ID0gdHRtX2JvX2luaXRfcmVzZXJ2ZWQoJmk5MTUtPmJkZXYsIGk5MTVfZ2VtX3RvX3R0bShv YmopLCBzaXplLAogCQkJCSAgIGJvX3R5cGUsICZpOTE1X3N5c19wbGFjZW1lbnQsCi0JCQkJICAg bWVtLT5taW5fcGFnZV9zaXplID4+IFBBR0VfU0hJRlQsCisJCQkJICAgcGFnZV9zaXplID4+IFBB R0VfU0hJRlQsCiAJCQkJICAgJmN0eCwgTlVMTCwgTlVMTCwgaTkxNV90dG1fYm9fZGVzdHJveSk7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIGk5MTVfdHRtX2Vycl90b19nZW0ocmV0KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90dG0uaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90dG0uaAppbmRleCBiOGQzZGNiYjUwZGYuLjQwOTI3ZjY3 YjZkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90dG0uaApAQCAtNDQsNSAr NDQsNiBAQCBpOTE1X3R0bV90b19nZW0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKIGlu dCBfX2k5MTVfZ2VtX3R0bV9vYmplY3RfaW5pdChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAq bWVtLAogCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICAg ICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUsCisJCQkgICAgICAgcmVzb3VyY2Vfc2l6ZV90IHBhZ2Vf c2l6ZSwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogI2VuZGlmCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4IGNjYzY3ZWQx YTg0Yi4uYTA5NGYzY2UxYTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v c2VsZnRlc3RzL2h1Z2VfcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2Vs ZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtNDk2LDcgKzQ5Niw4IEBAIHN0YXRpYyBpbnQgaWd0X21v Y2tfbWVtb3J5X3JlZ2lvbl9odWdlX3BhZ2VzKHZvaWQgKmFyZykKIAkJaW50IGk7CiAKIAkJZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmxhZ3MpOyArK2kpIHsKLQkJCW9iaiA9IGk5MTVfZ2Vt X29iamVjdF9jcmVhdGVfcmVnaW9uKG1lbSwgcGFnZV9zaXplLAorCQkJb2JqID0gaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9yZWdpb24obWVtLAorCQkJCQkJCSAgICBwYWdlX3NpemUsIHBhZ2Vfc2l6 ZSwKIAkJCQkJCQkgICAgZmxhZ3NbaV0pOwogCQkJaWYgKElTX0VSUihvYmopKSB7CiAJCQkJZXJy ID0gUFRSX0VSUihvYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3Nl bGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRl c3RzL2k5MTVfZ2VtX21tYW4uYwppbmRleCA2MDdiN2QyZDRjMjkuLjFkYThiZDY3NWU1NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFu LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFu LmMKQEAgLTk1OCw3ICs5NTgsNyBAQCBzdGF0aWMgaW50IGlndF9tbWFwKHZvaWQgKmFyZykKIAkJ CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJCQlpbnQgZXJyOwogCi0JCQlvYmog PSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lvbihtciwgc2l6ZXNbaV0sIEk5MTVfQk9fQUxM T0NfVVNFUik7CisJCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lvbihtciwgc2l6 ZXNbaV0sIDAsIEk5MTVfQk9fQUxMT0NfVVNFUik7CiAJCQlpZiAob2JqID09IEVSUl9QVFIoLUVO T0RFVikpCiAJCQkJY29udGludWU7CiAKQEAgLTEwODQsNyArMTA4NCw3IEBAIHN0YXRpYyBpbnQg aWd0X21tYXBfYWNjZXNzKHZvaWQgKmFyZykKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iajsKIAkJaW50IGVycjsKIAotCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lv bihtciwgUEFHRV9TSVpFLCBJOTE1X0JPX0FMTE9DX1VTRVIpOworCQlvYmogPSBpOTE1X2dlbV9v YmplY3RfY3JlYXRlX3JlZ2lvbihtciwgUEFHRV9TSVpFLCAwLCBJOTE1X0JPX0FMTE9DX1VTRVIp OwogCQlpZiAob2JqID09IEVSUl9QVFIoLUVOT0RFVikpCiAJCQljb250aW51ZTsKIApAQCAtMTIy OSw3ICsxMjI5LDcgQEAgc3RhdGljIGludCBpZ3RfbW1hcF9ncHUodm9pZCAqYXJnKQogCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCQlpbnQgZXJyOwogCi0JCW9iaiA9IGk5MTVf Z2VtX29iamVjdF9jcmVhdGVfcmVnaW9uKG1yLCBQQUdFX1NJWkUsIEk5MTVfQk9fQUxMT0NfVVNF Uik7CisJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfcmVnaW9uKG1yLCBQQUdFX1NJWkUs IDAsIEk5MTVfQk9fQUxMT0NfVVNFUik7CiAJCWlmIChvYmogPT0gRVJSX1BUUigtRU5PREVWKSkK IAkJCWNvbnRpbnVlOwogCkBAIC0xMzg0LDcgKzEzODQsNyBAQCBzdGF0aWMgaW50IGlndF9tbWFw X3Jldm9rZSh2b2lkICphcmcpCiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJ CWludCBlcnI7CiAKLQkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9yZWdpb24obXIsIFBB R0VfU0laRSwgSTkxNV9CT19BTExPQ19VU0VSKTsKKwkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2Ny ZWF0ZV9yZWdpb24obXIsIFBBR0VfU0laRSwgMCwgSTkxNV9CT19BTExPQ19VU0VSKTsKIAkJaWYg KG9iaiA9PSBFUlJfUFRSKC1FTk9ERVYpKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHRtX2J1ZGR5X21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdHRtX2J1ZGR5X21hbmFnZXIuYwppbmRleCBmYzdhZDVjMDM1YjguLjJj MTQzMDM0Y2JkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90dG1fYnVk ZHlfbWFuYWdlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHRtX2J1ZGR5X21h bmFnZXIuYwpAQCAtMTgsNiArMTgsNyBAQCBzdHJ1Y3QgaTkxNV90dG1fYnVkZHlfbWFuYWdlciB7 CiAJc3RydWN0IGk5MTVfYnVkZHlfbW0gbW07CiAJc3RydWN0IGxpc3RfaGVhZCByZXNlcnZlZDsK IAlzdHJ1Y3QgbXV0ZXggbG9jazsKKwl1NjQgZGVmYXVsdF9wYWdlX3NpemU7CiB9OwogCiBzdGF0 aWMgc3RydWN0IGk5MTVfdHRtX2J1ZGR5X21hbmFnZXIgKgpAQCAtNTMsNyArNTQsMTAgQEAgc3Rh dGljIGludCBpOTE1X3R0bV9idWRkeV9tYW5fYWxsb2Moc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5h Z2VyICptYW4sCiAJR0VNX0JVR19PTighYm1hbl9yZXMtPmJhc2UubnVtX3BhZ2VzKTsKIAlzaXpl ID0gYm1hbl9yZXMtPmJhc2UubnVtX3BhZ2VzIDw8IFBBR0VfU0hJRlQ7CiAKLQltaW5fcGFnZV9z aXplID0gYm8tPnBhZ2VfYWxpZ25tZW50IDw8IFBBR0VfU0hJRlQ7CisJbWluX3BhZ2Vfc2l6ZSA9 IGJtYW4tPmRlZmF1bHRfcGFnZV9zaXplOworCWlmIChiby0+cGFnZV9hbGlnbm1lbnQpCisJCW1p bl9wYWdlX3NpemUgPSBiby0+cGFnZV9hbGlnbm1lbnQgPDwgUEFHRV9TSElGVDsKKwogCUdFTV9C VUdfT04obWluX3BhZ2Vfc2l6ZSA8IG1tLT5jaHVua19zaXplKTsKIAltaW5fb3JkZXIgPSBpbG9n MihtaW5fcGFnZV9zaXplKSAtIGlsb2cyKG1tLT5jaHVua19zaXplKTsKIAlpZiAocGxhY2UtPmZs YWdzICYgVFRNX1BMX0ZMQUdfQ09OVElHVU9VUykgewpAQCAtMTM0LDYgKzEzOCw5IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgdHRtX3Jlc291cmNlX21hbmFnZXJfZnVuYyBpOTE1X3R0bV9idWRkeV9t YW5hZ2VyX2Z1bmMgPSB7CiAgKiBAdHlwZTogTWVtb3J5IHR5cGUgd2Ugd2FudCB0byBtYW5hZ2UK ICAqIEB1c2VfdHQ6IFNldCB1c2VfdHQgZm9yIHRoZSBtYW5hZ2VyCiAgKiBAc2l6ZTogVGhlIHNp emUgaW4gYnl0ZXMgdG8gbWFuYWdlCisgKiBAZGVmYXVsdF9wYWdlX3NpemU6IFRoZSBkZWZhdWx0 IG1pbmltdW0gcGFnZSBzaXplIGluIGJ5dGVzIGZvciBhbGxvY2F0aW9ucywKKyAqIHRoaXMgbXVz dCBiZSBhdCBsZWFzdCBhcyBsYXJnZSBhcyBAY2h1bmtfc2l6ZSwgYW5kIGNhbiBiZSBvdmVycmlk ZW4gYnkKKyAqIHNldHRpbmcgdGhlIEJPIHBhZ2VfYWxpZ25tZW50LCB0byBiZSBsYXJnZXIgb3Ig c21hbGxlciBhcyBuZWVkZWQuCiAgKiBAY2h1bmtfc2l6ZTogVGhlIG1pbmltdW0gcGFnZSBzaXpl IGluIGJ5dGVzIGZvciBvdXIgYWxsb2NhdGlvbnMgaS5lCiAgKiBvcmRlci16ZXJvCiAgKgpAQCAt MTU0LDcgKzE2MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdHRtX3Jlc291cmNlX21hbmFnZXJf ZnVuYyBpOTE1X3R0bV9idWRkeV9tYW5hZ2VyX2Z1bmMgPSB7CiAgKi8KIGludCBpOTE1X3R0bV9i dWRkeV9tYW5faW5pdChzdHJ1Y3QgdHRtX2RldmljZSAqYmRldiwKIAkJCSAgICB1bnNpZ25lZCBp bnQgdHlwZSwgYm9vbCB1c2VfdHQsCi0JCQkgICAgdTY0IHNpemUsIHU2NCBjaHVua19zaXplKQor CQkJICAgIHU2NCBzaXplLCB1NjQgZGVmYXVsdF9wYWdlX3NpemUsCisJCQkgICAgdTY0IGNodW5r X3NpemUpCiB7CiAJc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW47CiAJc3RydWN0IGk5 MTVfdHRtX2J1ZGR5X21hbmFnZXIgKmJtYW47CkBAIC0xNzAsNiArMTc4LDggQEAgaW50IGk5MTVf dHRtX2J1ZGR5X21hbl9pbml0KHN0cnVjdCB0dG1fZGV2aWNlICpiZGV2LAogCiAJbXV0ZXhfaW5p dCgmYm1hbi0+bG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJmJtYW4tPnJlc2VydmVkKTsKKwlHRU1f QlVHX09OKGRlZmF1bHRfcGFnZV9zaXplIDwgY2h1bmtfc2l6ZSk7CisJYm1hbi0+ZGVmYXVsdF9w YWdlX3NpemUgPSBkZWZhdWx0X3BhZ2Vfc2l6ZTsKIAogCW1hbiA9ICZibWFuLT5tYW5hZ2VyOwog CW1hbi0+dXNlX3R0ID0gdXNlX3R0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV90dG1fYnVkZHlfbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90dG1f YnVkZHlfbWFuYWdlci5oCmluZGV4IDI2MDI2MjEzZTIwYS4uMDcyMmQzM2YzZTE0IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3R0bV9idWRkeV9tYW5hZ2VyLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90dG1fYnVkZHlfbWFuYWdlci5oCkBAIC00Niw3ICs0 Niw3IEBAIHRvX3R0bV9idWRkeV9yZXNvdXJjZShzdHJ1Y3QgdHRtX3Jlc291cmNlICpyZXMpCiAK IGludCBpOTE1X3R0bV9idWRkeV9tYW5faW5pdChzdHJ1Y3QgdHRtX2RldmljZSAqYmRldiwKIAkJ CSAgICB1bnNpZ25lZCB0eXBlLCBib29sIHVzZV90dCwKLQkJCSAgICB1NjQgc2l6ZSwgdTY0IGNo dW5rX3NpemUpOworCQkJICAgIHU2NCBzaXplLCB1NjQgZGVmYXVsdF9wYWdlX3NpemUsIHU2NCBj aHVua19zaXplKTsKIGludCBpOTE1X3R0bV9idWRkeV9tYW5fZmluaShzdHJ1Y3QgdHRtX2Rldmlj ZSAqYmRldiwKIAkJCSAgICB1bnNpZ25lZCBpbnQgdHlwZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21lbW9yeV9yZWdpb24uaAppbmRleCBiMWI5ZTQ2MWQ1M2IuLjFmMmI5NmVmYTY5 ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaApAQCAtNTUs NiArNTUsNyBAQCBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbl9vcHMgewogCWludCAoKmluaXRf b2JqZWN0KShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJICAgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgIHJlc291cmNlX3NpemVfdCBzaXplLAorCQkJ ICAgcmVzb3VyY2Vfc2l6ZV90IHBhZ2Vfc2l6ZSwKIAkJCSAgIHVuc2lnbmVkIGludCBmbGFncyk7 CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fdHRtLmMKaW5kZXggNGNkMTBm MzY0ZTg0Li45OGM3MzM5YmY4YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JlZ2lvbl90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25f dHRtLmMKQEAgLTg2LDcgKzg2LDggQEAgaW50IGludGVsX3JlZ2lvbl90dG1faW5pdChzdHJ1Y3Qg aW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQogCWludCByZXQ7CiAKIAlyZXQgPSBpOTE1X3R0bV9i dWRkeV9tYW5faW5pdChiZGV2LCBtZW1fdHlwZSwgZmFsc2UsCi0JCQkJICAgICAgcmVzb3VyY2Vf c2l6ZSgmbWVtLT5yZWdpb24pLCBQQUdFX1NJWkUpOworCQkJCSAgICAgIHJlc291cmNlX3NpemUo Jm1lbS0+cmVnaW9uKSwKKwkJCQkgICAgICBtZW0tPm1pbl9wYWdlX3NpemUsIFBBR0VfU0laRSk7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTY3LDcgKzE2OCw2IEBAIGludGVsX3Jl Z2lvbl90dG1fcmVzb3VyY2VfYWxsb2Moc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwK IAlpbnQgcmV0OwogCiAJbW9ja19iby5iYXNlLnNpemUgPSBzaXplOwotCW1vY2tfYm8ucGFnZV9h bGlnbm1lbnQgPSBtZW0tPm1pbl9wYWdlX3NpemUgPj4gUEFHRV9TSElGVDsKIAlwbGFjZS5mbGFn cyA9IGZsYWdzOwogCiAJcmV0ID0gbWFuLT5mdW5jLT5hbGxvYyhtYW4sICZtb2NrX2JvLCAmcGxh Y2UsICZyZXMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lu dGVsX21lbW9yeV9yZWdpb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRl bF9tZW1vcnlfcmVnaW9uLmMKaW5kZXggZWNjM2I5ZTZjMjJiLi4xYWFjY2I5ODQxYTAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9u LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdp b24uYwpAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgaW50IGlndF9tb2NrX2ZpbGwodm9pZCAqYXJn KQogCQlyZXNvdXJjZV9zaXplX3Qgc2l6ZSA9IHBhZ2VfbnVtICogcGFnZV9zaXplOwogCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCi0JCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9j cmVhdGVfcmVnaW9uKG1lbSwgc2l6ZSwgMCk7CisJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVh dGVfcmVnaW9uKG1lbSwgc2l6ZSwgMCwgMCk7CiAJCWlmIChJU19FUlIob2JqKSkgewogCQkJZXJy ID0gUFRSX0VSUihvYmopOwogCQkJYnJlYWs7CkBAIC0xMTAsNyArMTEwLDcgQEAgaWd0X29iamVj dF9jcmVhdGUoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqOwogCWludCBlcnI7CiAKLQlvYmogPSBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX3JlZ2lvbihtZW0sIHNpemUsIGZsYWdzKTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX3JlZ2lvbihtZW0sIHNpemUsIDAsIGZsYWdzKTsKIAlpZiAoSVNfRVJSKG9iaikpCiAJ CXJldHVybiBvYmo7CiAKQEAgLTY0Nyw2ICs2NDcsNjIgQEAgc3RhdGljIGludCBpZ3RfbG1lbV9j cmVhdGUodm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbnQgaWd0X2xtZW1f Y3JlYXRlX3dpdGhfcHModm9pZCAqYXJnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gYXJnOworCWludCBlcnIgPSAwOworCXUzMiBwczsKKworCWZvciAocHMgPSBQQUdFX1NJ WkU7IHBzIDw9IFNaXzFHOyBwcyA8PD0gMSkgeworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqOworCQlkbWFfYWRkcl90IGRhZGRyOworCisJCW9iaiA9IF9faTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9sbWVtX3dpdGhfcHMoaTkxNSwgcHMsIHBzLCAwKTsKKwkJaWYgKElTX0VSUihvYmop KSB7CisJCQllcnIgPSBQVFJfRVJSKG9iaik7CisJCQlpZiAoZXJyID09IC1FTlhJTyB8fCBlcnIg PT0gLUUyQklHKSB7CisJCQkJcHJfaW5mbygiJXMgbm90IGVub3VnaCBsbWVtIGZvciBwcygldSkg ZXJyPSVkXG4iLAorCQkJCQlfX2Z1bmNfXywgcHMsIGVycik7CisJCQkJZXJyID0gMDsKKwkJCX0K KworCQkJYnJlYWs7CisJCX0KKworCQlpZiAob2JqLT5iYXNlLnNpemUgIT0gcHMpIHsKKwkJCXBy X2VycigiJXMgc2l6ZSglenUpICE9IHBzKCV1KVxuIiwKKwkJCSAgICAgICBfX2Z1bmNfXywgb2Jq LT5iYXNlLnNpemUsIHBzKTsKKwkJCWVyciA9IC1FSU5WQUw7CisJCQlnb3RvIG91dF9wdXQ7CisJ CX0KKworCQlpOTE1X2dlbV9vYmplY3RfbG9jayhvYmosIE5VTEwpOworCQllcnIgPSBpOTE1X2dl bV9vYmplY3RfcGluX3BhZ2VzKG9iaik7CisJCWlmIChlcnIpCisJCQlnb3RvIG91dF9wdXQ7CisK KwkJZGFkZHIgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgMCk7CisJCWlm ICghSVNfQUxJR05FRChkYWRkciwgcHMpKSB7CisJCQlwcl9lcnIoIiVzIGRhZGRyKCVwYSkgbm90 IGFsaWduZWQgd2l0aCBwcygldSlcbiIsCisJCQkgICAgICAgX19mdW5jX18sICZkYWRkciwgcHMp OworCQkJZXJyID0gLUVJTlZBTDsKKwkJCWdvdG8gb3V0X3VucGluOworCQl9CisKK291dF91bnBp bjoKKwkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisJCV9faTkxNV9nZW1fb2Jq ZWN0X3B1dF9wYWdlcyhvYmopOworb3V0X3B1dDoKKwkJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhv YmopOworCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CisKKwkJaWYgKGVycikKKwkJCWJyZWFr OworCX0KKworCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBpbnQgaWd0X2xtZW1fY3JlYXRlX2Ns ZWFyZWRfY3B1KHZvaWQgKmFyZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IGFyZzsKQEAgLTkzMiw3ICs5ODgsNyBAQCBjcmVhdGVfcmVnaW9uX2Zvcl9tYXBwaW5nKHN0cnVj dCBpbnRlbF9tZW1vcnlfcmVnaW9uICptciwgdTY0IHNpemUsIHUzMiB0eXBlLAogCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJdm9pZCAqYWRkcjsKIAotCW9iaiA9IGk5MTVfZ2Vt X29iamVjdF9jcmVhdGVfcmVnaW9uKG1yLCBzaXplLCAwKTsKKwlvYmogPSBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlX3JlZ2lvbihtciwgc2l6ZSwgMCwgMCk7CiAJaWYgKElTX0VSUihvYmopKSB7CiAJ CWlmIChQVFJfRVJSKG9iaikgPT0gLUVOT1NQQykgLyogU3RvbGVuIG1lbW9yeSAqLwogCQkJcmV0 dXJuIEVSUl9QVFIoLUVOT0RFVik7CkBAIC0xMTQ5LDYgKzEyMDUsNyBAQCBpbnQgaW50ZWxfbWVt b3J5X3JlZ2lvbl9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewogCQlTVUJU RVNUKGlndF9sbWVtX2NyZWF0ZSksCisJCVNVQlRFU1QoaWd0X2xtZW1fY3JlYXRlX3dpdGhfcHMp LAogCQlTVUJURVNUKGlndF9sbWVtX2NyZWF0ZV9jbGVhcmVkX2NwdSksCiAJCVNVQlRFU1QoaWd0 X2xtZW1fd3JpdGVfY3B1KSwKIAkJU1VCVEVTVChpZ3RfbG1lbV93cml0ZV9ncHUpLApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfcmVnaW9uLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19yZWdpb24uYwppbmRleCBmYTc4NmRlZGU2 MDguLmVmYTg2ZGZmZTNjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL21vY2tfcmVnaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21v Y2tfcmVnaW9uLmMKQEAgLTYzLDYgKzYzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0X29wcyBtb2NrX3JlZ2lvbl9vYmpfb3BzID0gewogc3RhdGljIGludCBtb2Nr X29iamVjdF9pbml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJCQkgICAgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgICByZXNvdXJjZV9zaXplX3Qgc2l6 ZSwKKwkJCSAgICByZXNvdXJjZV9zaXplX3QgcGFnZV9zaXplLAogCQkJICAgIHVuc2lnbmVkIGlu dCBmbGFncykKIHsKIAlzdGF0aWMgc3RydWN0IGxvY2tfY2xhc3Nfa2V5IGxvY2tfY2xhc3M7Ci0t IAoyLjI2LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=