From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lohith BS Subject: [PATCH i-g-t v11] tests/kms_frontbuffer_tracking: Including DRRS test coverage Date: Wed, 3 Jan 2018 20:32:07 +0530 Message-ID: <1514991727-6817-1-git-send-email-lohith.bs@intel.com> References: <1514814332-31840-1-git-send-email-lohith.bs@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C65D8967A for ; Wed, 3 Jan 2018 15:09:01 +0000 (UTC) In-Reply-To: <1514814332-31840-1-git-send-email-lohith.bs@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, paulo.r.zanoni@intel.com, rodrigo.vivi@intel.com, jani.saarinen@intel.com, daniel.vetter@ffwll.ch, chris@chris-wilson.co.uk, jari.tahvanainen@intel.com Cc: ankit.k.nautiyal@intel.com List-Id: intel-gfx@lists.freedesktop.org RHluYW1pYyBSZWZyZXNoIFJhdGUgU3dpdGNoKERSUlMpIGlzIHVzZWQgdG8gc3dpdGNoIHRoZSBw YW5lbCdzCnJlZnJlc2ggcmF0ZSB0byB0aGUgbG93ZXN0IHZyZWZyZXNoIHN1cHBvcnRlZCBieSBw YW5lbCwgd2hlbiBmcmFtZSBpcwpub3QgZmxpcHBlZCBmb3IgbW9yZSB0aGFuIGEgU2VjLgoKSW4g a2VybmVsLCBEUlJTIHVzZXMgdGhlIGZyb250IGJ1ZmZlciB0cmFja2luZyBpbmZyYXN0cnVjdHVy ZS4KSGVuY2UgRFJSUyB0ZXN0IGNvdmVyYWdlIGlzIGFkZGVkIGFsb25nIHdpdGggb3RoZXIgZnJv bnRidWZmZXIgdHJhY2tpbmcKYmFzZWQgZmVhdHVyZXMgc3VjaCBhcyBGQkMgYW5kIFBTUiB0ZXN0 cy4KCkhlcmUsIHdlIGFyZSB0ZXN0aW5nIERSUlMgd2l0aCBvdGhlciBmZWF0dXJlcyBpbiBhbGwg cG9zc2libGUKY29tYmluYXRpb25zLCBpbiBhbGwgcmVxdWlyZWQgdGVzdCBjYXNlcywgdG8gY2Fw dHVyZSBhbnkgcG9zc2libGUKcmVncmVzc2lvbi4KCnYyOiBBZGRyZXNzZWQgdGhlIGNvbW1lbnRz IGFuZCBzdWdnZXN0aW9ucyBmcm9tIFZsYWQsIE1hcml1cy4KICAgIFRoZSBzaWdub2ZmIGRldGFp bHMgZnJvbSB0aGUgZWFybGllciB3b3JrIGFyZSBhbHNvIGluY2x1ZGVkLgoKdjM6IE1vZGlmaWVk IHZibGFuayByYXRlIGNhbGN1bGF0aW9uIGJ5IHVzaW5nIHJlcGx5LXNlcXVlbmNlLAogICAgcHJv dmlkZWQgYnkgZHJtV2FpdFZCbGFuaywgYXMgc3VnZ2VzdGVkIGJ5IENocmlzIFdpbHNvbi4KCnY0 OiBBcyBzdWdnZXN0ZWQgZnJvbSBDaHJpcyBXaWxzb24gYW5kIERhbmllbCBWZXR0ZXIKICAgIDEp IEF2b2lkZWQgdXNpbmcgcHRocmVhZCBmb3IgY2FsY3VsYXRpbmcgdmJsYW5rIHJlZnJlc2ggcmF0 ZSwKICAgICAgIGluc3RlYWQgdXNlZCBkcm1XYWl0VkJsYW5rIHJlcGx5IHNlcXVlbmNlLgogICAg MikgQXZvaWRlZCB1c2luZyBrZXJuZWwtc3BlY2lmaWMgaW5mbyBsaWtlIHRyYW5zaXRpb25hbCBk ZWxheXMsCiAgICAgICBpbnN0ZWFkIHBvbGxpbmcgbWVjaGFuaXNtIHdpdGggdGltZW91dCBpcyB1 c2VkLgogICAgMykgSW5jbHVkZWQgZWRwLURSUlMgYXMgYSBzdWJ0ZXN0IGluIGttc19mcm9udGJ1 ZmZlcl90cmFja2luZy5jLAogICAgICAgaW5zdGVhZCBvZiBoYXZpbmcgYSBzZXBhcmF0ZSB0ZXN0 LgoKdjU6IFRoaXMgcGF0Y2ggYWRkcyBEUlJTIGFzIGEgbmV3IGZlYXR1cmUgaW4gdGhlCiAgICBr bXNfZnJvbnRidWZmZXJfdHJhY2tpbmcgSUdULgogICAgRFJSUyBzd2l0Y2ggdG8gbG93ZXIgdnJl ZnJlc2ggcmF0ZSBpcyB0ZXN0ZWQgYXQgc2xvdy1kcmF3IHN1YnRlc3QuCgogICAgTm90ZToKICAg IDEpIEN1cnJlbnRseSBrZXJuZWwgZG9lc24ndCBoYXZlIHN1cHBvcnQgdG8gZW5hYmxlIGFuZCBk aXNhYmxlCiAgICAgICB0aGUgRFJSUyBmZWF0dXJlIGR5bmFtaWNhbGx5KGFzIGluIGNhc2Ugb2Yg UFNSKS4gSGVuY2UgaWYgdGhlCiAgICAgICBwYW5lbCBzdXBwb3J0cyBEUlJTIGl0IHdpbGwgYmUg ZW5hYmxlZCBieSBkZWZhdWx0LgoKICAgIFRoaXMgaXMgaW4gY29udGludWF0aW9uIG9mIGxhc3Qg cGF0Y2gKCSJodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMTYyNzI2LyIK CnY2OiBUaGlzIHBhdGNoIGFkZHMgcnVudGltZSBlbmFibGUgYW5kIGRpc2FibGUgZmVhdHVyZSBm b3IgdGVzdGluZyBEUlJTCgp2NzogVGhpcyBwYXRjaCBhZGRzIHJ1bnRpbWUgZW5hYmxlIGFuZCBk aXNhYmxlIGZlYXR1cmUgZm9yIHRlc3RpbmcgRFJSUwogICAgdGhyb3VnaCBkZWJ1Z2ZzIGVudHJ5 ICJpOTE1X2RycnNfY3RsIi4KCnY4OiBDb21taXQgbWVzc2FnZSBpcyB1cGRhdGVkIHRvIHJlZmxl Y3QgY3VycmVudCBpbXBsZW1lbnRhdGlvbi4KCnY5OiBBZGRyZXNzZWQgUGF1bG8gWmFub25pIGNv bW1lbnRzLgogICAgQ2hlY2sgZm9yIERSUlNfTE9XIGF0IHRlc3RzIHdpdGggT0ZGU0NSRUVOICsg RkJTX0lORElWSURVQUwuCgp2MTA6IENvcnJlY3RlZCBEUlJTIHN0YXRlIGV4cGVjdGF0aW9uIGlu IHN1c3BlbmQgcmVsYXRlZCBzdWJ0ZXN0cy4KCnYxMTogUmVtb3ZpbmcgdGhlIGdsb2JhbCBmbGFn IGlzX3Bzcl9kcnJzX2NvbWJvIFtSb2RyaWdvXS4KClNpZ25lZC1vZmYtYnk6IExvaGl0aCBCUyA8 bG9oaXRoLmJzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogYWtuYXV0aXkgPGFua2l0LmsubmF1 dGl5YWxAaW50ZWwuY29tPgotLS0KIHRlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jIHwg MTg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5n ZWQsIDE3NSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3Rz L2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jIGIvdGVzdHMva21zX2Zyb250YnVmZmVyX3RyYWNr aW5nLmMKaW5kZXggMTYwMWNhYi4uNzg3NmExMiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2Zyb250 YnVmZmVyX3RyYWNraW5nLmMKKysrIGIvdGVzdHMva21zX2Zyb250YnVmZmVyX3RyYWNraW5nLmMK QEAgLTM0LDcgKzM0LDcgQEAKIAogCiBJR1RfVEVTVF9ERVNDUklQVElPTigiVGVzdCB0aGUgS2Vy bmVsJ3MgZnJvbnRidWZmZXIgdHJhY2tpbmcgbWVjaGFuaXNtIGFuZCAiCi0JCSAgICAgIml0cyBy ZWxhdGVkIGZlYXR1cmVzOiBGQkMgYW5kIFBTUiIpOworCQkgICAgICJpdHMgcmVsYXRlZCBmZWF0 dXJlczogRkJDLCBQU1IgYW5kIERSUlMiKTsKIAogLyoKICAqIE9uZSBvZiB0aGUgYXNwZWN0cyBv ZiB0aGlzIHRlc3QgaXMgdGhhdCwgZm9yIGV2ZXJ5IHN1YnRlc3QsIHdlIHRyeSBkaWZmZXJlbnQK QEAgLTEwNSw4ICsxMDUsOSBAQCBzdHJ1Y3QgdGVzdF9tb2RlIHsKIAkJRkVBVFVSRV9OT05FICA9 IDAsCiAJCUZFQVRVUkVfRkJDICAgPSAxLAogCQlGRUFUVVJFX1BTUiAgID0gMiwKLQkJRkVBVFVS RV9DT1VOVCA9IDQsCi0JCUZFQVRVUkVfREVGQVVMVCA9IDQsCisJCUZFQVRVUkVfRFJSUyAgPSA0 LAorCQlGRUFUVVJFX0NPVU5UID0gOCwKKwkJRkVBVFVSRV9ERUZBVUxUID0gOCwKIAl9IGZlYXR1 cmU7CiAKIAkvKiBQb3NzaWJsZSBwaXhlbCBmb3JtYXRzLiBXZSBqdXN0IHVzZSBGT1JNQVRfREVG QVVMVCBmb3IgbW9zdCB0ZXN0cyBhbmQKQEAgLTE1Niw2ICsxNTcsNyBAQCBzdHJ1Y3QgcmVjdCB7 CiBzdHJ1Y3QgewogCWludCBmZDsKIAlpbnQgZGVidWdmczsKKwlpbnQgZHJyc19kZWJ1Z2ZzX2Zk OwogCWRybU1vZGVSZXNQdHIgcmVzOwogCWRybU1vZGVDb25uZWN0b3JQdHIgY29ubmVjdG9yc1tN QVhfQ09OTkVDVE9SU107CiAJZHJtTW9kZUVuY29kZXJQdHIgZW5jb2RlcnNbTUFYX0VOQ09ERVJT XTsKQEAgLTE4Miw2ICsxODQsMTMgQEAgc3RydWN0IHsKIAkuY2FuX3Rlc3QgPSBmYWxzZSwKIH07 CiAKKyNkZWZpbmUgTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU4gMjU2CisKK3N0cnVjdCB7CisJYm9v bCBjYW5fdGVzdDsKK30gZHJycyA9IHsKKwkuY2FuX3Rlc3QgPSBmYWxzZSwKK307CiAKICNkZWZp bmUgU0lOS19DUkNfU0laRSAxMgogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtODI1LDYgKzgzNCw2NCBA QCBzdGF0aWMgdm9pZCBwc3JfcHJpbnRfc3RhdHVzKHZvaWQpCiAJaWd0X2luZm8oIlBTUiBzdGF0 dXM6XG4lc1xuIiwgYnVmKTsKIH0KIAordm9pZCBkcnJzX3NldCh1bnNpZ25lZCBpbnQgdmFsKQor eworCWNoYXIgYnVmWzJdOworCisJaWd0X2RlYnVnKCJNYW51YWxseSAlc2FibGluZyBEUlJTLiAl bGx1XG4iLCB2YWwgPyAiZW4iIDogImRpcyIsIHZhbCk7CisJc25wcmludGYoYnVmLCBzaXplb2Yo YnVmKSwgIiVkIiwgdmFsKTsKKwlpZ3RfYXNzZXJ0X2VxKHdyaXRlKGRybS5kcnJzX2RlYnVnZnNf ZmQsCisJCSAgICAgIGJ1Ziwgc3RybGVuKGJ1ZikpLCBzdHJsZW4oYnVmKSk7Cit9CisKK3N0YXRp YyBib29sIGlzX2RycnNfaGlnaCh2b2lkKQoreworCWNoYXIgYnVmW01BWF9EUlJTX1NUQVRVU19C VUZfTEVOXTsKKworCWRlYnVnZnNfcmVhZCgiaTkxNV9kcnJzX3N0YXR1cyIsIGJ1Zik7CisJcmV0 dXJuIHN0cnN0cihidWYsICJEUlJTX0hJR0hfUlIiKTsKK30KKworc3RhdGljIGJvb2wgaXNfZHJy c19sb3codm9pZCkKK3sKKwljaGFyIGJ1ZltNQVhfRFJSU19TVEFUVVNfQlVGX0xFTl07CisKKwlk ZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOworCXJldHVybiBzdHJzdHIoYnVm LCAiRFJSU19MT1dfUlIiKTsKK30KKworc3RhdGljIGJvb2wgaXNfZHJyc19zdXBwb3J0ZWQodm9p ZCkKK3sKKwljaGFyIGJ1ZltNQVhfRFJSU19TVEFUVVNfQlVGX0xFTl07CisKKwlkZWJ1Z2ZzX3Jl YWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOworCXJldHVybiBzdHJzdHIoYnVmLCAiRFJSUyBT dXBwb3J0ZWQ6IFllcyIpOworfQorCitzdGF0aWMgYm9vbCBpc19kcnJzX2luYWN0aXZlKHZvaWQp Cit7CisJY2hhciBidWZbTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU5dOworCisJZGVidWdmc19yZWFk KCJpOTE1X2RycnNfc3RhdHVzIiwgYnVmKTsKKworCWlmIChzdHJzdHIoYnVmLCAiTm8gYWN0aXZl IGNydGMgZm91bmQiKSkKKwkJcmV0dXJuIHRydWU7CisJaWYgKHN0cnN0cihidWYsICJJZGxlbmVz cyBEUlJTOiBEaXNhYmxlZCIpKQorCQlyZXR1cm4gdHJ1ZTsKKwlpZiAoc3Ryc3RyKGJ1ZiwgIkRS UlMgU3VwcG9ydGVkIDogTm8iKSkKKwkJcmV0dXJuIHRydWU7CisKKwlyZXR1cm4gZmFsc2U7Cit9 CisKK3N0YXRpYyB2b2lkIGRycnNfcHJpbnRfc3RhdHVzKHZvaWQpCit7CisJY2hhciBidWZbTUFY X0RSUlNfU1RBVFVTX0JVRl9MRU5dOworCisJZGVidWdmc19yZWFkKCJpOTE1X2RycnNfc3RhdHVz IiwgYnVmKTsKKwlpZ3RfaW5mbygiRFJSUyBTVEFUVVMgOlxuJXNcbiIsIGJ1Zik7Cit9CisKIHN0 YXRpYyBzdHJ1Y3QgdGltZXNwZWMgZmJjX2dldF9sYXN0X2FjdGlvbih2b2lkKQogewogCXN0cnVj dCB0aW1lc3BlYyByZXQgPSB7IDAsIDAgfTsKQEAgLTkzNSwxMCArMTAwMiwxNyBAQCBzdGF0aWMg Ym9vbCBwc3Jfd2FpdF91bnRpbF9lbmFibGVkKHZvaWQpCiAJcmV0dXJuIGlndF93YWl0KHBzcl9p c19lbmFibGVkKCksIDUwMDAsIDEpOwogfQogCitzdGF0aWMgYm9vbCBkcnJzX3dhaXRfdW50aWxf cnJfc3dpdGNoX3RvX2xvdyh2b2lkKQoreworCXJldHVybiBpZ3Rfd2FpdChpc19kcnJzX2xvdygp LCA1MDAwLCAxKTsKK30KKwogI2RlZmluZSBmYmNfZW5hYmxlKCkgaWd0X3NldF9tb2R1bGVfcGFy YW1faW50KCJlbmFibGVfZmJjIiwgMSkKICNkZWZpbmUgZmJjX2Rpc2FibGUoKSBpZ3Rfc2V0X21v ZHVsZV9wYXJhbV9pbnQoImVuYWJsZV9mYmMiLCAwKQogI2RlZmluZSBwc3JfZW5hYmxlKCkgaWd0 X3NldF9tb2R1bGVfcGFyYW1faW50KCJlbmFibGVfcHNyIiwgMSkKICNkZWZpbmUgcHNyX2Rpc2Fi bGUoKSBpZ3Rfc2V0X21vZHVsZV9wYXJhbV9pbnQoImVuYWJsZV9wc3IiLCAwKQorI2RlZmluZSBk cnJzX2VuYWJsZSgpCWRycnNfc2V0KDEpCisjZGVmaW5lIGRycnNfZGlzYWJsZSgpCWRycnNfc2V0 KDApCiAKIHN0YXRpYyB2b2lkIGdldF9zaW5rX2NyYyhzaW5rX2NyY190ICpjcmMsIGJvb2wgbWFu ZGF0b3J5KQogewpAQCAtMTE4NCw2ICsxMjU4LDcgQEAgc3RhdGljIHZvaWQgZGlzYWJsZV9mZWF0 dXJlcyhjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCiAJZmJjX2Rpc2FibGUoKTsKIAlwc3Jf ZGlzYWJsZSgpOworCWRycnNfZGlzYWJsZSgpOwogfQogCiBzdGF0aWMgdm9pZCAqYnVzeV90aHJl YWRfZnVuYyh2b2lkICpkYXRhKQpAQCAtMTUwOCw2ICsxNTgzLDEyIEBAIHN0YXRpYyB2b2lkIHRl YXJkb3duX2NyY3Modm9pZCkKIAlpZ3RfcGlwZV9jcmNfZnJlZShwaXBlX2NyYyk7CiB9CiAKK3N0 YXRpYyB2b2lkIHRlYXJkb3duX2RycnModm9pZCkKK3sKKwlpZiAoZHJtLmRycnNfZGVidWdmc19m ZCAhPSAtMSkKKwkJY2xvc2UoZHJtLmRycnNfZGVidWdmc19mZCk7Cit9CisKIHN0YXRpYyBib29s IGZiY19zdXBwb3J0ZWRfb25fY2hpcHNldCh2b2lkKQogewogCWNoYXIgYnVmWzEyOF07CkBAIC0x NTc3LDYgKzE2NTgsMjkgQEAgc3RhdGljIHZvaWQgdGVhcmRvd25fcHNyKHZvaWQpCiB7CiB9CiAK K3N0YXRpYyB2b2lkIHNldHVwX2RycnModm9pZCkKK3sKKwlpZiAoZ2V0X2Nvbm5lY3Rvcihwcmlt X21vZGVfcGFyYW1zLmNvbm5lY3Rvcl9pZCktPmNvbm5lY3Rvcl90eXBlICE9CisJICAgIERSTV9N T0RFX0NPTk5FQ1RPUl9lRFApIHsKKwkJaWd0X2luZm8oIkNhbid0IHRlc3QgRFJSUzogbm8gdXNh YmxlIGVEUCBzY3JlZW4uXG4iKTsKKwkJcmV0dXJuOworCX0KKworCWlmICghaXNfZHJyc19zdXBw b3J0ZWQoKSkgeworCQlpZ3RfaW5mbygiQ2FuJ3QgdGVzdCBEUlJTOiBOb3Qgc3VwcG9ydGVkLlxu Iik7CisJCXJldHVybjsKKwl9CisKKwlkcm0uZHJyc19kZWJ1Z2ZzX2ZkID0gb3BlbmF0KGRybS5k ZWJ1Z2ZzLCAiaTkxNV9kcnJzX2N0bCIsIE9fV1JPTkxZKTsKKworCWlmIChkcm0uZHJyc19kZWJ1 Z2ZzX2ZkID4gMCkgeworCQlkcnJzLmNhbl90ZXN0ID0gdHJ1ZTsKKwl9IGVsc2UgeworCQlpZ3Rf aW5mbygiQ2FuJ3QgdGVzdCBEUlJTOiBEZWJ1Z2ZzIGVudHJ5IGk5MTVfZHJyc19jdGwgbm90IGZv dW5kLlxuIik7CisJCWRycnMuY2FuX3Rlc3QgPSBmYWxzZTsKKwl9Cit9CisKIHN0YXRpYyB2b2lk IHNldHVwX2Vudmlyb25tZW50KHZvaWQpCiB7CiAJc2V0dXBfZHJtKCk7CkBAIC0xNTg0LDYgKzE2 ODgsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9lbnZpcm9ubWVudCh2b2lkKQogCiAJc2V0dXBfZmJj KCk7CiAJc2V0dXBfcHNyKCk7CisJc2V0dXBfZHJycygpOwogCiAJc2V0dXBfY3JjcygpOwogfQpA QCAtMTU5Niw2ICsxNzAxLDcgQEAgc3RhdGljIHZvaWQgdGVhcmRvd25fZW52aXJvbm1lbnQodm9p ZCkKIAl0ZWFyZG93bl9wc3IoKTsKIAl0ZWFyZG93bl9mYmMoKTsKIAl0ZWFyZG93bl9tb2Rlc2V0 KCk7CisJdGVhcmRvd25fZHJycygpOwogCXRlYXJkb3duX2RybSgpOwogfQogCkBAIC0xNjYyLDYg KzE3NjgsMTEgQEAgc3RhdGljIHZvaWQgZG9fZmx1c2goY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAq dCkKICNkZWZpbmUgQVNTRVJUX1BTUl9FTkFCTEVECQkoMSA8PCA2KQogI2RlZmluZSBBU1NFUlRf UFNSX0RJU0FCTEVECQkoMSA8PCA3KQogCisjZGVmaW5lIERSUlNfQVNTRVJUX0ZMQUdTCQkoNyA8 PCA4KQorI2RlZmluZSBBU1NFUlRfRFJSU19ISUdICQkoMSA8PCA4KQorI2RlZmluZSBBU1NFUlRf RFJSU19MT1cJCSgxIDw8IDkpCisjZGVmaW5lIEFTU0VSVF9EUlJTX0lOQUNUSVZFCQkoMSA8PCAx MCkKKwogc3RhdGljIGludCBhZGp1c3RfYXNzZXJ0aW9uX2ZsYWdzKGNvbnN0IHN0cnVjdCB0ZXN0 X21vZGUgKnQsIGludCBmbGFncykKIHsKIAlpZiAoIShmbGFncyAmIERPTlRfQVNTRVJUX0ZFQVRV UkVfU1RBVFVTKSkgewpAQCAtMTY2OSwxMiArMTc4MCwxNyBAQCBzdGF0aWMgaW50IGFkanVzdF9h c3NlcnRpb25fZmxhZ3MoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCwgaW50IGZsYWdzKQogCQkJ ZmxhZ3MgfD0gQVNTRVJUX0ZCQ19FTkFCTEVEOwogCQlpZiAoIShmbGFncyAmIEFTU0VSVF9QU1Jf RElTQUJMRUQpKQogCQkJZmxhZ3MgfD0gQVNTRVJUX1BTUl9FTkFCTEVEOworCQlpZiAoISgoZmxh Z3MgJiBBU1NFUlRfRFJSU19MT1cpIHx8CisJCSAgICAoZmxhZ3MgJiBBU1NFUlRfRFJSU19JTkFD VElWRSkpKQorCQkJZmxhZ3MgfD0gQVNTRVJUX0RSUlNfSElHSDsKIAl9CiAKIAlpZiAoKHQtPmZl YXR1cmUgJiBGRUFUVVJFX0ZCQykgPT0gMCkKIAkJZmxhZ3MgJj0gfkZCQ19BU1NFUlRfRkxBR1M7 CiAJaWYgKCh0LT5mZWF0dXJlICYgRkVBVFVSRV9QU1IpID09IDApCiAJCWZsYWdzICY9IH5QU1Jf QVNTRVJUX0ZMQUdTOworCWlmICgodC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykgPT0gMCkKKwkJ ZmxhZ3MgJj0gfkRSUlNfQVNTRVJUX0ZMQUdTOwogCiAJcmV0dXJuIGZsYWdzOwogfQpAQCAtMTcw Niw2ICsxODIyLDIzIEBAIHN0YXRpYyB2b2lkIGRvX3N0YXR1c19hc3NlcnRpb25zKGludCBmbGFn cykKIAkJcmV0dXJuOwogCX0KIAorCWlmIChmbGFncyAmIEFTU0VSVF9EUlJTX0hJR0gpIHsKKwkJ aWYgKCFpc19kcnJzX2hpZ2goKSkgeworCQkJZHJyc19wcmludF9zdGF0dXMoKTsKKwkJCWlndF9h c3NlcnRfZihmYWxzZSwgIkRSUlMgSElHSFxuIik7CisJCX0KKwl9IGVsc2UgaWYgKGZsYWdzICYg QVNTRVJUX0RSUlNfTE9XKSB7CisJCWlmICghZHJyc193YWl0X3VudGlsX3JyX3N3aXRjaF90b19s b3coKSkgeworCQkJZHJyc19wcmludF9zdGF0dXMoKTsKKwkJCWlndF9hc3NlcnRfZihmYWxzZSwg IkRSUlMgTE9XXG4iKTsKKwkJfQorCX0gZWxzZSBpZiAoZmxhZ3MgJiBBU1NFUlRfRFJSU19JTkFD VElWRSkgeworCQlpZiAoIWlzX2RycnNfaW5hY3RpdmUoKSkgeworCQkJZHJyc19wcmludF9zdGF0 dXMoKTsKKwkJCWlndF9hc3NlcnRfZihmYWxzZSwgIkRSUlMgSU5BQ1RJVkVcbiIpOworCQl9CisJ fQorCiAJaWYgKGZsYWdzICYgQVNTRVJUX0ZCQ19FTkFCTEVEKSB7CiAJCWlndF9yZXF1aXJlKCFm YmNfbm90X2Vub3VnaF9zdG9sZW4oKSk7CiAJCWlndF9yZXF1aXJlKCFmYmNfc3RyaWRlX25vdF9z dXBwb3J0ZWQoKSk7CkBAIC0xODMzLDYgKzE5NjYsOCBAQCBzdGF0aWMgdm9pZCBlbmFibGVfZmVh dHVyZXNfZm9yX3Rlc3QoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKIAkJZmJjX2VuYWJsZSgp OwogCWlmICh0LT5mZWF0dXJlICYgRkVBVFVSRV9QU1IpCiAJCXBzcl9lbmFibGUoKTsKKwlpZiAo dC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykKKwkJZHJyc19lbmFibGUoKTsKIH0KIAogc3RhdGlj IHZvaWQgY2hlY2tfdGVzdF9yZXF1aXJlbWVudHMoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkK QEAgLTE4NTIsNiArMTk4NywxOCBAQCBzdGF0aWMgdm9pZCBjaGVja190ZXN0X3JlcXVpcmVtZW50 cyhjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCQkJICAgICAgIkNhbid0IHRlc3QgUFNSIHdp dGhvdXQgc2luayBDUkNzXG4iKTsKIAl9CiAKKwlpZiAodC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJS UykKKwkJaWd0X3JlcXVpcmVfZihkcnJzLmNhbl90ZXN0LAorCQkJICAgICAgIkNhbid0IHRlc3Qg RFJSUyB3aXRoIHRoZSBjdXJyZW50IG91dHB1dHNcbiIpOworCisJLyoKKwkgKiBJbiBrZXJuZWws IFdoZW4gUFNSIGlzIGVuYWJsZWQsIERSUlMgd2lsbCBiZSBkaXNhYmxlZC4gU28gSWYgYSB0ZXN0 CisJICogY2FzZSBuZWVkcyBEUlJTICsgUFNSIGVuYWJsZWQsIHRoYXQgd2lsbCBiZSBza2lwcGVk LgorCSAqLworCWlndF9yZXF1aXJlX2YoISgodC0+ZmVhdHVyZSAmIEZFQVRVUkVfUFNSKSAmJgor CQkgICAgICAodC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykpLAorCQkgICAgICAiQ2FuJ3QgdGVz dCBQU1IgYW5kIERSUlMgdG9nZXRoZXJcbiIpOworCiAJaWYgKG9wdC5vbmx5X3BpcGVzICE9IFBJ UEVfQ09VTlQpCiAJCWlndF9yZXF1aXJlKHQtPnBpcGVzID09IG9wdC5vbmx5X3BpcGVzKTsKIH0K QEAgLTE5NzMsNyArMjEyMCw3IEBAIHN0YXRpYyB2b2lkIHJ0ZV9zdWJ0ZXN0KGNvbnN0IHN0cnVj dCB0ZXN0X21vZGUgKnQpCiAKIAl1bnNldF9hbGxfY3J0Y3MoKTsKIAlkb19hc3NlcnRpb25zKEFT U0VSVF9GQkNfRElTQUJMRUQgfCBBU1NFUlRfUFNSX0RJU0FCTEVEIHwKLQkJICAgICAgRE9OVF9B U1NFUlRfQ1JDKTsKKwkJICAgICAgRE9OVF9BU1NFUlRfQ1JDIHwgQVNTRVJUX0RSUlNfSU5BQ1RJ VkUpOwogCiAJZW5hYmxlX3ByaW1fc2NyZWVuX2FuZF93YWl0KHQpOwogCXNldF9jdXJzb3JfZm9y X3Rlc3QodCwgJnByaW1fbW9kZV9wYXJhbXMpOwpAQCAtMjA2NSw2ICsyMjEyLDEzIEBAIHN0YXRp YyB2b2lkIGRyYXdfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCWlmIChvcF9k aXNhYmxlc19wc3IodCwgdC0+bWV0aG9kKSkKIAkJYXNzZXJ0aW9ucyB8PSBBU1NFUlRfUFNSX0RJ U0FCTEVEOwogCisJLyoKKwkgKiBPbiBGQlNfSU5ESVZJRFVBTCwgd3JpdGUgdG8gb2Zmc2NyZWVu IHBsYW5lIHdpbGwgbm90IHRvdWNoIHRoZQorCSAqIGN1cnJlbnQgZnJhbWJ1ZmZlci4gSGVuY2Ug YXNzZXJ0IGZvciBEUlJTX0xPVy4KKwkgKi8KKwlpZiAoKHQtPmZicyA9PSBGQlNfSU5ESVZJRFVB TCkgJiYgKHQtPnNjcmVlbiA9PSBTQ1JFRU5fT0ZGU0NSRUVOKSkKKwkJYXNzZXJ0aW9ucyB8PSBB U1NFUlRfRFJSU19MT1c7CisKIAlwcmVwYXJlX3N1YnRlc3QodCwgcGF0dGVybik7CiAJdGFyZ2V0 ID0gcGlja190YXJnZXQodCwgcGFyYW1zKTsKIApAQCAtMjI3Myw3ICsyNDI3LDExIEBAIHN0YXRp YyB2b2lkIHNsb3dfZHJhd19zdWJ0ZXN0KGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAJCXNs ZWVwKDIpOwogCiAJCXVwZGF0ZV93YW50ZWRfY3JjKHQsICZwYXR0ZXJuLT5jcmNzW3QtPmZvcm1h dF1bcl0pOwotCQlkb19hc3NlcnRpb25zKDApOworCisJCWlmICh0LT5mZWF0dXJlICYgRkVBVFVS RV9EUlJTKQorCQkJZG9fYXNzZXJ0aW9ucyhBU1NFUlRfRFJSU19MT1cpOworCQllbHNlCisJCQlk b19hc3NlcnRpb25zKDApOwogCX0KIH0KIApAQCAtMjg4MiwxNyArMzA0MCwxNyBAQCBzdGF0aWMg dm9pZCBzdXNwZW5kX3N1YnRlc3QoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKIAlzbGVlcCg1 KTsKIAlpZ3Rfc3lzdGVtX3N1c3BlbmRfYXV0b3Jlc3VtZShTVVNQRU5EX1NUQVRFX01FTSwgU1VT UEVORF9URVNUX05PTkUpOwogCXNsZWVwKDUpOwotCWRvX2Fzc2VydGlvbnMoMCk7CisJZG9fYXNz ZXJ0aW9ucyhBU1NFUlRfRFJSU19MT1cpOwogCiAJdW5zZXRfYWxsX2NydGNzKCk7CiAJc2xlZXAo NSk7CiAJaWd0X3N5c3RlbV9zdXNwZW5kX2F1dG9yZXN1bWUoU1VTUEVORF9TVEFURV9NRU0sIFNV U1BFTkRfVEVTVF9OT05FKTsKIAlzbGVlcCg1KTsKIAlkb19hc3NlcnRpb25zKEFTU0VSVF9GQkNf RElTQUJMRUQgfCBBU1NFUlRfUFNSX0RJU0FCTEVEIHwKLQkJICAgICAgRE9OVF9BU1NFUlRfQ1JD KTsKKwkJICAgICAgRE9OVF9BU1NFUlRfQ1JDIHwgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpOwogCiAJ c2V0X21vZGVfZm9yX3BhcmFtcyhwYXJhbXMpOwotCWRvX2Fzc2VydGlvbnMoMCk7CisJZG9fYXNz ZXJ0aW9ucyhBU1NFUlRfRFJSU19ISUdIKTsKIH0KIAogLyoqCkBAIC0zMzcxLDYgKzM1MjksMTQg QEAgc3RhdGljIGNvbnN0IGNoYXIgKmZlYXR1cmVfc3RyKGludCBmZWF0dXJlKQogCQlyZXR1cm4g InBzciI7CiAJY2FzZSBGRUFUVVJFX0ZCQyB8IEZFQVRVUkVfUFNSOgogCQlyZXR1cm4gImZiY3Bz ciI7CisJY2FzZSBGRUFUVVJFX0RSUlM6CisJCXJldHVybiAiZHJycyI7CisJY2FzZSBGRUFUVVJF X0ZCQyB8IEZFQVRVUkVfRFJSUzoKKwkJcmV0dXJuICJmYmNkcnJzIjsKKwljYXNlIEZFQVRVUkVf UFNSIHwgRkVBVFVSRV9EUlJTOgorCQlyZXR1cm4gInBzcmRycnMiOworCWNhc2UgRkVBVFVSRV9G QkMgfCBGRUFUVVJFX1BTUiB8IEZFQVRVUkVfRFJSUzoKKwkJcmV0dXJuICJmYmNwc3JkcnJzIjsK IAlkZWZhdWx0OgogCQlpZ3RfYXNzZXJ0KGZhbHNlKTsKIAl9CkBAIC0zNjM1LDcgKzM4MDEsNyBA QCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQkJCXRpbGluZ2NoYW5nZV9zdWJ0 ZXN0KCZ0KTsKIAkJfQogCi0JCWlmICh0LmZlYXR1cmUgJiBGRUFUVVJFX1BTUikKKwkJaWYgKCh0 LmZlYXR1cmUgJiBGRUFUVVJFX1BTUikgfHwgKHQuZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykpCiAJ CQlpZ3Rfc3VidGVzdF9mKCIlcy1zbG93ZHJhdyIsIGZlYXR1cmVfc3RyKHQuZmVhdHVyZSkpCiAJ CQkJc2xvd19kcmF3X3N1YnRlc3QoJnQpOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==