From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 32/39] drm/i915: Added scheduler statistic reporting to debugfs Date: Mon, 23 Nov 2015 11:39:27 +0000 Message-ID: <1448278774-31376-33-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 26E186E519 for ; Mon, 23 Nov 2015 03:40:12 -0800 (PST) In-Reply-To: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCkl0IGlzIHVz ZWZ1bCBmb3Iga25vdyB3aGF0IHRoZSBzY2hlZHVsZXIgaXMgZG9pbmcgZm9yIGJvdGggZGVidWdn aW5nCmFuZCBwZXJmb3JtYW5jZSBhbmFseXNpcyBwdXJwb3Nlcy4gVGhpcyBjaGFuZ2UgYWRkcyBh IGJ1bmNoIG9mCmNvdW50ZXJzIGFuZCBzdWNoIHRoYXQga2VlcCB0cmFjayBvZiB2YXJpb3VzIHNj aGVkdWxlciBvcGVyYXRpb25zCihiYXRjaGVzIHN1Ym1pdHRlZCwgY29tcGxldGVkLCBmbHVzaCBy ZXF1ZXN0cywgZXRjLikuIFRoZSBkYXRhIGNhbgp0aGVuIGJlIHJlYWQgaW4gdXNlcmxhbmQgdmlh IHRoZSBkZWJ1Z2ZzIG1lY2hhbmlzbS4KCnYyOiBVcGRhdGVkIHRvIG1hdGNoIGNoYW5nZXMgdG8g c2NoZWR1bGVyIGltcGxlbWVudGF0aW9uLgoKQ2hhbmdlLUlkOiBJMzI2NmM2MzFjZDcwYzllZWIy YzIzNWY4OGY0OTNlNjA0NjJmODVkNwpGb3I6IFZJWi0xNTg3ClNpZ25lZC1vZmYtYnk6IEpvaG4g SGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysr KysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8IDExICsrKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgICAgICB8IDg3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVs ZXIuaCAgICAgIHwgMzYgKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMDMgaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmlu ZGV4IDhmMWMxMGMuLjllN2Q2N2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBA IC0zNjAzLDYgKzM2MDMsODIgQEAgc3RhdGljIGludCBpOTE1X2RycnNfc3RhdHVzKHN0cnVjdCBz ZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGk5 MTVfc2NoZWR1bGVyX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCit7CisJ c3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKikgbS0+ cHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0 cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwor CXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9zdGF0cyAqc3RhdHMgPSBzY2hlZHVsZXItPnN0YXRzOwor CXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9zdGF0c19ub2RlcyBub2RlX3N0YXRzW0k5MTVfTlVNX1JJ TkdTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOworCWNoYXIgICBzdHJbNTAgKiAo STkxNV9OVU1fUklOR1MgKyAxKV0sIG5hbWVbNTBdLCAqcHRyOworCWludCByZXQsIGksIHI7CisK KwlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+bW9kZV9jb25maWcubXV0ZXgp OworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKyNkZWZpbmUgUFJJTlRfVkFSKG5hbWUsIGZt dCwgdmFyKQkJCQkJXAorCWRvIHsJCQkJCQkJCVwKKwkJc3ByaW50ZihzdHIsICIlLTIycyIsIG5h bWUpOwkJCQlcCisJCXB0ciA9IHN0ciArIHN0cmxlbihzdHIpOwkJCQlcCisJCWZvcl9lYWNoX3Jp bmcocmluZywgZGV2X3ByaXYsIHIpIHsJCQlcCisJCQlzcHJpbnRmKHB0ciwgIiAlMTAiIGZtdCwg dmFyKTsJCQlcCisJCQlwdHIgKz0gc3RybGVuKHB0cik7CQkJCVwKKwkJfQkJCQkJCQlcCisJCXNl cV9wcmludGYobSwgIiVzXG4iLCBzdHIpOwkJCQlcCisJfSB3aGlsZSAoMCkKKworCVBSSU5UX1ZB UigiUmluZyBuYW1lOiIsICAgICAgICAgICAgICJzIiwgZGV2X3ByaXYtPnJpbmdbcl0ubmFtZSk7 CisJUFJJTlRfVkFSKCIgIFJpbmcgc2Vxbm8iLCAgICAgICAgICAgImQiLCByaW5nLT5nZXRfc2Vx bm8ocmluZywgZmFsc2UpKTsKKwlzZXFfcHV0YyhtLCAnXG4nKTsKKworCXNlcV9wdXRzKG0sICJC YXRjaCBzdWJtaXNzaW9uczpcbiIpOworCVBSSU5UX1ZBUigiICBRdWV1ZWQiLCAgICAgICAgICAg ICAgICJ1Iiwgc3RhdHNbcl0ucXVldWVkKTsKKwlQUklOVF9WQVIoIiAgU3VibWl0dGVkIiwgICAg ICAgICAgICAidSIsIHN0YXRzW3JdLnN1Ym1pdHRlZCk7CisJUFJJTlRfVkFSKCIgIENvbXBsZXRl ZCIsICAgICAgICAgICAgInUiLCBzdGF0c1tyXS5jb21wbGV0ZWQpOworCVBSSU5UX1ZBUigiICBF eHBpcmVkIiwgICAgICAgICAgICAgICJ1Iiwgc3RhdHNbcl0uZXhwaXJlZCk7CisJc2VxX3B1dGMo bSwgJ1xuJyk7CisKKwlzZXFfcHV0cyhtLCAiRmx1c2ggY291bnRzOlxuIik7CisJUFJJTlRfVkFS KCIgIEJ5IG9iamVjdCIsICAgICAgICAgICAgInUiLCBzdGF0c1tyXS5mbHVzaF9vYmopOworCVBS SU5UX1ZBUigiICBCeSByZXF1ZXN0IiwgICAgICAgICAgICJ1Iiwgc3RhdHNbcl0uZmx1c2hfcmVx KTsKKwlQUklOVF9WQVIoIiAgQnkgc3RhbXAiLCAgICAgICAgICAgICAidSIsIHN0YXRzW3JdLmZs dXNoX3N0YW1wKTsKKwlQUklOVF9WQVIoIiAgQmxhbmtldCIsICAgICAgICAgICAgICAidSIsIHN0 YXRzW3JdLmZsdXNoX2FsbCk7CisJUFJJTlRfVkFSKCIgIEVudHJpZXMgYnVtcGVkIiwgICAgICAg InUiLCBzdGF0c1tyXS5mbHVzaF9idW1wKTsKKwlQUklOVF9WQVIoIiAgRW50cmllcyBzdWJtaXR0 ZWQiLCAgICAidSIsIHN0YXRzW3JdLmZsdXNoX3N1Ym1pdCk7CisJc2VxX3B1dGMobSwgJ1xuJyk7 CisKKwlzZXFfcHV0cyhtLCAiTWlzY2VsbGFuZW91czpcbiIpOworCVBSSU5UX1ZBUigiICBFeGVj RWFybHkgcmV0cnkiLCAgICAgICJ1Iiwgc3RhdHNbcl0uZXhlY19lYXJseSk7CisJUFJJTlRfVkFS KCIgIEV4ZWNGaW5hbCByZXF1ZXVlIiwgICAgInUiLCBzdGF0c1tyXS5leGVjX2FnYWluKTsKKwlQ UklOVF9WQVIoIiAgRXhlY0ZpbmFsIGtpbGxlZCIsICAgICAidSIsIHN0YXRzW3JdLmV4ZWNfZGVh ZCk7CisJUFJJTlRfVkFSKCIgIEZlbmNlIHdhaXQiLCAgICAgICAgICAgInUiLCBzdGF0c1tyXS5m ZW5jZV93YWl0KTsKKwlQUklOVF9WQVIoIiAgRmVuY2Ugd2FpdCBhZ2FpbiIsICAgICAidSIsIHN0 YXRzW3JdLmZlbmNlX2FnYWluKTsKKwlQUklOVF9WQVIoIiAgRmVuY2Ugd2FpdCBpZ25vcmUiLCAg ICAidSIsIHN0YXRzW3JdLmZlbmNlX2lnbm9yZSk7CisJUFJJTlRfVkFSKCIgIEZlbmNlIHN1cHBs aWVkIiwgICAgICAgInUiLCBzdGF0c1tyXS5mZW5jZV9nb3QpOworCVBSSU5UX1ZBUigiICBIdW5n IGZseWluZyIsICAgICAgICAgICJ1Iiwgc3RhdHNbcl0ua2lsbF9mbHlpbmcpOworCVBSSU5UX1ZB UigiICBIdW5nIHF1ZXVlZCIsICAgICAgICAgICJ1Iiwgc3RhdHNbcl0ua2lsbF9xdWV1ZWQpOwor CXNlcV9wdXRjKG0sICdcbicpOworCisJc2VxX3B1dHMobSwgIlF1ZXVlIGNvbnRlbnRzOlxuIik7 CisJZm9yX2VhY2hfcmluZyhyaW5nLCBkZXZfcHJpdiwgaSkKKwkJaTkxNV9zY2hlZHVsZXJfcXVl cnlfc3RhdHMocmluZywgbm9kZV9zdGF0cyArIHJpbmctPmlkKTsKKworCWZvciAoaSA9IDA7IGkg PCAoaTkxNV9zcXNfTUFYICsgMSk7IGkrKykgeworCQlzcHJpbnRmKG5hbWUsICIgICVzIiwgaTkx NV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzX3N0cihpKSk7CisJCVBSSU5UX1ZBUihuYW1lLCAiZCIs IG5vZGVfc3RhdHNbcl0uY291bnRzW2ldKTsKKwl9CisJc2VxX3B1dGMobSwgJ1xuJyk7CisKKyN1 bmRlZiBQUklOVF9WQVIKKworCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7 CisKKwlyZXR1cm4gMDsKK30KKwogc3RydWN0IHBpcGVfY3JjX2luZm8gewogCWNvbnN0IGNoYXIg Km5hbWU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldjsKQEAgLTU1NzEsNiArNTY0Nyw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2luZm9fbGlzdCBpOTE1X2RlYnVnZnNfbGlzdFtdID0gewog CXsiaTkxNV9zZW1hcGhvcmVfc3RhdHVzIiwgaTkxNV9zZW1hcGhvcmVfc3RhdHVzLCAwfSwKIAl7 Imk5MTVfc2hhcmVkX2RwbGxzX2luZm8iLCBpOTE1X3NoYXJlZF9kcGxsc19pbmZvLCAwfSwKIAl7 Imk5MTVfZHBfbXN0X2luZm8iLCBpOTE1X2RwX21zdF9pbmZvLCAwfSwKKwl7Imk5MTVfc2NoZWR1 bGVyX2luZm8iLCBpOTE1X3NjaGVkdWxlcl9pbmZvLCAwfSwKIAl7Imk5MTVfd2FfcmVnaXN0ZXJz IiwgaTkxNV93YV9yZWdpc3RlcnMsIDB9LAogCXsiaTkxNV9kZGJfaW5mbyIsIGk5MTVfZGRiX2lu Zm8sIDB9LAogCXsiaTkxNV9zc2V1X3N0YXR1cyIsIGk5MTVfc3NldV9zdGF0dXMsIDB9LApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IGNhNTcxNDcuLmRm ZDljMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAg LTE0MjIsMTMgKzE0MjIsMjAgQEAgc3RhdGljIGludCBpOTE1X2Vhcmx5X2ZlbmNlX3dhaXQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgaW50IGZlbmNlX2ZkKQogCX0KIAogCWlmICghc3lu Y19mZW5jZV9pc19zaWduYWxlZChmZW5jZSkpIHsKKwkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwkJc3RydWN0IGk5MTVfc2NoZWR1 bGVyICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOworCiAJCS8qCiAJCSAqIFdhaXQg Zm9yZXZlciBmb3IgdGhlIGZlbmNlIHRvIGJlIHNpZ25hbGxlZC4gVGhpcyBpcyBzYWZlCiAJCSAq IGJlY2F1c2UgdGhlIHRoZSBtdXRleCBsb2NrIGhhcyBub3QgeWV0IGJlZW4gYWNxdWlyZWQgYW5k CiAJCSAqIHRoZSB3YWl0IGlzIGludGVycnVwdGlibGUuCiAJCSAqLwotCQlpZiAoIWk5MTVfc2Fm ZV90b19pZ25vcmVfZmVuY2UocmluZywgZmVuY2UpKQorCQlpZiAoaTkxNV9zYWZlX3RvX2lnbm9y ZV9mZW5jZShyaW5nLCBmZW5jZSkpCisJCQlzY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5mZW5j ZV9pZ25vcmUrKzsKKwkJZWxzZSB7CisJCQlzY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5mZW5j ZV93YWl0Kys7CiAJCQlyZXQgPSBzeW5jX2ZlbmNlX3dhaXQoZmVuY2UsIC0xKTsKKwkJfQogCX0K IAogCXN5bmNfZmVuY2VfcHV0KGZlbmNlKTsKQEAgLTE4NDQsNiArMTg1MSw4IEBAIGVycjoKIAlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAogcHJlX211dGV4X2VycjoKKwlkZXZf cHJpdi0+c2NoZWR1bGVyLT5zdGF0c1tyaW5nLT5pZF0uZXhlY19lYXJseSsrOworCiAJcmV0dXJu IHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVs ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKaW5kZXggNWVlYzIx Ny4uMmFjYzc5OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVs ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCkBAIC0xMjEs NiArMTIxLDkgQEAgY29uc3QgY2hhciAqaTkxNV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzX3N0cigK IAljYXNlIGk5MTVfc3FzX2RlYWQ6CiAJcmV0dXJuICJEZWFkIjsKIAorCWNhc2UgaTkxNV9zcXNf TUFYOgorCXJldHVybiAiSW52YWxpZCI7CisKIAlkZWZhdWx0OgogCWJyZWFrOwogCX0KQEAgLTIx MCw5ICsyMTMsMTQgQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2V4ZWNidWZmZXIoc3RydWN0 IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAogCUJVR19PTighc2NoZWR1bGVyKTsK IAorCWlmIChxZS0+cGFyYW1zLmZlbmNlX3dhaXQpCisJCXNjaGVkdWxlci0+c3RhdHNbcmluZy0+ aWRdLmZlbmNlX2dvdCsrOworCiAJaWYgKGk5MTUuc2NoZWR1bGVyX292ZXJyaWRlICYgaTkxNV9z b19kaXJlY3Rfc3VibWl0KSB7CiAJCWludCByZXQ7CiAKKwkJc2NoZWR1bGVyLT5zdGF0c1txZS0+ cGFyYW1zLnJpbmctPmlkXS5xdWV1ZWQrKzsKKwogCQl0cmFjZV9pOTE1X3NjaGVkdWxlcl9xdWV1 ZShxZS0+cGFyYW1zLnJpbmcsIHFlKTsKIAogCQlXQVJOX09OKHFlLT5wYXJhbXMuZmVuY2Vfd2Fp dCAmJgpAQCAtMjIyLDYgKzIzMCw3IEBAIGludCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9leGVjYnVm ZmVyKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqcWUpCiAKIAkJc2NoZWR1bGVy LT5mbGFnc1txZS0+cGFyYW1zLnJpbmctPmlkXSB8PSBpOTE1X3NmX3N1Ym1pdHRpbmc7CiAJCXJl dCA9IGRldl9wcml2LT5ndC5leGVjYnVmX2ZpbmFsKCZxZS0+cGFyYW1zKTsKKwkJc2NoZWR1bGVy LT5zdGF0c1txZS0+cGFyYW1zLnJpbmctPmlkXS5zdWJtaXR0ZWQrKzsKIAkJc2NoZWR1bGVyLT5m bGFnc1txZS0+cGFyYW1zLnJpbmctPmlkXSAmPSB+aTkxNV9zZl9zdWJtaXR0aW5nOwogCiAJCS8q CkBAIC0yNTUsNiArMjY0LDggQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2V4ZWNidWZmZXIo c3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAkJaWYgKHFlLT5wYXJhbXMu ZmVuY2Vfd2FpdCkKIAkJCXN5bmNfZmVuY2VfcHV0KHFlLT5wYXJhbXMuZmVuY2Vfd2FpdCk7CiAK KwkJc2NoZWR1bGVyLT5zdGF0c1txZS0+cGFyYW1zLnJpbmctPmlkXS5leHBpcmVkKys7CisKIAkJ cmV0dXJuIDA7CiAJfQogCkBAIC0zNjgsNiArMzc5LDggQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1 ZXVlX2V4ZWNidWZmZXIoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAkJ bm90X2ZseWluZyA9IGk5MTVfc2NoZWR1bGVyX2NvdW50X2ZseWluZyhzY2hlZHVsZXIsIHJpbmcp IDwKIAkJCQkJCQkgc2NoZWR1bGVyLT5taW5fZmx5aW5nOwogCisJc2NoZWR1bGVyLT5zdGF0c1ty aW5nLT5pZF0ucXVldWVkKys7CisKIAl0cmFjZV9pOTE1X3NjaGVkdWxlcl9xdWV1ZShyaW5nLCBu b2RlKTsKIAl0cmFjZV9pOTE1X3NjaGVkdWxlcl9ub2RlX3N0YXRlX2NoYW5nZShyaW5nLCBub2Rl KTsKIApAQCAtNDcyLDcgKzQ4NSw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfc2NoZWR1bGVyX25vZGVf cmVxdWV1ZShzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgKm5vZGUpCiAKIC8qIEdp dmUgdXAgb24gYSBwb3BwZWQgbm9kZSBjb21wbGV0ZWx5LiBGb3IgZXhhbXBsZSwgYmVjYXVzZSBp dCBpcyBjYXVzaW5nIHRoZQogICogcmluZyB0byBoYW5nIG9yIGlzIHVzaW5nIHNvbWUgcmVzb3Vy Y2UgdGhhdCBubyBsb25nZXIgZXhpc3RzLiAqLwotc3RhdGljIHZvaWQgaTkxNV9zY2hlZHVsZXJf bm9kZV9raWxsKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSkKK3N0YXRp YyB2b2lkIGk5MTVfc2NoZWR1bGVyX25vZGVfa2lsbChzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNj aGVkdWxlciwKKwkJCQkgICAgIHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9k ZSkKIHsKIAlCVUdfT04oIW5vZGUpOwogCUJVR19PTighSTkxNV9TUVNfSVNfRkxZSU5HKG5vZGUp KTsKQEAgLTQ4MCw2ICs0OTQsOCBAQCBzdGF0aWMgdm9pZCBpOTE1X3NjaGVkdWxlcl9ub2RlX2tp bGwoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpub2RlKQogCW5vZGUtPnN0YXR1 cyA9IGk5MTVfc3FzX2RlYWQ7CiAJdHJhY2VfaTkxNV9zY2hlZHVsZXJfdW5mbHkobm9kZS0+cGFy YW1zLnJpbmcsIG5vZGUpOwogCXRyYWNlX2k5MTVfc2NoZWR1bGVyX25vZGVfc3RhdGVfY2hhbmdl KG5vZGUtPnBhcmFtcy5yaW5nLCBub2RlKTsKKworCXNjaGVkdWxlci0+c3RhdHNbbm9kZS0+cGFy YW1zLnJpbmctPmlkXS5raWxsX2ZseWluZysrOwogfQogCiAvKgpAQCAtNTA5LDEwICs1MjUsMTMg QEAgYm9vbCBpOTE1X3NjaGVkdWxlcl9ub3RpZnlfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSkKIAlXQVJOX09OKCFJOTE1X1NRU19JU19GTFlJTkcobm9kZSkpOwogCiAJ LyogTm9kZSB3YXMgaW4gZmxpZ2h0IHNvIG1hcmsgaXQgYXMgY29tcGxldGUuICovCi0JaWYgKHJl cS0+Y2FuY2VsbGVkKQorCWlmIChyZXEtPmNhbmNlbGxlZCkgewogCQlub2RlLT5zdGF0dXMgPSBp OTE1X3Nxc19kZWFkOwotCWVsc2UKKwkJc2NoZWR1bGVyLT5zdGF0c1tyZXEtPnJpbmctPmlkXS5r aWxsX2ZseWluZysrOworCX0gZWxzZSB7CiAJCW5vZGUtPnN0YXR1cyA9IGk5MTVfc3FzX2NvbXBs ZXRlOworCQlzY2hlZHVsZXItPnN0YXRzW3JlcS0+cmluZy0+aWRdLmNvbXBsZXRlZCsrOworCX0K IAogCXRyYWNlX2k5MTVfc2NoZWR1bGVyX25vZGVfc3RhdGVfY2hhbmdlKHJlcS0+cmluZywgbm9k ZSk7CiAKQEAgLTYzNyw2ICs2NTYsNyBAQCBzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX3JlbW92 ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCiAJCWxpc3RfZGVsKCZub2RlLT5saW5r KTsKIAkJbGlzdF9hZGQoJm5vZGUtPmxpbmssICZyZW1vdmUpOworCQlzY2hlZHVsZXItPnN0YXRz W3JpbmctPmlkXS5leHBpcmVkKys7CiAKIAkJLyogU3RyaXAgdGhlIGRlcGVuZGVuY3kgaW5mbyB3 aGlsZSB0aGUgbXV0ZXggaXMgc3RpbGwgbG9ja2VkICovCiAJCWk5MTVfc2NoZWR1bGVyX3JlbW92 ZV9kZXBlbmRlbnQoc2NoZWR1bGVyLCBub2RlKTsKQEAgLTg3OSw2ICs4OTksMzUgQEAgc3RhdGlj IGludCBpOTE1X3NjaGVkdWxlcl9kdW1wX2xvY2tlZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLCBjb25zdCBjaGFyICoKIAlyZXR1cm4gMDsKIH0KIAoraW50IGk5MTVfc2NoZWR1bGVyX3F1 ZXJ5X3N0YXRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkgICAgICAgc3RydWN0 IGk5MTVfc2NoZWR1bGVyX3N0YXRzX25vZGVzICpzdGF0cykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpOTE1 X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOworCXN0cnVjdCBp OTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAgKm5vZGU7CisJdW5zaWduZWQgbG9uZyAgIGZsYWdz OworCisJbWVtc2V0KHN0YXRzLCAweDAwLCBzaXplb2YoKnN0YXRzKSk7CisKKwlzcGluX2xvY2tf aXJxc2F2ZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5 KG5vZGUsICZzY2hlZHVsZXItPm5vZGVfcXVldWVbcmluZy0+aWRdLCBsaW5rKSB7CisJCWlmIChu b2RlLT5zdGF0dXMgPj0gaTkxNV9zcXNfTUFYKSB7CisJCQlEUk1fREVCVUdfRFJJVkVSKCJJbnZh bGlkIG5vZGUgc3RhdGU6ICVkISBbdW5pcSA9ICVkLCBzZXFubyA9ICVkXVxuIiwKKwkJCQkJIG5v ZGUtPnN0YXR1cywgbm9kZS0+cGFyYW1zLnJlcXVlc3QtPnVuaXEsIG5vZGUtPnBhcmFtcy5yZXF1 ZXN0LT5zZXFubyk7CisKKwkJCXN0YXRzLT5jb3VudHNbaTkxNV9zcXNfTUFYXSsrOworCQkJY29u dGludWU7CisJCX0KKworCQlzdGF0cy0+Y291bnRzW25vZGUtPnN0YXR1c10rKzsKKwl9CisKKwlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKKworCXJldHVy biAwOworfQorCiBpbnQgaTkxNV9zY2hlZHVsZXJfZmx1c2hfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCQkgYm9vbCBpc19sb2NrZWQpCiB7CkBAIC05MTUsMTYg Kzk2NCwyMSBAQCBpbnQgaTkxNV9zY2hlZHVsZXJfZmx1c2hfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZHVsZXItPmxv Y2ssIGZsYWdzKTsKIAorCXNjaGVkdWxlci0+c3RhdHNbcmluZ19pZF0uZmx1c2hfcmVxKys7CisK IAlpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9idW1wX2NsZWFyKHNjaGVkdWxlcik7CiAKIAlmbHVz aF9jb3VudCA9IGk5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X2J1bXAoc2NoZWR1bGVyLAogCQkJICAg IHJlcS0+c2NoZWR1bGVyX3FlLCBzY2hlZHVsZXItPnByaW9yaXR5X2xldmVsX21heCk7CisJc2No ZWR1bGVyLT5zdGF0c1tyaW5nX2lkXS5mbHVzaF9idW1wICs9IGZsdXNoX2NvdW50OwogCiAJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CiAKIAlpZiAoZmx1 c2hfY291bnQpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiPCVzPiBCdW1wZWQgJWQgZW50cmllc1xu IiwgcmVxLT5yaW5nLT5uYW1lLCBmbHVzaF9jb3VudCk7CiAJCWZsdXNoX2NvdW50ID0gaTkxNV9z Y2hlZHVsZXJfc3VibWl0X21heF9wcmlvcml0eShyZXEtPnJpbmcsIGlzX2xvY2tlZCk7CisJCWlm IChmbHVzaF9jb3VudCA+IDApCisJCQlzY2hlZHVsZXItPnN0YXRzW3JpbmdfaWRdLmZsdXNoX3N1 Ym1pdCArPSBmbHVzaF9jb3VudDsKIAl9CiAKIAlyZXR1cm4gZmx1c2hfY291bnQ7CkBAIC05NTYs NiArMTAxMCw3IEBAIGludCBpOTE1X3NjaGVkdWxlcl9mbHVzaF9zdGFtcChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nLAogCX0KIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZHVsZXItPmxv Y2ssIGZsYWdzKTsKKwlzY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5mbHVzaF9zdGFtcCsrOwog CWk5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X2J1bXBfY2xlYXIoc2NoZWR1bGVyKTsKIAlsaXN0X2Zv cl9lYWNoX2VudHJ5KG5vZGUsICZzY2hlZHVsZXItPm5vZGVfcXVldWVbcmluZy0+aWRdLCBsaW5r KSB7CiAJCWlmICghSTkxNV9TUVNfSVNfUVVFVUVEKG5vZGUpKQpAQCAtOTY2LDEyICsxMDIxLDE1 IEBAIGludCBpOTE1X3NjaGVkdWxlcl9mbHVzaF9zdGFtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCiAJCWZsdXNoX2NvdW50ID0gaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfYnVtcChz Y2hlZHVsZXIsCiAJCQkJCW5vZGUsIHNjaGVkdWxlci0+cHJpb3JpdHlfbGV2ZWxfbWF4KTsKKwkJ c2NoZWR1bGVyLT5zdGF0c1tyaW5nLT5pZF0uZmx1c2hfYnVtcCArPSBmbHVzaF9jb3VudDsKIAl9 CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CiAKIAlp ZiAoZmx1c2hfY291bnQpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiPCVzPiBCdW1wZWQgJWQgZW50 cmllc1xuIiwgcmluZy0+bmFtZSwgZmx1c2hfY291bnQpOwogCQlmbHVzaF9jb3VudCA9IGk5MTVf c2NoZWR1bGVyX3N1Ym1pdF9tYXhfcHJpb3JpdHkocmluZywgaXNfbG9ja2VkKTsKKwkJaWYgKGZs dXNoX2NvdW50ID4gMCkKKwkJCXNjaGVkdWxlci0+c3RhdHNbcmluZy0+aWRdLmZsdXNoX3N1Ym1p dCArPSBmbHVzaF9jb3VudDsKIAl9CiAKIAlyZXR1cm4gZmx1c2hfY291bnQ7CkBAIC05OTgsNiAr MTA1Niw4IEBAIGludCBpOTE1X3NjaGVkdWxlcl9mbHVzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLCBib29sIGlzX2xvY2tlZCkKIAogCUJVR19PTihpc19sb2NrZWQgJiYgKHNjaGVkdWxl ci0+ZmxhZ3NbcmluZy0+aWRdICYgaTkxNV9zZl9zdWJtaXR0aW5nKSk7CiAKKwlzY2hlZHVsZXIt PnN0YXRzW3JpbmctPmlkXS5mbHVzaF9hbGwrKzsKKwogCWRvIHsKIAkJZm91bmQgPSBmYWxzZTsK IAkJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkdWxlci0+bG9jaywgZmxhZ3MpOwpAQCAtMTAxMiw2 ICsxMDcyLDcgQEAgaW50IGk5MTVfc2NoZWR1bGVyX2ZsdXNoKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsIGJvb2wgaXNfbG9ja2VkKQogCiAJCWlmIChmb3VuZCkgewogCQkJcmV0ID0gaTkx NV9zY2hlZHVsZXJfc3VibWl0KHJpbmcsIGlzX2xvY2tlZCk7CisJCQlzY2hlZHVsZXItPnN0YXRz W3JpbmctPmlkXS5mbHVzaF9zdWJtaXQrKzsKIAkJCWlmIChyZXQgPCAwKQogCQkJCXJldHVybiBy ZXQ7CiAKQEAgLTExNDksMTUgKzEyMTAsMjAgQEAgc3RhdGljIHZvaWQgaTkxNV9zY2hlZHVsZXJf d2FpdF9mZW5jZV9zaWduYWxlZChzdHJ1Y3Qgc3luY19mZW5jZSAqZmVuY2UsCiBzdGF0aWMgYm9v bCBpOTE1X3NjaGVkdWxlcl9hc3luY19mZW5jZV93YWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJCQkJCSAgICBzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgKm5vZGUpCiB7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgICAgICAgICAqZGV2X3ByaXYgPSBub2RlLT5wYXJhbXMu cmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgICAgICAgICAg ICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwogCXN0cnVjdCBpOTE1X3N5bmNfZmVu Y2Vfd2FpdGVyCSpmZW5jZV93YWl0ZXI7CiAJc3RydWN0IHN5bmNfZmVuY2UJCSpmZW5jZSA9IG5v ZGUtPnBhcmFtcy5mZW5jZV93YWl0OwogCWludAkJCQlzaWduYWxlZDsKIAlib29sCQkJCXN1Y2Nl c3MgPSB0cnVlOwogCi0JaWYgKChub2RlLT5mbGFncyAmIGk5MTVfcWVmX2ZlbmNlX3dhaXRpbmcp ID09IDApCisJaWYgKChub2RlLT5mbGFncyAmIGk5MTVfcWVmX2ZlbmNlX3dhaXRpbmcpID09IDAp IHsKIAkJbm9kZS0+ZmxhZ3MgfD0gaTkxNV9xZWZfZmVuY2Vfd2FpdGluZzsKLQllbHNlCisJCXNj aGVkdWxlci0+c3RhdHNbbm9kZS0+cGFyYW1zLnJpbmctPmlkXS5mZW5jZV93YWl0Kys7CisJfSBl bHNlIHsKKwkJc2NoZWR1bGVyLT5zdGF0c1tub2RlLT5wYXJhbXMucmluZy0+aWRdLmZlbmNlX2Fn YWluKys7CiAJCXJldHVybiB0cnVlOworCX0KIAogCWlmIChmZW5jZSA9PSBOVUxMKQogCQlyZXR1 cm4gZmFsc2U7CkBAIC0xMjIyLDggKzEyODgsMTAgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxl cl9wb3BfZnJvbV9xdWV1ZV9sb2NrZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJ ZWxzZQogCQkJc2lnbmFsbGVkID0gdHJ1ZTsKIAotCQlpZiAoIXNpZ25hbGxlZCkKKwkJaWYgKCFz aWduYWxsZWQpIHsKIAkJCXNpZ25hbGxlZCA9IGk5MTVfc2FmZV90b19pZ25vcmVfZmVuY2Uocmlu Zywgbm9kZS0+cGFyYW1zLmZlbmNlX3dhaXQpOworCQkJc2NoZWR1bGVyLT5zdGF0c1tub2RlLT5w YXJhbXMucmluZy0+aWRdLmZlbmNlX2lnbm9yZSsrOworCQl9CiAKIAkJaGFzX2xvY2FsICA9IGZh bHNlOwogCQloYXNfcmVtb3RlID0gZmFsc2U7CkBAIC0xMzYwLDYgKzE0MjgsOCBAQCBzdGF0aWMg aW50IGk5MTVfc2NoZWR1bGVyX3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBi b29sIHdhc19sb2NrZWQpCiAJCSAqIGxpc3QuIFNvIGFkZCBpdCBiYWNrIGluIGFuZCBtYXJrIGl0 IGFzIGluIGZsaWdodC4gKi8KIAkJaTkxNV9zY2hlZHVsZXJfZmx5X25vZGUobm9kZSk7CiAKKwkJ c2NoZWR1bGVyLT5zdGF0c1tyaW5nLT5pZF0uc3VibWl0dGVkKys7CisKIAkJc2NoZWR1bGVyLT5m bGFnc1tyaW5nLT5pZF0gfD0gaTkxNV9zZl9zdWJtaXR0aW5nOwogCQlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKIAkJcmV0ID0gZGV2X3ByaXYtPmd0LmV4 ZWNidWZfZmluYWwoJm5vZGUtPnBhcmFtcyk7CkBAIC0xMzc4LDYgKzE0NDgsNyBAQCBzdGF0aWMg aW50IGk5MTVfc2NoZWR1bGVyX3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBi b29sIHdhc19sb2NrZWQpCiAJCQljYXNlIEVOT0VOVDoKIAkJCQkvKiBGYXRhbCBlcnJvcnMuIEtp bGwgdGhlIG5vZGUuICovCiAJCQkJcmVxdWV1ZSA9IC0xOworCQkJCXNjaGVkdWxlci0+c3RhdHNb cmluZy0+aWRdLmV4ZWNfZGVhZCsrOwogCQkJYnJlYWs7CiAKIAkJCWNhc2UgRUFHQUlOOgpAQCAt MTM4NywxMiArMTQ1OCwxNCBAQCBzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX3N1Ym1pdChzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBib29sIHdhc19sb2NrZWQpCiAJCQljYXNlIEVSRVNU QVJUU1lTOgogCQkJY2FzZSBFSU5UUjoKIAkJCQkvKiBTdXBwb3NlZGx5IHJlY292ZXJhYmxlIGVy cm9ycy4gKi8KKwkJCQlzY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5leGVjX2FnYWluKys7CiAJ CQlicmVhazsKIAogCQkJZGVmYXVsdDoKIAkJCQlEUk1fREVCVUdfRFJJVkVSKCI8JXM+IEdvdCB1 bmV4cGVjdGVkIGVycm9yIGZyb20gZXhlY2ZpbmFsKCk6ICVkIVxuIiwKIAkJCQkJCSByaW5nLT5u YW1lLCByZXQpOwogCQkJCS8qIEFzc3VtZSBpdCBpcyByZWNvdmVyYWJsZSBhbmQgaG9wZSBmb3Ig dGhlIGJlc3QuICovCisJCQkJc2NoZWR1bGVyLT5zdGF0c1tyaW5nLT5pZF0uZXhlY19hZ2Fpbisr OwogCQkJYnJlYWs7CiAJCQl9CiAKQEAgLTE0MDgsNyArMTQ4MSw3IEBAIHN0YXRpYyBpbnQgaTkx NV9zY2hlZHVsZXJfc3VibWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgd2Fz X2xvY2tlZCkKIAkJCQkgKiBsYXRlci4gKi8KIAkJCQlicmVhazsKIAkJCX0gZWxzZSBpZiAocmVx dWV1ZSA9PSAtMSkKLQkJCQlpOTE1X3NjaGVkdWxlcl9ub2RlX2tpbGwobm9kZSk7CisJCQkJaTkx NV9zY2hlZHVsZXJfbm9kZV9raWxsKHNjaGVkdWxlciwgbm9kZSk7CiAJCX0KIAogCQkvKiBLZWVw IGxhdW5jaGluZyB1bnRpbCB0aGUgc2t5IGlzIHN1ZmZpY2llbnRseSBmdWxsLiAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmgKaW5kZXggYjU1MThiNS4uZWE3MGEzZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCkBAIC03NSw2ICs3NSwzNyBAQCBzdHJ1Y3Qg aTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgewogfTsKIGNvbnN0IGNoYXIgKmk5MTVfcWVfc3Rh dGVfc3RyKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSk7CiAKK3N0cnVj dCBpOTE1X3NjaGVkdWxlcl9zdGF0c19ub2RlcyB7CisJdWludDMyX3QJY291bnRzW2k5MTVfc3Fz X01BWCArIDFdOworfTsKKworc3RydWN0IGk5MTVfc2NoZWR1bGVyX3N0YXRzIHsKKwkvKiBCYXRj aCBidWZmZXIgY291bnRzOiAqLworCXVpbnQzMl90ICAgICAgICAgICAgcXVldWVkOworCXVpbnQz Ml90ICAgICAgICAgICAgc3VibWl0dGVkOworCXVpbnQzMl90ICAgICAgICAgICAgY29tcGxldGVk OworCXVpbnQzMl90ICAgICAgICAgICAgZXhwaXJlZDsKKworCS8qIE90aGVyIHN0dWZmOiAqLwor CXVpbnQzMl90ICAgICAgICAgICAgZmx1c2hfb2JqOworCXVpbnQzMl90ICAgICAgICAgICAgZmx1 c2hfcmVxOworCXVpbnQzMl90ICAgICAgICAgICAgZmx1c2hfc3RhbXA7CisJdWludDMyX3QgICAg ICAgICAgICBmbHVzaF9hbGw7CisJdWludDMyX3QgICAgICAgICAgICBmbHVzaF9idW1wOworCXVp bnQzMl90ICAgICAgICAgICAgZmx1c2hfc3VibWl0OworCisJdWludDMyX3QgICAgICAgICAgICBl eGVjX2Vhcmx5OworCXVpbnQzMl90ICAgICAgICAgICAgZXhlY19hZ2FpbjsKKwl1aW50MzJfdCAg ICAgICAgICAgIGV4ZWNfZGVhZDsKKwl1aW50MzJfdCAgICAgICAgICAgIGtpbGxfZmx5aW5nOwor CXVpbnQzMl90ICAgICAgICAgICAga2lsbF9xdWV1ZWQ7CisKKwl1aW50MzJfdCAgICAgICAgICAg IGZlbmNlX3dhaXQ7CisJdWludDMyX3QgICAgICAgICAgICBmZW5jZV9hZ2FpbjsKKwl1aW50MzJf dCAgICAgICAgICAgIGZlbmNlX2lnbm9yZTsKKwl1aW50MzJfdCAgICAgICAgICAgIGZlbmNlX2dv dDsKK307CisKIHN0cnVjdCBpOTE1X3NjaGVkdWxlciB7CiAJc3RydWN0IGxpc3RfaGVhZCAgICBu b2RlX3F1ZXVlW0k5MTVfTlVNX1JJTkdTXTsKIAl1aW50MzJfdCAgICAgICAgICAgIGZsYWdzW0k5 MTVfTlVNX1JJTkdTXTsKQEAgLTg2LDYgKzExNyw5IEBAIHN0cnVjdCBpOTE1X3NjaGVkdWxlciB7 CiAJaW50MzJfdCAgICAgICAgICAgICBwcmlvcml0eV9sZXZlbF9wcmVlbXB0OwogCXVpbnQzMl90 ICAgICAgICAgICAgbWluX2ZseWluZzsKIAl1aW50MzJfdCAgICAgICAgICAgIGZpbGVfcXVldWVf bWF4OworCisJLyogU3RhdGlzdGljczogKi8KKwlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfc3RhdHMg ICAgIHN0YXRzW0k5MTVfTlVNX1JJTkdTXTsKIH07CiAKIC8qIEZsYWcgYml0cyBmb3IgaTkxNV9z Y2hlZHVsZXI6OmZsYWdzICovCkBAIC0xMjYsNiArMTYwLDggQEAgaW50ICAgICAgICAgaTkxNV9z Y2hlZHVsZXJfZHVtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogaW50ICAgICAgICAg aTkxNV9zY2hlZHVsZXJfZHVtcF9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3QgY2hh ciAqbXNnKTsKIGJvb2wgICAgICAgIGk5MTVfc2NoZWR1bGVyX2lzX3JlcXVlc3RfdHJhY2tlZChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCQkJICAgICAgYm9vbCAqY29tcGxl dGVkLCBib29sICpidXN5KTsKK2ludCAgICAgICAgIGk5MTVfc2NoZWR1bGVyX3F1ZXJ5X3N0YXRz KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkJICAgICAgIHN0cnVjdCBpOTE1X3Nj aGVkdWxlcl9zdGF0c19ub2RlcyAqc3RhdHMpOwogYm9vbCAgICAgICAgaTkxNV9zY2hlZHVsZXJf ZmlsZV9xdWV1ZV9pc19mdWxsKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7CiAKICNlbmRpZiAgLyog X0k5MTVfU0NIRURVTEVSX0hfICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK