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.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 74837C4320E for ; Tue, 27 Jul 2021 00:06:27 +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 4838560F94 for ; Tue, 27 Jul 2021 00:06:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4838560F94 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 08FA373313; Tue, 27 Jul 2021 00:06:04 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 26E8872023; Tue, 27 Jul 2021 00:06:01 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10057"; a="191932136" X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="191932136" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2021 17:06:00 -0700 X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="662339177" Received: from dhiatt-server.jf.intel.com ([10.54.81.3]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2021 17:06:00 -0700 From: Matthew Brost To: , Date: Mon, 26 Jul 2021 17:23:30 -0700 Message-Id: <20210727002348.97202-16-matthew.brost@intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20210727002348.97202-1-matthew.brost@intel.com> References: <20210727002348.97202-1-matthew.brost@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 15/33] drm/i915/guc: Provide mmio list to be saved/restored on engine reset 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBkcml2 ZXIgbXVzdCBwcm92aWRlIEd1QyB3aXRoIGEgbGlzdCBvZiBtbWlvIHJlZ2lzdGVycwp0aGF0IHNo b3VsZCBiZSBzYXZlZC9yZXN0b3JlZCBkdXJpbmcgYSBHdUMtYmFzZWQgZW5naW5lIHJlc2V0LgpV bmZvcnR1bmF0ZWx5LCB0aGUgbGlzdCBtdXN0IGJlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhcyBp dHMgc2l6ZSBpcwp2YXJpYWJsZS4gVGhhdCBtZWFucyB0aGUgZHJpdmVyIG11c3QgZ2VuZXJhdGUg dGhlIGxpc3QgdHdpY2UgLSBvbmNlIHRvCndvcmsgb3V0IHRoZSBzaXplIGFuZCBhIHNlY29uZCB0 aW1lIHRvIGFjdHVhbGx5IHNhdmUgaXQuCgp2MjoKIChBbGFuIC8gQ0kpCiAgLSBHRU43X0dUX01P REUgLT4gR0VONl9HVF9NT0RFIHRvIGZpeCBXQSBzZWxmdGVzdCBmYWlsdXJlCgpTaWduZWQtb2Zm LWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBGZXJuYW5kbyBQYWNoZWNvIDxmZXJuYW5kby5wYWNoZWNvQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogTWF0dGhldyBCcm9zdCA8bWF0dGhldy5icm9zdEBpbnRlbC5jb20+CkNjOiBEYW5p ZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgpDYzog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IE1h dHRoZXcgQnJvc3QgPG1hdHRoZXcuYnJvc3RAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMgICB8ICA0NiArKy0tCiAuLi4vZ3B1L2RybS9p OTE1L2d0L2ludGVsX3dvcmthcm91bmRzX3R5cGVzLmggfCAgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmggICAgICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuYyAgICB8IDE5OSArKysrKysrKysrKysrKysrKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgICAgICB8ICAgMSArCiA1IGZp bGVzIGNoYW5nZWQsIDIyMiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYwppbmRleCAzYWE1Y2UzY2RhOGIu LjkxNzNkZjU5ODIxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf d29ya2Fyb3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJv dW5kcy5jCkBAIC0xNTAsMTMgKzE1MCwxNCBAQCBzdGF0aWMgdm9pZCBfd2FfYWRkKHN0cnVjdCBp OTE1X3dhX2xpc3QgKndhbCwgY29uc3Qgc3RydWN0IGk5MTVfd2EgKndhKQogfQogCiBzdGF0aWMg dm9pZCB3YV9hZGQoc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBpOTE1X3JlZ190IHJlZywKLQkJ ICAgdTMyIGNsZWFyLCB1MzIgc2V0LCB1MzIgcmVhZF9tYXNrKQorCQkgICB1MzIgY2xlYXIsIHUz MiBzZXQsIHUzMiByZWFkX21hc2ssIGJvb2wgbWFza2VkX3JlZykKIHsKIAlzdHJ1Y3QgaTkxNV93 YSB3YSA9IHsKIAkJLnJlZyAgPSByZWcsCiAJCS5jbHIgID0gY2xlYXIsCiAJCS5zZXQgID0gc2V0 LAogCQkucmVhZCA9IHJlYWRfbWFzaywKKwkJLm1hc2tlZF9yZWcgPSBtYXNrZWRfcmVnLAogCX07 CiAKIAlfd2FfYWRkKHdhbCwgJndhKTsKQEAgLTE2NSw3ICsxNjYsNyBAQCBzdGF0aWMgdm9pZCB3 YV9hZGQoc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBpOTE1X3JlZ190IHJlZywKIHN0YXRpYyB2 b2lkCiB3YV93cml0ZV9jbHJfc2V0KHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCwgaTkxNV9yZWdf dCByZWcsIHUzMiBjbGVhciwgdTMyIHNldCkKIHsKLQl3YV9hZGQod2FsLCByZWcsIGNsZWFyLCBz ZXQsIGNsZWFyKTsKKwl3YV9hZGQod2FsLCByZWcsIGNsZWFyLCBzZXQsIGNsZWFyLCBmYWxzZSk7 CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yMDAsMjAgKzIwMSwyMCBAQCB3YV93cml0ZV9jbHIoc3Ry dWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBpOTE1X3JlZ190IHJlZywgdTMyIGNscikKIHN0YXRpYyB2 b2lkCiB3YV9tYXNrZWRfZW4oc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBpOTE1X3JlZ190IHJl ZywgdTMyIHZhbCkKIHsKLQl3YV9hZGQod2FsLCByZWcsIDAsIF9NQVNLRURfQklUX0VOQUJMRSh2 YWwpLCB2YWwpOworCXdhX2FkZCh3YWwsIHJlZywgMCwgX01BU0tFRF9CSVRfRU5BQkxFKHZhbCks IHZhbCwgdHJ1ZSk7CiB9CiAKIHN0YXRpYyB2b2lkCiB3YV9tYXNrZWRfZGlzKHN0cnVjdCBpOTE1 X3dhX2xpc3QgKndhbCwgaTkxNV9yZWdfdCByZWcsIHUzMiB2YWwpCiB7Ci0Jd2FfYWRkKHdhbCwg cmVnLCAwLCBfTUFTS0VEX0JJVF9ESVNBQkxFKHZhbCksIHZhbCk7CisJd2FfYWRkKHdhbCwgcmVn LCAwLCBfTUFTS0VEX0JJVF9ESVNBQkxFKHZhbCksIHZhbCwgdHJ1ZSk7CiB9CiAKIHN0YXRpYyB2 b2lkCiB3YV9tYXNrZWRfZmllbGRfc2V0KHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCwgaTkxNV9y ZWdfdCByZWcsCiAJCSAgICB1MzIgbWFzaywgdTMyIHZhbCkKIHsKLQl3YV9hZGQod2FsLCByZWcs IDAsIF9NQVNLRURfRklFTEQobWFzaywgdmFsKSwgbWFzayk7CisJd2FfYWRkKHdhbCwgcmVnLCAw LCBfTUFTS0VEX0ZJRUxEKG1hc2ssIHZhbCksIG1hc2ssIHRydWUpOwogfQogCiBzdGF0aWMgdm9p ZCBnZW42X2N0eF93b3JrYXJvdW5kc19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKQEAgLTUzMywxMCArNTM0LDEwIEBAIHN0YXRpYyB2b2lkIGljbF9jdHhfd29ya2Fyb3VuZHNf aW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJd2FfbWFza2VkX2VuKHdhbCwg SUNMX0hEQ19NT0RFLCBIRENfRk9SQ0VfTk9OX0NPSEVSRU5UKTsKIAogCS8qIFdhRW5hYmxlRmxv YXRCbGVuZE9wdGltaXphdGlvbjppY2wgKi8KLQl3YV93cml0ZV9jbHJfc2V0KHdhbCwKLQkJCSBH RU4xMF9DQUNIRV9NT0RFX1NTLAotCQkJIDAsIC8qIHdyaXRlLW9ubHksIHNvIHNraXAgdmFsaWRh dGlvbiAqLwotCQkJIF9NQVNLRURfQklUX0VOQUJMRShGTE9BVF9CTEVORF9PUFRJTUlaQVRJT05f RU5BQkxFKSk7CisJd2FfYWRkKHdhbCwgR0VOMTBfQ0FDSEVfTU9ERV9TUywgMCwKKwkgICAgICAg X01BU0tFRF9CSVRfRU5BQkxFKEZMT0FUX0JMRU5EX09QVElNSVpBVElPTl9FTkFCTEUpLAorCSAg ICAgICAwIC8qIHdyaXRlLW9ubHksIHNvIHNraXAgdmFsaWRhdGlvbiAqLywKKwkgICAgICAgdHJ1 ZSk7CiAKIAkvKiBXYURpc2FibGVHUEdQVU1pZFRocmVhZFByZWVtcHRpb246aWNsICovCiAJd2Ff bWFza2VkX2ZpZWxkX3NldCh3YWwsIEdFTjhfQ1NfQ0hJQ0tFTjEsCkBAIC01ODEsNyArNTgyLDcg QEAgc3RhdGljIHZvaWQgZ2VuMTJfY3R4X2d0X3R1bmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKIAkgICAgICAgRkZfTU9ERTIsCiAJICAgICAgIEZGX01PREUyX1REU19U SU1FUl9NQVNLLAogCSAgICAgICBGRl9NT0RFMl9URFNfVElNRVJfMTI4LAotCSAgICAgICAwKTsK KwkgICAgICAgMCwgZmFsc2UpOwogfQogCiBzdGF0aWMgdm9pZCBnZW4xMl9jdHhfd29ya2Fyb3Vu ZHNfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCkBAIC02MTksNyArNjIwLDcg QEAgc3RhdGljIHZvaWQgZ2VuMTJfY3R4X3dvcmthcm91bmRzX2luaXQoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLAogCSAgICAgICBGRl9NT0RFMiwKIAkgICAgICAgRkZfTU9ERTJfR1Nf VElNRVJfTUFTSywKIAkgICAgICAgRkZfTU9ERTJfR1NfVElNRVJfMjI0LAotCSAgICAgICAwKTsK KwkgICAgICAgMCwgZmFsc2UpOwogCiAJLyoKIAkgKiBXYV8xNDAxMjEzMTIyNzpkZzEKQEAgLTc5 NSw3ICs3OTYsNyBAQCBoc3dfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogCXdhX2FkZCh3YWwsCiAJICAg ICAgIEhTV19ST1dfQ0hJQ0tFTjMsIDAsCiAJICAgICAgIF9NQVNLRURfQklUX0VOQUJMRShIU1df Uk9XX0NISUNLRU4zX0wzX0dMT0JBTF9BVE9NSUNTX0RJU0FCTEUpLAotCQkwIC8qIFhYWCBkb2Vz IHRoaXMgcmVnIGV4aXN0PyAqLyk7CisJICAgICAgIDAgLyogWFhYIGRvZXMgdGhpcyByZWcgZXhp c3Q/ICovLCB0cnVlKTsKIAogCS8qIFdhVlNSZWZDb3VudEZ1bGxmb3JjZU1pc3NEaXNhYmxlOmhz dyAqLwogCXdhX3dyaXRlX2Nscih3YWwsIEdFTjdfRkZfVEhSRUFEX01PREUsIEdFTjdfRkZfVlNf UkVGX0NOVF9GRk1FKTsKQEAgLTE4MjQsMTAgKzE4MjUsMTAgQEAgcmNzX2VuZ2luZV93YV9pbml0 KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2Fs KQogCQkgKiBkaXNhYmxlIGJpdCwgd2hpY2ggd2UgZG9uJ3QgdG91Y2ggaGVyZSwgYnV0IGl0J3Mg Z29vZAogCQkgKiB0byBrZWVwIGluIG1pbmQgKHNlZSAzRFNUQVRFX1BTIGFuZCAzRFNUQVRFX1dN KS4KIAkJICovCi0JCXdhX2FkZCh3YWwsIEdFTjdfR1RfTU9ERSwgMCwKLQkJICAgICAgIF9NQVNL RURfRklFTEQoR0VONl9XSVpfSEFTSElOR19NQVNLLAotCQkJCSAgICAgR0VONl9XSVpfSEFTSElO R18xNng0KSwKLQkJICAgICAgIEdFTjZfV0laX0hBU0hJTkdfMTZ4NCk7CisJCXdhX21hc2tlZF9m aWVsZF9zZXQod2FsLAorCQkJCSAgICBHRU43X0dUX01PREUsCisJCQkJICAgIEdFTjZfV0laX0hB U0hJTkdfTUFTSywKKwkJCQkgICAgR0VONl9XSVpfSEFTSElOR18xNng0KTsKIAl9CiAKIAlpZiAo SVNfR1JBUEhJQ1NfVkVSKGk5MTUsIDYsIDcpKQpAQCAtMTg3NywxMCArMTg3OCwxMCBAQCByY3Nf ZW5naW5lX3dhX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkx NV93YV9saXN0ICp3YWwpCiAJCSAqIGRpc2FibGUgYml0LCB3aGljaCB3ZSBkb24ndCB0b3VjaCBo ZXJlLCBidXQgaXQncyBnb29kCiAJCSAqIHRvIGtlZXAgaW4gbWluZCAoc2VlIDNEU1RBVEVfUFMg YW5kIDNEU1RBVEVfV00pLgogCQkgKi8KLQkJd2FfYWRkKHdhbCwKLQkJICAgICAgIEdFTjZfR1Rf TU9ERSwgMCwKLQkJICAgICAgIF9NQVNLRURfRklFTEQoR0VONl9XSVpfSEFTSElOR19NQVNLLCBH RU42X1dJWl9IQVNISU5HXzE2eDQpLAotCQkgICAgICAgR0VONl9XSVpfSEFTSElOR18xNng0KTsK KwkJd2FfbWFza2VkX2ZpZWxkX3NldCh3YWwsCisJCQkJICAgIEdFTjZfR1RfTU9ERSwKKwkJCQkg ICAgR0VONl9XSVpfSEFTSElOR19NQVNLLAorCQkJCSAgICBHRU42X1dJWl9IQVNISU5HXzE2eDQp OwogCiAJCS8qIFdhRGlzYWJsZV9SZW5kZXJDYWNoZV9PcGVyYXRpb25hbEZsdXNoOnNuYiAqLwog CQl3YV9tYXNrZWRfZGlzKHdhbCwgQ0FDSEVfTU9ERV8wLCBSQ19PUF9GTFVTSF9FTkFCTEUpOwpA QCAtMTkwMSw3ICsxOTAyLDcgQEAgcmNzX2VuZ2luZV93YV9pbml0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogCQl3YV9hZGQod2FsLCBN SV9NT0RFLAogCQkgICAgICAgMCwgX01BU0tFRF9CSVRfRU5BQkxFKFZTX1RJTUVSX0RJU1BBVENI KSwKIAkJICAgICAgIC8qIFhYWCBiaXQgZG9lc24ndCBzdGljayBvbiBCcm9hZHdhdGVyICovCi0J CSAgICAgICBJU19JOTY1RyhpOTE1KSA/IDAgOiBWU19USU1FUl9ESVNQQVRDSCk7CisJCSAgICAg ICBJU19JOTY1RyhpOTE1KSA/IDAgOiBWU19USU1FUl9ESVNQQVRDSCwgdHJ1ZSk7CiAKIAlpZiAo R1JBUEhJQ1NfVkVSKGk5MTUpID09IDQpCiAJCS8qCkBAIC0xOTE2LDcgKzE5MTcsOCBAQCByY3Nf ZW5naW5lX3dhX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkx NV93YV9saXN0ICp3YWwpCiAJCSAqLwogCQl3YV9hZGQod2FsLCBFQ09TS1BELAogCQkgICAgICAg MCwgX01BU0tFRF9CSVRfRU5BQkxFKEVDT19DT05TVEFOVF9CVUZGRVJfU1JfRElTQUJMRSksCi0J CSAgICAgICAwIC8qIFhYWCBiaXQgZG9lc24ndCBzdGljayBvbiBCcm9hZHdhdGVyICovKTsKKwkJ ICAgICAgIDAgLyogWFhYIGJpdCBkb2Vzbid0IHN0aWNrIG9uIEJyb2Fkd2F0ZXIgKi8sCisJCSAg ICAgICB0cnVlKTsKIH0KIAogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF93b3JrYXJvdW5kc190eXBlcy5oCmluZGV4IGMyMTQxMTFlYTM2Ny4uMWU4NzM2 ODE3OTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJv dW5kc190eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91 bmRzX3R5cGVzLmgKQEAgLTE1LDYgKzE1LDcgQEAgc3RydWN0IGk5MTVfd2EgewogCXUzMgkJY2xy OwogCXUzMgkJc2V0OwogCXUzMgkJcmVhZDsKKwlib29sCQltYXNrZWRfcmVnOwogfTsKIAogc3Ry dWN0IGk5MTVfd2FfbGlzdCB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCmlu ZGV4IDljOGQ1M2EzMmUwZC4uZjNjNjkxNjBjYjdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWMuaApAQCAtNTksNiArNTksNyBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKIAogCXN0 cnVjdCBpOTE1X3ZtYSAqYWRzX3ZtYTsKIAlzdHJ1Y3QgX19ndWNfYWRzX2Jsb2IgKmFkc19ibG9i OworCXUzMiBhZHNfcmVnc2V0X3NpemU7CiAKIAlzdHJ1Y3QgaTkxNV92bWEgKmxyY19kZXNjX3Bv b2w7CiAJdm9pZCAqbHJjX2Rlc2NfcG9vbF92YWRkcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX2d1Y19hZHMuYwppbmRleCBiODIxNDU2NTJkNTcuLmZkYWM4YTc4MDVmNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2Fkcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuYwpAQCAtMyw2ICszLDgg QEAKICAqIENvcHlyaWdodCDCqSAyMDE0LTIwMTkgSW50ZWwgQ29ycG9yYXRpb24KICAqLwogCisj aW5jbHVkZSA8bGludXgvYnNlYXJjaC5oPgorCiAjaW5jbHVkZSAiZ3QvaW50ZWxfZ3QuaCIKICNp bmNsdWRlICJndC9pbnRlbF9scmMuaCIKICNpbmNsdWRlICJpbnRlbF9ndWNfYWRzLmgiCkBAIC0y Myw3ICsyNSwxMiBAQAogICogICAgICB8IGd1Y19wb2xpY2llcyAgICAgICAgICAgICAgICAgICAg ICAgICAgfAogICogICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t KwogICogICAgICB8IGd1Y19ndF9zeXN0ZW1faW5mbyAgICAgICAgICAgICAgICAgICAgfAotICog ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyA8PT0gc3RhdGljCisgKiAg ICAgIHwgZ3VjX21taW9fcmVnW2NvdW50QV0gKGVuZ2luZSAwLjApICAgICB8CisgKiAgICAgIHwg Z3VjX21taW9fcmVnW2NvdW50Ql0gKGVuZ2luZSAwLjEpICAgICB8CisgKiAgICAgIHwgZ3VjX21t aW9fcmVnW2NvdW50Q10gKGVuZ2luZSAxLjApICAgICB8CisgKiAgICAgIHwgICAuLi4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rIDw9PSBkeW5hbWljCiAgKiAgICAgIHwgcGFkZGluZyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgKiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rIDw9PSA0SyBhbGlnbmVkCiAgKiAgICAgIHwgcHJpdmF0ZSBk YXRhICAgICAgICAgICAgICAgICAgICAgICAgICB8CkBAIC0zNSwxNiArNDIsMzMgQEAgc3RydWN0 IF9fZ3VjX2Fkc19ibG9iIHsKIAlzdHJ1Y3QgZ3VjX2FkcyBhZHM7CiAJc3RydWN0IGd1Y19wb2xp Y2llcyBwb2xpY2llczsKIAlzdHJ1Y3QgZ3VjX2d0X3N5c3RlbV9pbmZvIHN5c3RlbV9pbmZvOwor CS8qIEZyb20gaGVyZSBvbiwgbG9jYXRpb24gaXMgZHluYW1pYyEgUmVmZXIgdG8gYWJvdmUgZGlh Z3JhbS4gKi8KKwlzdHJ1Y3QgZ3VjX21taW9fcmVnIHJlZ3NldFswXTsKIH0gX19wYWNrZWQ7CiAK K3N0YXRpYyB1MzIgZ3VjX2Fkc19yZWdzZXRfc2l6ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7 CisJR0VNX0JVR19PTighZ3VjLT5hZHNfcmVnc2V0X3NpemUpOworCXJldHVybiBndWMtPmFkc19y ZWdzZXRfc2l6ZTsKK30KKwogc3RhdGljIHUzMiBndWNfYWRzX3ByaXZhdGVfZGF0YV9zaXplKHN0 cnVjdCBpbnRlbF9ndWMgKmd1YykKIHsKIAlyZXR1cm4gUEFHRV9BTElHTihndWMtPmZ3LnByaXZh dGVfZGF0YV9zaXplKTsKIH0KIAorc3RhdGljIHUzMiBndWNfYWRzX3JlZ3NldF9vZmZzZXQoc3Ry dWN0IGludGVsX2d1YyAqZ3VjKQoreworCXJldHVybiBvZmZzZXRvZihzdHJ1Y3QgX19ndWNfYWRz X2Jsb2IsIHJlZ3NldCk7Cit9CisKIHN0YXRpYyB1MzIgZ3VjX2Fkc19wcml2YXRlX2RhdGFfb2Zm c2V0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIHsKLQlyZXR1cm4gUEFHRV9BTElHTihzaXplb2Yo c3RydWN0IF9fZ3VjX2Fkc19ibG9iKSk7CisJdTMyIG9mZnNldDsKKworCW9mZnNldCA9IGd1Y19h ZHNfcmVnc2V0X29mZnNldChndWMpICsKKwkJIGd1Y19hZHNfcmVnc2V0X3NpemUoZ3VjKTsKKwly ZXR1cm4gUEFHRV9BTElHTihvZmZzZXQpOwogfQogCiBzdGF0aWMgdTMyIGd1Y19hZHNfYmxvYl9z aXplKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKQEAgLTgzLDYgKzEwNywxNjUgQEAgc3RhdGljIHZv aWQgZ3VjX21hcHBpbmdfdGFibGVfaW5pdChzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAogCX0KIH0KIAor LyoKKyAqIFRoZSBzYXZlL3Jlc3RvcmUgcmVnaXN0ZXIgbGlzdCBtdXN0IGJlIHByZS1jYWxjdWxh dGVkIHRvIGEgdGVtcG9yYXJ5CisgKiBidWZmZXIgb2YgZHJpdmVyIGRlZmluZWQgc2l6ZSBiZWZv cmUgaXQgY2FuIGJlIGdlbmVyYXRlZCBpbiBwbGFjZQorICogaW5zaWRlIHRoZSBBRFMuCisgKi8K KyNkZWZpbmUgTUFYX01NSU9fUkVHUwkxMjgJLyogQXJiaXRyYXJ5IHNpemUsIGluY3JlYXNlIGFz IG5lZWRlZCAqLworc3RydWN0IHRlbXBfcmVnc2V0IHsKKwlzdHJ1Y3QgZ3VjX21taW9fcmVnICpy ZWdpc3RlcnM7CisJdTMyIHVzZWQ7CisJdTMyIHNpemU7Cit9OworCitzdGF0aWMgaW50IGd1Y19t bWlvX3JlZ19jbXAoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwljb25zdCBzdHJ1 Y3QgZ3VjX21taW9fcmVnICpyYSA9IGE7CisJY29uc3Qgc3RydWN0IGd1Y19tbWlvX3JlZyAqcmIg PSBiOworCisJcmV0dXJuIChpbnQpcmEtPm9mZnNldCAtIChpbnQpcmItPm9mZnNldDsKK30KKwor c3RhdGljIHZvaWQgZ3VjX21taW9fcmVnX2FkZChzdHJ1Y3QgdGVtcF9yZWdzZXQgKnJlZ3NldCwK KwkJCSAgICAgdTMyIG9mZnNldCwgdTMyIGZsYWdzKQoreworCXUzMiBjb3VudCA9IHJlZ3NldC0+ dXNlZDsKKwlzdHJ1Y3QgZ3VjX21taW9fcmVnIHJlZyA9IHsKKwkJLm9mZnNldCA9IG9mZnNldCwK KwkJLmZsYWdzID0gZmxhZ3MsCisJfTsKKwlzdHJ1Y3QgZ3VjX21taW9fcmVnICpzbG90OworCisJ R0VNX0JVR19PTihjb3VudCA+PSByZWdzZXQtPnNpemUpOworCisJLyoKKwkgKiBUaGUgbW1pbyBs aXN0IGlzIGJ1aWx0IHVzaW5nIHNlcGFyYXRlIGxpc3RzIHdpdGhpbiB0aGUgZHJpdmVyLgorCSAq IEl0J3MgcG9zc2libGUgdGhhdCBhdCBzb21lIHBvaW50IHdlIG1heSBhdHRlbXB0IHRvIGFkZCB0 aGUgc2FtZQorCSAqIHJlZ2lzdGVyIG1vcmUgdGhhbiBvbmNlLiBEbyBub3QgY29uc2lkZXIgdGhp cyBhbiBlcnJvcjsgc2lsZW50bHkKKwkgKiBtb3ZlIG9uIGlmIHRoZSByZWdpc3RlciBpcyBhbHJl YWR5IGluIHRoZSBsaXN0LgorCSAqLworCWlmIChic2VhcmNoKCZyZWcsIHJlZ3NldC0+cmVnaXN0 ZXJzLCBjb3VudCwKKwkJICAgIHNpemVvZihyZWcpLCBndWNfbW1pb19yZWdfY21wKSkKKwkJcmV0 dXJuOworCisJc2xvdCA9ICZyZWdzZXQtPnJlZ2lzdGVyc1tjb3VudF07CisJcmVnc2V0LT51c2Vk Kys7CisJKnNsb3QgPSByZWc7CisKKwl3aGlsZSAoc2xvdC0tID4gcmVnc2V0LT5yZWdpc3RlcnMp IHsKKwkJR0VNX0JVR19PTihzbG90WzBdLm9mZnNldCA9PSBzbG90WzFdLm9mZnNldCk7CisJCWlm IChzbG90WzFdLm9mZnNldCA+IHNsb3RbMF0ub2Zmc2V0KQorCQkJYnJlYWs7CisKKwkJc3dhcChz bG90WzFdLCBzbG90WzBdKTsKKwl9Cit9CisKKyNkZWZpbmUgR1VDX01NSU9fUkVHX0FERChyZWdz ZXQsIHJlZywgbWFza2VkKSBcCisJZ3VjX21taW9fcmVnX2FkZChyZWdzZXQsIFwKKwkJCSBpOTE1 X21taW9fcmVnX29mZnNldCgocmVnKSksIFwKKwkJCSAobWFza2VkKSA/IEdVQ19SRUdTRVRfTUFT S0VEIDogMCkKKworc3RhdGljIHZvaWQgZ3VjX21taW9fcmVnc2V0X2luaXQoc3RydWN0IHRlbXBf cmVnc2V0ICpyZWdzZXQsCisJCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sK Kwljb25zdCB1MzIgYmFzZSA9IGVuZ2luZS0+bW1pb19iYXNlOworCXN0cnVjdCBpOTE1X3dhX2xp c3QgKndhbCA9ICZlbmdpbmUtPndhX2xpc3Q7CisJc3RydWN0IGk5MTVfd2EgKndhOworCXVuc2ln bmVkIGludCBpOworCisJcmVnc2V0LT51c2VkID0gMDsKKworCUdVQ19NTUlPX1JFR19BREQocmVn c2V0LCBSSU5HX01PREVfR0VONyhiYXNlKSwgdHJ1ZSk7CisJR1VDX01NSU9fUkVHX0FERChyZWdz ZXQsIFJJTkdfSFdTX1BHQShiYXNlKSwgZmFsc2UpOworCUdVQ19NTUlPX1JFR19BREQocmVnc2V0 LCBSSU5HX0lNUihiYXNlKSwgZmFsc2UpOworCisJZm9yIChpID0gMCwgd2EgPSB3YWwtPmxpc3Q7 IGkgPCB3YWwtPmNvdW50OyBpKyssIHdhKyspCisJCUdVQ19NTUlPX1JFR19BREQocmVnc2V0LCB3 YS0+cmVnLCB3YS0+bWFza2VkX3JlZyk7CisKKwkvKiBCZSBleHRyYSBwYXJhbm9pZCBhbmQgaW5j bHVkZSBhbGwgd2hpdGVsaXN0IHJlZ2lzdGVycy4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgUklOR19N QVhfTk9OUFJJVl9TTE9UUzsgaSsrKQorCQlHVUNfTU1JT19SRUdfQUREKHJlZ3NldCwKKwkJCQkg UklOR19GT1JDRV9UT19OT05QUklWKGJhc2UsIGkpLAorCQkJCSBmYWxzZSk7CisKKwkvKiBhZGQg aW4gbG9jYWwgTU9DUyByZWdpc3RlcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgR0VOOV9MTkNGQ01P Q1NfUkVHX0NPVU5UOyBpKyspCisJCUdVQ19NTUlPX1JFR19BREQocmVnc2V0LCBHRU45X0xOQ0ZD TU9DUyhpKSwgZmFsc2UpOworfQorCitzdGF0aWMgaW50IGd1Y19tbWlvX3JlZ19zdGF0ZV9xdWVy eShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJc3RydWN0IGludGVsX2d0ICpndCA9IGd1Y190 b19ndChndWMpOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVs X2VuZ2luZV9pZCBpZDsKKwlzdHJ1Y3QgdGVtcF9yZWdzZXQgdGVtcF9zZXQ7CisJdTMyIHRvdGFs OworCisJLyoKKwkgKiBOZWVkIHRvIGFjdHVhbGx5IGJ1aWxkIHRoZSBsaXN0IGluIG9yZGVyIHRv IGZpbHRlciBvdXQKKwkgKiBkdXBsaWNhdGVzIGFuZCBvdGhlciBzdWNoIGRhdGEgZGVwZW5kZW50 IGNvbnN0cnVjdGlvbnMuCisJICovCisJdGVtcF9zZXQuc2l6ZSA9IE1BWF9NTUlPX1JFR1M7CisJ dGVtcF9zZXQucmVnaXN0ZXJzID0ga21hbGxvY19hcnJheSh0ZW1wX3NldC5zaXplLAorCQkJCQkg ICBzaXplb2YoKnRlbXBfc2V0LnJlZ2lzdGVycyksCisJCQkJCSAgIEdGUF9LRVJORUwpOworCWlm ICghdGVtcF9zZXQucmVnaXN0ZXJzKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXRvdGFsID0gMDsK Kwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBndCwgaWQpIHsKKwkJZ3VjX21taW9fcmVnc2V0X2lu aXQoJnRlbXBfc2V0LCBlbmdpbmUpOworCQl0b3RhbCArPSB0ZW1wX3NldC51c2VkOworCX0KKwor CWtmcmVlKHRlbXBfc2V0LnJlZ2lzdGVycyk7CisKKwlyZXR1cm4gdG90YWwgKiBzaXplb2Yoc3Ry dWN0IGd1Y19tbWlvX3JlZyk7Cit9CisKK3N0YXRpYyB2b2lkIGd1Y19tbWlvX3JlZ19zdGF0ZV9p bml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKKwkJCQkgICAgc3RydWN0IF9fZ3VjX2Fkc19ibG9i ICpibG9iKQoreworCXN0cnVjdCBpbnRlbF9ndCAqZ3QgPSBndWNfdG9fZ3QoZ3VjKTsKKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisJ c3RydWN0IHRlbXBfcmVnc2V0IHRlbXBfc2V0OworCXN0cnVjdCBndWNfbW1pb19yZWdfc2V0ICph ZHNfcmVnX3NldDsKKwl1MzIgYWRkcl9nZ3R0LCBvZmZzZXQ7CisJdTggZ3VjX2NsYXNzOworCisJ b2Zmc2V0ID0gZ3VjX2Fkc19yZWdzZXRfb2Zmc2V0KGd1Yyk7CisJYWRkcl9nZ3R0ID0gaW50ZWxf Z3VjX2dndHRfb2Zmc2V0KGd1YywgZ3VjLT5hZHNfdm1hKSArIG9mZnNldDsKKwl0ZW1wX3NldC5y ZWdpc3RlcnMgPSAoc3RydWN0IGd1Y19tbWlvX3JlZyAqKSgoKHU4ICopYmxvYikgKyBvZmZzZXQp OworCXRlbXBfc2V0LnNpemUgPSBndWMtPmFkc19yZWdzZXRfc2l6ZSAvIHNpemVvZih0ZW1wX3Nl dC5yZWdpc3RlcnNbMF0pOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZ3QsIGlkKSB7CisJ CS8qIENsYXNzIGluZGV4IGlzIGNoZWNrZWQgaW4gY2xhc3MgY29udmVydGVyICovCisJCUdFTV9C VUdfT04oZW5naW5lLT5pbnN0YW5jZSA+PSBHVUNfTUFYX0lOU1RBTkNFU19QRVJfQ0xBU1MpOwor CisJCWd1Y19jbGFzcyA9IGVuZ2luZV9jbGFzc190b19ndWNfY2xhc3MoZW5naW5lLT5jbGFzcyk7 CisJCWFkc19yZWdfc2V0ID0gJmJsb2ItPmFkcy5yZWdfc3RhdGVfbGlzdFtndWNfY2xhc3NdW2Vu Z2luZS0+aW5zdGFuY2VdOworCisJCWd1Y19tbWlvX3JlZ3NldF9pbml0KCZ0ZW1wX3NldCwgZW5n aW5lKTsKKwkJaWYgKCF0ZW1wX3NldC51c2VkKSB7CisJCQlhZHNfcmVnX3NldC0+YWRkcmVzcyA9 IDA7CisJCQlhZHNfcmVnX3NldC0+Y291bnQgPSAwOworCQkJY29udGludWU7CisJCX0KKworCQlh ZHNfcmVnX3NldC0+YWRkcmVzcyA9IGFkZHJfZ2d0dDsKKwkJYWRzX3JlZ19zZXQtPmNvdW50ID0g dGVtcF9zZXQudXNlZDsKKworCQl0ZW1wX3NldC5zaXplIC09IHRlbXBfc2V0LnVzZWQ7CisJCXRl bXBfc2V0LnJlZ2lzdGVycyArPSB0ZW1wX3NldC51c2VkOworCQlhZGRyX2dndHQgKz0gdGVtcF9z ZXQudXNlZCAqIHNpemVvZihzdHJ1Y3QgZ3VjX21taW9fcmVnKTsKKwl9CisKKwlHRU1fQlVHX09O KHRlbXBfc2V0LnNpemUpOworfQorCiAvKgogICogVGhlIGZpcnN0IDgwIGR3b3JkcyBvZiB0aGUg cmVnaXN0ZXIgc3RhdGUgY29udGV4dCwgY29udGFpbmluZyB0aGUKICAqIGV4ZWNsaXN0cyBhbmQg cHBndHQgcmVnaXN0ZXJzLgpAQCAtMTIxLDggKzMwNCw3IEBAIHN0YXRpYyB2b2lkIF9fZ3VjX2Fk c19pbml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAkJICovCiAJCWJsb2ItPmFkcy5nb2xkZW5f Y29udGV4dF9scmNhW2d1Y19jbGFzc10gPSAwOwogCQlibG9iLT5hZHMuZW5nX3N0YXRlX3NpemVb Z3VjX2NsYXNzXSA9Ci0JCQlpbnRlbF9lbmdpbmVfY29udGV4dF9zaXplKGd1Y190b19ndChndWMp LAotCQkJCQkJICBlbmdpbmVfY2xhc3MpIC0KKwkJCWludGVsX2VuZ2luZV9jb250ZXh0X3NpemUo Z3QsIGVuZ2luZV9jbGFzcykgLQogCQkJc2tpcHBlZF9zaXplOwogCX0KIApAQCAtMTUzLDYgKzMz NSw5IEBAIHN0YXRpYyB2b2lkIF9fZ3VjX2Fkc19pbml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykK IAlibG9iLT5hZHMuc2NoZWR1bGVyX3BvbGljaWVzID0gYmFzZSArIHB0cl9vZmZzZXQoYmxvYiwg cG9saWNpZXMpOwogCWJsb2ItPmFkcy5ndF9zeXN0ZW1faW5mbyA9IGJhc2UgKyBwdHJfb2Zmc2V0 KGJsb2IsIHN5c3RlbV9pbmZvKTsKIAorCS8qIE1NSU8gc2F2ZS9yZXN0b3JlIGxpc3QgKi8KKwln dWNfbW1pb19yZWdfc3RhdGVfaW5pdChndWMsIGJsb2IpOworCiAJLyogUHJpdmF0ZSBEYXRhICov CiAJYmxvYi0+YWRzLnByaXZhdGVfZGF0YSA9IGJhc2UgKyBndWNfYWRzX3ByaXZhdGVfZGF0YV9v ZmZzZXQoZ3VjKTsKIApAQCAtMTczLDYgKzM1OCwxMiBAQCBpbnQgaW50ZWxfZ3VjX2Fkc19jcmVh dGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogCiAJR0VNX0JVR19PTihndWMtPmFkc192bWEpOwog CisJLyogTmVlZCB0byBjYWxjdWxhdGUgdGhlIHJlZyBzdGF0ZSBzaXplIGR5bmFtaWNhbGx5OiAq LworCXJldCA9IGd1Y19tbWlvX3JlZ19zdGF0ZV9xdWVyeShndWMpOworCWlmIChyZXQgPCAwKQor CQlyZXR1cm4gcmV0OworCWd1Yy0+YWRzX3JlZ3NldF9zaXplID0gcmV0OworCiAJc2l6ZSA9IGd1 Y19hZHNfYmxvYl9zaXplKGd1Yyk7CiAKIAlyZXQgPSBpbnRlbF9ndWNfYWxsb2NhdGVfYW5kX21h cF92bWEoZ3VjLCBzaXplLCAmZ3VjLT5hZHNfdm1hLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5k ZXggZjAxODIxZDcwMTU1Li4xY2JlODZiN2JjM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApA QCAtMTIzNDcsNiArMTIzNDcsNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKIAogLyogTU9DUyAo TWVtb3J5IE9iamVjdCBDb250cm9sIFN0YXRlKSByZWdpc3RlcnMgKi8KICNkZWZpbmUgR0VOOV9M TkNGQ01PQ1MoaSkJX01NSU8oMHhiMDIwICsgKGkpICogNCkJLyogTDMgQ2FjaGUgQ29udHJvbCAq LworI2RlZmluZSBHRU45X0xOQ0ZDTU9DU19SRUdfQ09VTlQJMzIKIAogI2RlZmluZSBfX0dFTjlf UkNTMF9NT0NTMAkweGM4MDAKICNkZWZpbmUgR0VOOV9HRlhfTU9DUyhpKQlfTU1JTyhfX0dFTjlf UkNTMF9NT0NTMCArIChpKSAqIDQpCi0tIAoyLjI4LjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=