From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lohith BS Subject: [PATCH i-g-t v13] tests/kms_frontbuffer_tracking: Including DRRS test coverage Date: Wed, 10 Jan 2018 20:17:00 +0530 Message-ID: <1515595620-23742-1-git-send-email-lohith.bs@intel.com> References: <1515152429-3157-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4EF1C6E2DC for ; Wed, 10 Jan 2018 14:53:55 +0000 (UTC) In-Reply-To: <1515152429-3157-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, 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, paulo.r.zanoni@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 IGlzX3Bzcl9kcnJzX2NvbWJvIFtSb2RyaWdvXS4KCnYxMjogUmV3cml0aW5nIHRoZSBEUlJTIGlu YWN0aXZlIGRlZHVjdGlvbiBbUm9kcmlnb10uCgp2MTM6IEVuL0Rpcy1hYmxlIERSUlMgb25seSB3 aGVuIERSUlMgaXMgY2FwYWJsZSBvbiB0aGUgc2V0dXAuCgpTaWduZWQtb2ZmLWJ5OiBMb2hpdGgg QlMgPGxvaGl0aC5ic0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IGFrbmF1dGl5IDxhbmtpdC5r Lm5hdXRpeWFsQGludGVsLmNvbT4KLS0tCiB0ZXN0cy9rbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcu YyB8IDE3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBj aGFuZ2VkLCAxNjQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 ZXN0cy9rbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90 cmFja2luZy5jCmluZGV4IDE2MDFjYWIuLjZiMjI5OWIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19m cm9udGJ1ZmZlcl90cmFja2luZy5jCisrKyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2lu Zy5jCkBAIC0zNCw3ICszNCw3IEBACiAKIAogSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3QgdGhl IEtlcm5lbCdzIGZyb250YnVmZmVyIHRyYWNraW5nIG1lY2hhbmlzbSBhbmQgIgotCQkgICAgICJp dHMgcmVsYXRlZCBmZWF0dXJlczogRkJDIGFuZCBQU1IiKTsKKwkJICAgICAiaXRzIHJlbGF0ZWQg ZmVhdHVyZXM6IEZCQywgUFNSIGFuZCBEUlJTIik7CiAKIC8qCiAgKiBPbmUgb2YgdGhlIGFzcGVj dHMgb2YgdGhpcyB0ZXN0IGlzIHRoYXQsIGZvciBldmVyeSBzdWJ0ZXN0LCB3ZSB0cnkgZGlmZmVy ZW50CkBAIC0xMDUsOCArMTA1LDkgQEAgc3RydWN0IHRlc3RfbW9kZSB7CiAJCUZFQVRVUkVfTk9O RSAgPSAwLAogCQlGRUFUVVJFX0ZCQyAgID0gMSwKIAkJRkVBVFVSRV9QU1IgICA9IDIsCi0JCUZF QVRVUkVfQ09VTlQgPSA0LAotCQlGRUFUVVJFX0RFRkFVTFQgPSA0LAorCQlGRUFUVVJFX0RSUlMg ID0gNCwKKwkJRkVBVFVSRV9DT1VOVCA9IDgsCisJCUZFQVRVUkVfREVGQVVMVCA9IDgsCiAJfSBm ZWF0dXJlOwogCiAJLyogUG9zc2libGUgcGl4ZWwgZm9ybWF0cy4gV2UganVzdCB1c2UgRk9STUFU X0RFRkFVTFQgZm9yIG1vc3QgdGVzdHMgYW5kCkBAIC0xODIsNiArMTgzLDEzIEBAIHN0cnVjdCB7 CiAJLmNhbl90ZXN0ID0gZmFsc2UsCiB9OwogCisjZGVmaW5lIE1BWF9EUlJTX1NUQVRVU19CVUZf TEVOIDI1NgorCitzdHJ1Y3QgeworCWJvb2wgY2FuX3Rlc3Q7Cit9IGRycnMgPSB7CisJLmNhbl90 ZXN0ID0gZmFsc2UsCit9OwogCiAjZGVmaW5lIFNJTktfQ1JDX1NJWkUgMTIKIHR5cGVkZWYgc3Ry dWN0IHsKQEAgLTc5MCw3ICs3OTgsMTQgQEAgc3RhdGljIHZvaWQgX19kZWJ1Z2ZzX3JlYWQoY29u c3QgY2hhciAqcGFyYW0sIGNoYXIgKmJ1ZiwgaW50IGxlbikKIAlidWZbbGVuXSA9ICdcMCc7CiB9 CiAKK3N0YXRpYyB2b2lkIF9fZGVidWdmc193cml0ZShjb25zdCBjaGFyICpwYXJhbSwgY2hhciAq YnVmLCBpbnQgbGVuKQoreworCWlndF9hc3NlcnRfZXEoaWd0X3N5c2ZzX3dyaXRlKGRybS5kZWJ1 Z2ZzLCBwYXJhbSwgYnVmLCBsZW4gLSAxKSwKKwkJICAgICAgbGVuIC0gMSk7Cit9CisKICNkZWZp bmUgZGVidWdmc19yZWFkKHAsIGFycikgX19kZWJ1Z2ZzX3JlYWQocCwgYXJyLCBzaXplb2YoYXJy KSkKKyNkZWZpbmUgZGVidWdmc193cml0ZShwLCBhcnIpIF9fZGVidWdmc193cml0ZShwLCBhcnIs IHNpemVvZihhcnIpKQogCiBzdGF0aWMgYm9vbCBmYmNfaXNfZW5hYmxlZCh2b2lkKQogewpAQCAt ODI1LDYgKzg0MCw2MiBAQCBzdGF0aWMgdm9pZCBwc3JfcHJpbnRfc3RhdHVzKHZvaWQpCiAJaWd0 X2luZm8oIlBTUiBzdGF0dXM6XG4lc1xuIiwgYnVmKTsKIH0KIAordm9pZCBkcnJzX3NldCh1bnNp Z25lZCBpbnQgdmFsKQoreworCWNoYXIgYnVmWzJdOworCisJaWYgKCFkcnJzLmNhbl90ZXN0KQor CQlyZXR1cm47CisKKwlpZ3RfZGVidWcoIk1hbnVhbGx5ICVzYWJsaW5nIERSUlMuICVsbHVcbiIs IHZhbCA/ICJlbiIgOiAiZGlzIiwgdmFsKTsKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAi JWQiLCB2YWwpOworCWRlYnVnZnNfd3JpdGUoImk5MTVfZHJyc19jdGwiLCBidWYpOworfQorCitz dGF0aWMgYm9vbCBpc19kcnJzX2hpZ2godm9pZCkKK3sKKwljaGFyIGJ1ZltNQVhfRFJSU19TVEFU VVNfQlVGX0xFTl07CisKKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOwor CXJldHVybiBzdHJzdHIoYnVmLCAiRFJSU19ISUdIX1JSIik7Cit9CisKK3N0YXRpYyBib29sIGlz X2RycnNfbG93KHZvaWQpCit7CisJY2hhciBidWZbTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU5dOwor CisJZGVidWdmc19yZWFkKCJpOTE1X2RycnNfc3RhdHVzIiwgYnVmKTsKKwlyZXR1cm4gc3Ryc3Ry KGJ1ZiwgIkRSUlNfTE9XX1JSIik7Cit9CisKK3N0YXRpYyBib29sIGlzX2RycnNfc3VwcG9ydGVk KHZvaWQpCit7CisJY2hhciBidWZbTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU5dOworCisJZGVidWdm c19yZWFkKCJpOTE1X2RycnNfc3RhdHVzIiwgYnVmKTsKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRS UlMgU3VwcG9ydGVkOiBZZXMiKTsKK30KKworc3RhdGljIGJvb2wgaXNfZHJyc19pbmFjdGl2ZSh2 b2lkKQoreworCWNoYXIgYnVmW01BWF9EUlJTX1NUQVRVU19CVUZfTEVOXTsKKworCWRlYnVnZnNf cmVhZCgiaTkxNV9kcnJzX3N0YXR1cyIsIGJ1Zik7CisKKwlpZiAoc3Ryc3RyKGJ1ZiwgIkRSUlNf U3RhdGU6ICIpKQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGlj IHZvaWQgZHJyc19wcmludF9zdGF0dXModm9pZCkKK3sKKwljaGFyIGJ1ZltNQVhfRFJSU19TVEFU VVNfQlVGX0xFTl07CisKKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOwor CWlndF9pbmZvKCJEUlJTIFNUQVRVUyA6XG4lc1xuIiwgYnVmKTsKK30KKwogc3RhdGljIHN0cnVj dCB0aW1lc3BlYyBmYmNfZ2V0X2xhc3RfYWN0aW9uKHZvaWQpCiB7CiAJc3RydWN0IHRpbWVzcGVj IHJldCA9IHsgMCwgMCB9OwpAQCAtOTM1LDEwICsxMDA2LDE3IEBAIHN0YXRpYyBib29sIHBzcl93 YWl0X3VudGlsX2VuYWJsZWQodm9pZCkKIAlyZXR1cm4gaWd0X3dhaXQocHNyX2lzX2VuYWJsZWQo KSwgNTAwMCwgMSk7CiB9CiAKK3N0YXRpYyBib29sIGRycnNfd2FpdF91bnRpbF9ycl9zd2l0Y2hf dG9fbG93KHZvaWQpCit7CisJcmV0dXJuIGlndF93YWl0KGlzX2RycnNfbG93KCksIDUwMDAsIDEp OworfQorCiAjZGVmaW5lIGZiY19lbmFibGUoKSBpZ3Rfc2V0X21vZHVsZV9wYXJhbV9pbnQoImVu YWJsZV9mYmMiLCAxKQogI2RlZmluZSBmYmNfZGlzYWJsZSgpIGlndF9zZXRfbW9kdWxlX3BhcmFt X2ludCgiZW5hYmxlX2ZiYyIsIDApCiAjZGVmaW5lIHBzcl9lbmFibGUoKSBpZ3Rfc2V0X21vZHVs ZV9wYXJhbV9pbnQoImVuYWJsZV9wc3IiLCAxKQogI2RlZmluZSBwc3JfZGlzYWJsZSgpIGlndF9z ZXRfbW9kdWxlX3BhcmFtX2ludCgiZW5hYmxlX3BzciIsIDApCisjZGVmaW5lIGRycnNfZW5hYmxl KCkJZHJyc19zZXQoMSkKKyNkZWZpbmUgZHJyc19kaXNhYmxlKCkJZHJyc19zZXQoMCkKIAogc3Rh dGljIHZvaWQgZ2V0X3NpbmtfY3JjKHNpbmtfY3JjX3QgKmNyYywgYm9vbCBtYW5kYXRvcnkpCiB7 CkBAIC0xMTg0LDYgKzEyNjIsNyBAQCBzdGF0aWMgdm9pZCBkaXNhYmxlX2ZlYXR1cmVzKGNvbnN0 IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAKIAlmYmNfZGlzYWJsZSgpOwogCXBzcl9kaXNhYmxlKCk7 CisJZHJyc19kaXNhYmxlKCk7CiB9CiAKIHN0YXRpYyB2b2lkICpidXN5X3RocmVhZF9mdW5jKHZv aWQgKmRhdGEpCkBAIC0xNTc3LDYgKzE2NTYsMjIgQEAgc3RhdGljIHZvaWQgdGVhcmRvd25fcHNy KHZvaWQpCiB7CiB9CiAKK3N0YXRpYyB2b2lkIHNldHVwX2RycnModm9pZCkKK3sKKwlpZiAoZ2V0 X2Nvbm5lY3RvcihwcmltX21vZGVfcGFyYW1zLmNvbm5lY3Rvcl9pZCktPmNvbm5lY3Rvcl90eXBl ICE9CisJICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9lRFApIHsKKwkJaWd0X2luZm8oIkNhbid0IHRl c3QgRFJSUzogbm8gdXNhYmxlIGVEUCBzY3JlZW4uXG4iKTsKKwkJcmV0dXJuOworCX0KKworCWlm ICghaXNfZHJyc19zdXBwb3J0ZWQoKSkgeworCQlpZ3RfaW5mbygiQ2FuJ3QgdGVzdCBEUlJTOiBO b3Qgc3VwcG9ydGVkLlxuIik7CisJCXJldHVybjsKKwl9CisKKwlkcnJzLmNhbl90ZXN0ID0gdHJ1 ZTsKK30KKwogc3RhdGljIHZvaWQgc2V0dXBfZW52aXJvbm1lbnQodm9pZCkKIHsKIAlzZXR1cF9k cm0oKTsKQEAgLTE1ODQsNiArMTY3OSw3IEBAIHN0YXRpYyB2b2lkIHNldHVwX2Vudmlyb25tZW50 KHZvaWQpCiAKIAlzZXR1cF9mYmMoKTsKIAlzZXR1cF9wc3IoKTsKKwlzZXR1cF9kcnJzKCk7CiAK IAlzZXR1cF9jcmNzKCk7CiB9CkBAIC0xNjYyLDYgKzE3NTgsMTEgQEAgc3RhdGljIHZvaWQgZG9f Zmx1c2goY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKICNkZWZpbmUgQVNTRVJUX1BTUl9FTkFC TEVECQkoMSA8PCA2KQogI2RlZmluZSBBU1NFUlRfUFNSX0RJU0FCTEVECQkoMSA8PCA3KQogCisj ZGVmaW5lIERSUlNfQVNTRVJUX0ZMQUdTCQkoNyA8PCA4KQorI2RlZmluZSBBU1NFUlRfRFJSU19I SUdICQkoMSA8PCA4KQorI2RlZmluZSBBU1NFUlRfRFJSU19MT1cJCSgxIDw8IDkpCisjZGVmaW5l IEFTU0VSVF9EUlJTX0lOQUNUSVZFCQkoMSA8PCAxMCkKKwogc3RhdGljIGludCBhZGp1c3RfYXNz ZXJ0aW9uX2ZsYWdzKGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQsIGludCBmbGFncykKIHsKIAlp ZiAoIShmbGFncyAmIERPTlRfQVNTRVJUX0ZFQVRVUkVfU1RBVFVTKSkgewpAQCAtMTY2OSwxMiAr MTc3MCwxNyBAQCBzdGF0aWMgaW50IGFkanVzdF9hc3NlcnRpb25fZmxhZ3MoY29uc3Qgc3RydWN0 IHRlc3RfbW9kZSAqdCwgaW50IGZsYWdzKQogCQkJZmxhZ3MgfD0gQVNTRVJUX0ZCQ19FTkFCTEVE OwogCQlpZiAoIShmbGFncyAmIEFTU0VSVF9QU1JfRElTQUJMRUQpKQogCQkJZmxhZ3MgfD0gQVNT RVJUX1BTUl9FTkFCTEVEOworCQlpZiAoISgoZmxhZ3MgJiBBU1NFUlRfRFJSU19MT1cpIHx8CisJ CSAgICAoZmxhZ3MgJiBBU1NFUlRfRFJSU19JTkFDVElWRSkpKQorCQkJZmxhZ3MgfD0gQVNTRVJU X0RSUlNfSElHSDsKIAl9CiAKIAlpZiAoKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0ZCQykgPT0gMCkK IAkJZmxhZ3MgJj0gfkZCQ19BU1NFUlRfRkxBR1M7CiAJaWYgKCh0LT5mZWF0dXJlICYgRkVBVFVS RV9QU1IpID09IDApCiAJCWZsYWdzICY9IH5QU1JfQVNTRVJUX0ZMQUdTOworCWlmICgodC0+ZmVh dHVyZSAmIEZFQVRVUkVfRFJSUykgPT0gMCkKKwkJZmxhZ3MgJj0gfkRSUlNfQVNTRVJUX0ZMQUdT OwogCiAJcmV0dXJuIGZsYWdzOwogfQpAQCAtMTcwNiw2ICsxODEyLDIzIEBAIHN0YXRpYyB2b2lk IGRvX3N0YXR1c19hc3NlcnRpb25zKGludCBmbGFncykKIAkJcmV0dXJuOwogCX0KIAorCWlmIChm bGFncyAmIEFTU0VSVF9EUlJTX0hJR0gpIHsKKwkJaWYgKCFpc19kcnJzX2hpZ2goKSkgeworCQkJ ZHJyc19wcmludF9zdGF0dXMoKTsKKwkJCWlndF9hc3NlcnRfZihmYWxzZSwgIkRSUlMgSElHSFxu Iik7CisJCX0KKwl9IGVsc2UgaWYgKGZsYWdzICYgQVNTRVJUX0RSUlNfTE9XKSB7CisJCWlmICgh ZHJyc193YWl0X3VudGlsX3JyX3N3aXRjaF90b19sb3coKSkgeworCQkJZHJyc19wcmludF9zdGF0 dXMoKTsKKwkJCWlndF9hc3NlcnRfZihmYWxzZSwgIkRSUlMgTE9XXG4iKTsKKwkJfQorCX0gZWxz ZSBpZiAoZmxhZ3MgJiBBU1NFUlRfRFJSU19JTkFDVElWRSkgeworCQlpZiAoIWlzX2RycnNfaW5h Y3RpdmUoKSkgeworCQkJZHJyc19wcmludF9zdGF0dXMoKTsKKwkJCWlndF9hc3NlcnRfZihmYWxz ZSwgIkRSUlMgSU5BQ1RJVkVcbiIpOworCQl9CisJfQorCiAJaWYgKGZsYWdzICYgQVNTRVJUX0ZC Q19FTkFCTEVEKSB7CiAJCWlndF9yZXF1aXJlKCFmYmNfbm90X2Vub3VnaF9zdG9sZW4oKSk7CiAJ CWlndF9yZXF1aXJlKCFmYmNfc3RyaWRlX25vdF9zdXBwb3J0ZWQoKSk7CkBAIC0xODMzLDYgKzE5 NTYsOCBAQCBzdGF0aWMgdm9pZCBlbmFibGVfZmVhdHVyZXNfZm9yX3Rlc3QoY29uc3Qgc3RydWN0 IHRlc3RfbW9kZSAqdCkKIAkJZmJjX2VuYWJsZSgpOwogCWlmICh0LT5mZWF0dXJlICYgRkVBVFVS RV9QU1IpCiAJCXBzcl9lbmFibGUoKTsKKwlpZiAodC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykK KwkJZHJyc19lbmFibGUoKTsKIH0KIAogc3RhdGljIHZvaWQgY2hlY2tfdGVzdF9yZXF1aXJlbWVu dHMoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKQEAgLTE4NTIsNiArMTk3NywxOCBAQCBzdGF0 aWMgdm9pZCBjaGVja190ZXN0X3JlcXVpcmVtZW50cyhjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0 KQogCQkJICAgICAgIkNhbid0IHRlc3QgUFNSIHdpdGhvdXQgc2luayBDUkNzXG4iKTsKIAl9CiAK KwlpZiAodC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykKKwkJaWd0X3JlcXVpcmVfZihkcnJzLmNh bl90ZXN0LAorCQkJICAgICAgIkNhbid0IHRlc3QgRFJSUyB3aXRoIHRoZSBjdXJyZW50IG91dHB1 dHNcbiIpOworCisJLyoKKwkgKiBJbiBrZXJuZWwsIFdoZW4gUFNSIGlzIGVuYWJsZWQsIERSUlMg d2lsbCBiZSBkaXNhYmxlZC4gU28gSWYgYSB0ZXN0CisJICogY2FzZSBuZWVkcyBEUlJTICsgUFNS IGVuYWJsZWQsIHRoYXQgd2lsbCBiZSBza2lwcGVkLgorCSAqLworCWlndF9yZXF1aXJlX2YoISgo dC0+ZmVhdHVyZSAmIEZFQVRVUkVfUFNSKSAmJgorCQkgICAgICAodC0+ZmVhdHVyZSAmIEZFQVRV UkVfRFJSUykpLAorCQkgICAgICAiQ2FuJ3QgdGVzdCBQU1IgYW5kIERSUlMgdG9nZXRoZXJcbiIp OworCiAJaWYgKG9wdC5vbmx5X3BpcGVzICE9IFBJUEVfQ09VTlQpCiAJCWlndF9yZXF1aXJlKHQt PnBpcGVzID09IG9wdC5vbmx5X3BpcGVzKTsKIH0KQEAgLTE5NzMsNyArMjExMCw3IEBAIHN0YXRp YyB2b2lkIHJ0ZV9zdWJ0ZXN0KGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAKIAl1bnNldF9h bGxfY3J0Y3MoKTsKIAlkb19hc3NlcnRpb25zKEFTU0VSVF9GQkNfRElTQUJMRUQgfCBBU1NFUlRf UFNSX0RJU0FCTEVEIHwKLQkJICAgICAgRE9OVF9BU1NFUlRfQ1JDKTsKKwkJICAgICAgRE9OVF9B U1NFUlRfQ1JDIHwgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpOwogCiAJZW5hYmxlX3ByaW1fc2NyZWVu X2FuZF93YWl0KHQpOwogCXNldF9jdXJzb3JfZm9yX3Rlc3QodCwgJnByaW1fbW9kZV9wYXJhbXMp OwpAQCAtMjA2NSw2ICsyMjAyLDEzIEBAIHN0YXRpYyB2b2lkIGRyYXdfc3VidGVzdChjb25zdCBz dHJ1Y3QgdGVzdF9tb2RlICp0KQogCWlmIChvcF9kaXNhYmxlc19wc3IodCwgdC0+bWV0aG9kKSkK IAkJYXNzZXJ0aW9ucyB8PSBBU1NFUlRfUFNSX0RJU0FCTEVEOwogCisJLyoKKwkgKiBPbiBGQlNf SU5ESVZJRFVBTCwgd3JpdGUgdG8gb2Zmc2NyZWVuIHBsYW5lIHdpbGwgbm90IHRvdWNoIHRoZQor CSAqIGN1cnJlbnQgZnJhbWJ1ZmZlci4gSGVuY2UgYXNzZXJ0IGZvciBEUlJTX0xPVy4KKwkgKi8K KwlpZiAoKHQtPmZicyA9PSBGQlNfSU5ESVZJRFVBTCkgJiYgKHQtPnNjcmVlbiA9PSBTQ1JFRU5f T0ZGU0NSRUVOKSkKKwkJYXNzZXJ0aW9ucyB8PSBBU1NFUlRfRFJSU19MT1c7CisKIAlwcmVwYXJl X3N1YnRlc3QodCwgcGF0dGVybik7CiAJdGFyZ2V0ID0gcGlja190YXJnZXQodCwgcGFyYW1zKTsK IApAQCAtMjI3Myw3ICsyNDE3LDExIEBAIHN0YXRpYyB2b2lkIHNsb3dfZHJhd19zdWJ0ZXN0KGNv bnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAJCXNsZWVwKDIpOwogCiAJCXVwZGF0ZV93YW50ZWRf Y3JjKHQsICZwYXR0ZXJuLT5jcmNzW3QtPmZvcm1hdF1bcl0pOwotCQlkb19hc3NlcnRpb25zKDAp OworCisJCWlmICh0LT5mZWF0dXJlICYgRkVBVFVSRV9EUlJTKQorCQkJZG9fYXNzZXJ0aW9ucyhB U1NFUlRfRFJSU19MT1cpOworCQllbHNlCisJCQlkb19hc3NlcnRpb25zKDApOwogCX0KIH0KIApA QCAtMjg4MiwxNCArMzAzMCwxNCBAQCBzdGF0aWMgdm9pZCBzdXNwZW5kX3N1YnRlc3QoY29uc3Qg c3RydWN0IHRlc3RfbW9kZSAqdCkKIAlzbGVlcCg1KTsKIAlpZ3Rfc3lzdGVtX3N1c3BlbmRfYXV0 b3Jlc3VtZShTVVNQRU5EX1NUQVRFX01FTSwgU1VTUEVORF9URVNUX05PTkUpOwogCXNsZWVwKDUp OwotCWRvX2Fzc2VydGlvbnMoMCk7CisJZG9fYXNzZXJ0aW9ucyhBU1NFUlRfRFJSU19MT1cpOwog CiAJdW5zZXRfYWxsX2NydGNzKCk7CiAJc2xlZXAoNSk7CiAJaWd0X3N5c3RlbV9zdXNwZW5kX2F1 dG9yZXN1bWUoU1VTUEVORF9TVEFURV9NRU0sIFNVU1BFTkRfVEVTVF9OT05FKTsKIAlzbGVlcCg1 KTsKIAlkb19hc3NlcnRpb25zKEFTU0VSVF9GQkNfRElTQUJMRUQgfCBBU1NFUlRfUFNSX0RJU0FC TEVEIHwKLQkJICAgICAgRE9OVF9BU1NFUlRfQ1JDKTsKKwkJICAgICAgRE9OVF9BU1NFUlRfQ1JD IHwgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpOwogCiAJc2V0X21vZGVfZm9yX3BhcmFtcyhwYXJhbXMp OwogCWRvX2Fzc2VydGlvbnMoMCk7CkBAIC0zMzcxLDYgKzM1MTksMTQgQEAgc3RhdGljIGNvbnN0 IGNoYXIgKmZlYXR1cmVfc3RyKGludCBmZWF0dXJlKQogCQlyZXR1cm4gInBzciI7CiAJY2FzZSBG RUFUVVJFX0ZCQyB8IEZFQVRVUkVfUFNSOgogCQlyZXR1cm4gImZiY3BzciI7CisJY2FzZSBGRUFU VVJFX0RSUlM6CisJCXJldHVybiAiZHJycyI7CisJY2FzZSBGRUFUVVJFX0ZCQyB8IEZFQVRVUkVf RFJSUzoKKwkJcmV0dXJuICJmYmNkcnJzIjsKKwljYXNlIEZFQVRVUkVfUFNSIHwgRkVBVFVSRV9E UlJTOgorCQlyZXR1cm4gInBzcmRycnMiOworCWNhc2UgRkVBVFVSRV9GQkMgfCBGRUFUVVJFX1BT UiB8IEZFQVRVUkVfRFJSUzoKKwkJcmV0dXJuICJmYmNwc3JkcnJzIjsKIAlkZWZhdWx0OgogCQlp Z3RfYXNzZXJ0KGZhbHNlKTsKIAl9CkBAIC0zNjM1LDcgKzM3OTEsNyBAQCBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQogCQkJCXRpbGluZ2NoYW5nZV9zdWJ0ZXN0KCZ0KTsKIAkJfQog Ci0JCWlmICh0LmZlYXR1cmUgJiBGRUFUVVJFX1BTUikKKwkJaWYgKCh0LmZlYXR1cmUgJiBGRUFU VVJFX1BTUikgfHwgKHQuZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykpCiAJCQlpZ3Rfc3VidGVzdF9m KCIlcy1zbG93ZHJhdyIsIGZlYXR1cmVfc3RyKHQuZmVhdHVyZSkpCiAJCQkJc2xvd19kcmF3X3N1 YnRlc3QoJnQpOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==