From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lohith BS Subject: [PATCH i-g-t v12] tests/kms_frontbuffer_tracking: Including DRRS test coverage Date: Fri, 5 Jan 2018 17:10:29 +0530 Message-ID: <1515152429-3157-1-git-send-email-lohith.bs@intel.com> References: <1514991727-6817-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4116D6E328 for ; Fri, 5 Jan 2018 11:47:23 +0000 (UTC) In-Reply-To: <1514991727-6817-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 YWN0aXZlIGRlZHVjdGlvbiBbUm9kcmlnb10uCgpTaWduZWQtb2ZmLWJ5OiBMb2hpdGggQlMgPGxv aGl0aC5ic0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IGFrbmF1dGl5IDxhbmtpdC5rLm5hdXRp eWFsQGludGVsLmNvbT4KLS0tCiB0ZXN0cy9rbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYyB8IDE3 OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxNzAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9r bXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2lu Zy5jCmluZGV4IDE2MDFjYWIuLjRiODcyNzMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19mcm9udGJ1 ZmZlcl90cmFja2luZy5jCisrKyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jCkBA IC0zNCw3ICszNCw3IEBACiAKIAogSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3QgdGhlIEtlcm5l bCdzIGZyb250YnVmZmVyIHRyYWNraW5nIG1lY2hhbmlzbSBhbmQgIgotCQkgICAgICJpdHMgcmVs YXRlZCBmZWF0dXJlczogRkJDIGFuZCBQU1IiKTsKKwkJICAgICAiaXRzIHJlbGF0ZWQgZmVhdHVy ZXM6IEZCQywgUFNSIGFuZCBEUlJTIik7CiAKIC8qCiAgKiBPbmUgb2YgdGhlIGFzcGVjdHMgb2Yg dGhpcyB0ZXN0IGlzIHRoYXQsIGZvciBldmVyeSBzdWJ0ZXN0LCB3ZSB0cnkgZGlmZmVyZW50CkBA IC0xMDUsOCArMTA1LDkgQEAgc3RydWN0IHRlc3RfbW9kZSB7CiAJCUZFQVRVUkVfTk9ORSAgPSAw LAogCQlGRUFUVVJFX0ZCQyAgID0gMSwKIAkJRkVBVFVSRV9QU1IgICA9IDIsCi0JCUZFQVRVUkVf Q09VTlQgPSA0LAotCQlGRUFUVVJFX0RFRkFVTFQgPSA0LAorCQlGRUFUVVJFX0RSUlMgID0gNCwK KwkJRkVBVFVSRV9DT1VOVCA9IDgsCisJCUZFQVRVUkVfREVGQVVMVCA9IDgsCiAJfSBmZWF0dXJl OwogCiAJLyogUG9zc2libGUgcGl4ZWwgZm9ybWF0cy4gV2UganVzdCB1c2UgRk9STUFUX0RFRkFV TFQgZm9yIG1vc3QgdGVzdHMgYW5kCkBAIC0xNTYsNiArMTU3LDcgQEAgc3RydWN0IHJlY3Qgewog c3RydWN0IHsKIAlpbnQgZmQ7CiAJaW50IGRlYnVnZnM7CisJaW50IGRycnNfZGVidWdmc19mZDsK IAlkcm1Nb2RlUmVzUHRyIHJlczsKIAlkcm1Nb2RlQ29ubmVjdG9yUHRyIGNvbm5lY3RvcnNbTUFY X0NPTk5FQ1RPUlNdOwogCWRybU1vZGVFbmNvZGVyUHRyIGVuY29kZXJzW01BWF9FTkNPREVSU107 CkBAIC0xODIsNiArMTg0LDEzIEBAIHN0cnVjdCB7CiAJLmNhbl90ZXN0ID0gZmFsc2UsCiB9Owog CisjZGVmaW5lIE1BWF9EUlJTX1NUQVRVU19CVUZfTEVOIDI1NgorCitzdHJ1Y3QgeworCWJvb2wg Y2FuX3Rlc3Q7Cit9IGRycnMgPSB7CisJLmNhbl90ZXN0ID0gZmFsc2UsCit9OwogCiAjZGVmaW5l IFNJTktfQ1JDX1NJWkUgMTIKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTgyNSw2ICs4MzQsNjAgQEAg c3RhdGljIHZvaWQgcHNyX3ByaW50X3N0YXR1cyh2b2lkKQogCWlndF9pbmZvKCJQU1Igc3RhdHVz OlxuJXNcbiIsIGJ1Zik7CiB9CiAKK3ZvaWQgZHJyc19zZXQodW5zaWduZWQgaW50IHZhbCkKK3sK KwljaGFyIGJ1ZlsyXTsKKworCWlndF9kZWJ1ZygiTWFudWFsbHkgJXNhYmxpbmcgRFJSUy4gJWxs dVxuIiwgdmFsID8gImVuIiA6ICJkaXMiLCB2YWwpOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1 ZiksICIlZCIsIHZhbCk7CisJaWd0X2Fzc2VydF9lcSh3cml0ZShkcm0uZHJyc19kZWJ1Z2ZzX2Zk LAorCQkgICAgICBidWYsIHN0cmxlbihidWYpKSwgc3RybGVuKGJ1ZikpOworfQorCitzdGF0aWMg Ym9vbCBpc19kcnJzX2hpZ2godm9pZCkKK3sKKwljaGFyIGJ1ZltNQVhfRFJSU19TVEFUVVNfQlVG X0xFTl07CisKKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOworCXJldHVy biBzdHJzdHIoYnVmLCAiRFJSU19ISUdIX1JSIik7Cit9CisKK3N0YXRpYyBib29sIGlzX2RycnNf bG93KHZvaWQpCit7CisJY2hhciBidWZbTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU5dOworCisJZGVi dWdmc19yZWFkKCJpOTE1X2RycnNfc3RhdHVzIiwgYnVmKTsKKwlyZXR1cm4gc3Ryc3RyKGJ1Ziwg IkRSUlNfTE9XX1JSIik7Cit9CisKK3N0YXRpYyBib29sIGlzX2RycnNfc3VwcG9ydGVkKHZvaWQp Cit7CisJY2hhciBidWZbTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU5dOworCisJZGVidWdmc19yZWFk KCJpOTE1X2RycnNfc3RhdHVzIiwgYnVmKTsKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRSUlMgU3Vw cG9ydGVkOiBZZXMiKTsKK30KKworc3RhdGljIGJvb2wgaXNfZHJyc19pbmFjdGl2ZSh2b2lkKQor eworCWNoYXIgYnVmW01BWF9EUlJTX1NUQVRVU19CVUZfTEVOXTsKKworCWRlYnVnZnNfcmVhZCgi aTkxNV9kcnJzX3N0YXR1cyIsIGJ1Zik7CisKKwlpZiAoc3Ryc3RyKGJ1ZiwgIkRSUlNfU3RhdGU6 ICIpKQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQg ZHJyc19wcmludF9zdGF0dXModm9pZCkKK3sKKwljaGFyIGJ1ZltNQVhfRFJSU19TVEFUVVNfQlVG X0xFTl07CisKKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOworCWlndF9p bmZvKCJEUlJTIFNUQVRVUyA6XG4lc1xuIiwgYnVmKTsKK30KKwogc3RhdGljIHN0cnVjdCB0aW1l c3BlYyBmYmNfZ2V0X2xhc3RfYWN0aW9uKHZvaWQpCiB7CiAJc3RydWN0IHRpbWVzcGVjIHJldCA9 IHsgMCwgMCB9OwpAQCAtOTM1LDEwICs5OTgsMTcgQEAgc3RhdGljIGJvb2wgcHNyX3dhaXRfdW50 aWxfZW5hYmxlZCh2b2lkKQogCXJldHVybiBpZ3Rfd2FpdChwc3JfaXNfZW5hYmxlZCgpLCA1MDAw LCAxKTsKIH0KIAorc3RhdGljIGJvb2wgZHJyc193YWl0X3VudGlsX3JyX3N3aXRjaF90b19sb3co dm9pZCkKK3sKKwlyZXR1cm4gaWd0X3dhaXQoaXNfZHJyc19sb3coKSwgNTAwMCwgMSk7Cit9CisK ICNkZWZpbmUgZmJjX2VuYWJsZSgpIGlndF9zZXRfbW9kdWxlX3BhcmFtX2ludCgiZW5hYmxlX2Zi YyIsIDEpCiAjZGVmaW5lIGZiY19kaXNhYmxlKCkgaWd0X3NldF9tb2R1bGVfcGFyYW1faW50KCJl bmFibGVfZmJjIiwgMCkKICNkZWZpbmUgcHNyX2VuYWJsZSgpIGlndF9zZXRfbW9kdWxlX3BhcmFt X2ludCgiZW5hYmxlX3BzciIsIDEpCiAjZGVmaW5lIHBzcl9kaXNhYmxlKCkgaWd0X3NldF9tb2R1 bGVfcGFyYW1faW50KCJlbmFibGVfcHNyIiwgMCkKKyNkZWZpbmUgZHJyc19lbmFibGUoKQlkcnJz X3NldCgxKQorI2RlZmluZSBkcnJzX2Rpc2FibGUoKQlkcnJzX3NldCgwKQogCiBzdGF0aWMgdm9p ZCBnZXRfc2lua19jcmMoc2lua19jcmNfdCAqY3JjLCBib29sIG1hbmRhdG9yeSkKIHsKQEAgLTEx ODQsNiArMTI1NCw3IEBAIHN0YXRpYyB2b2lkIGRpc2FibGVfZmVhdHVyZXMoY29uc3Qgc3RydWN0 IHRlc3RfbW9kZSAqdCkKIAogCWZiY19kaXNhYmxlKCk7CiAJcHNyX2Rpc2FibGUoKTsKKwlkcnJz X2Rpc2FibGUoKTsKIH0KIAogc3RhdGljIHZvaWQgKmJ1c3lfdGhyZWFkX2Z1bmModm9pZCAqZGF0 YSkKQEAgLTE1MDgsNiArMTU3OSwxMiBAQCBzdGF0aWMgdm9pZCB0ZWFyZG93bl9jcmNzKHZvaWQp CiAJaWd0X3BpcGVfY3JjX2ZyZWUocGlwZV9jcmMpOwogfQogCitzdGF0aWMgdm9pZCB0ZWFyZG93 bl9kcnJzKHZvaWQpCit7CisJaWYgKGRybS5kcnJzX2RlYnVnZnNfZmQgIT0gLTEpCisJCWNsb3Nl KGRybS5kcnJzX2RlYnVnZnNfZmQpOworfQorCiBzdGF0aWMgYm9vbCBmYmNfc3VwcG9ydGVkX29u X2NoaXBzZXQodm9pZCkKIHsKIAljaGFyIGJ1ZlsxMjhdOwpAQCAtMTU3Nyw2ICsxNjU0LDI5IEBA IHN0YXRpYyB2b2lkIHRlYXJkb3duX3Bzcih2b2lkKQogewogfQogCitzdGF0aWMgdm9pZCBzZXR1 cF9kcnJzKHZvaWQpCit7CisJaWYgKGdldF9jb25uZWN0b3IocHJpbV9tb2RlX3BhcmFtcy5jb25u ZWN0b3JfaWQpLT5jb25uZWN0b3JfdHlwZSAhPQorCSAgICBEUk1fTU9ERV9DT05ORUNUT1JfZURQ KSB7CisJCWlndF9pbmZvKCJDYW4ndCB0ZXN0IERSUlM6IG5vIHVzYWJsZSBlRFAgc2NyZWVuLlxu Iik7CisJCXJldHVybjsKKwl9CisKKwlpZiAoIWlzX2RycnNfc3VwcG9ydGVkKCkpIHsKKwkJaWd0 X2luZm8oIkNhbid0IHRlc3QgRFJSUzogTm90IHN1cHBvcnRlZC5cbiIpOworCQlyZXR1cm47CisJ fQorCisJZHJtLmRycnNfZGVidWdmc19mZCA9IG9wZW5hdChkcm0uZGVidWdmcywgImk5MTVfZHJy c19jdGwiLCBPX1dST05MWSk7CisKKwlpZiAoZHJtLmRycnNfZGVidWdmc19mZCA+IDApIHsKKwkJ ZHJycy5jYW5fdGVzdCA9IHRydWU7CisJfSBlbHNlIHsKKwkJaWd0X2luZm8oIkNhbid0IHRlc3Qg RFJSUzogRGVidWdmcyBlbnRyeSBpOTE1X2RycnNfY3RsIG5vdCBmb3VuZC5cbiIpOworCQlkcnJz LmNhbl90ZXN0ID0gZmFsc2U7CisJfQorfQorCiBzdGF0aWMgdm9pZCBzZXR1cF9lbnZpcm9ubWVu dCh2b2lkKQogewogCXNldHVwX2RybSgpOwpAQCAtMTU4NCw2ICsxNjg0LDcgQEAgc3RhdGljIHZv aWQgc2V0dXBfZW52aXJvbm1lbnQodm9pZCkKIAogCXNldHVwX2ZiYygpOwogCXNldHVwX3Bzcigp OworCXNldHVwX2RycnMoKTsKIAogCXNldHVwX2NyY3MoKTsKIH0KQEAgLTE1OTYsNiArMTY5Nyw3 IEBAIHN0YXRpYyB2b2lkIHRlYXJkb3duX2Vudmlyb25tZW50KHZvaWQpCiAJdGVhcmRvd25fcHNy KCk7CiAJdGVhcmRvd25fZmJjKCk7CiAJdGVhcmRvd25fbW9kZXNldCgpOworCXRlYXJkb3duX2Ry cnMoKTsKIAl0ZWFyZG93bl9kcm0oKTsKIH0KIApAQCAtMTY2Miw2ICsxNzY0LDExIEBAIHN0YXRp YyB2b2lkIGRvX2ZsdXNoKGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAjZGVmaW5lIEFTU0VS VF9QU1JfRU5BQkxFRAkJKDEgPDwgNikKICNkZWZpbmUgQVNTRVJUX1BTUl9ESVNBQkxFRAkJKDEg PDwgNykKIAorI2RlZmluZSBEUlJTX0FTU0VSVF9GTEFHUwkJKDcgPDwgOCkKKyNkZWZpbmUgQVNT RVJUX0RSUlNfSElHSAkJKDEgPDwgOCkKKyNkZWZpbmUgQVNTRVJUX0RSUlNfTE9XCQkoMSA8PCA5 KQorI2RlZmluZSBBU1NFUlRfRFJSU19JTkFDVElWRQkJKDEgPDwgMTApCisKIHN0YXRpYyBpbnQg YWRqdXN0X2Fzc2VydGlvbl9mbGFncyhjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0LCBpbnQgZmxh Z3MpCiB7CiAJaWYgKCEoZmxhZ3MgJiBET05UX0FTU0VSVF9GRUFUVVJFX1NUQVRVUykpIHsKQEAg LTE2NjksMTIgKzE3NzYsMTcgQEAgc3RhdGljIGludCBhZGp1c3RfYXNzZXJ0aW9uX2ZsYWdzKGNv bnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQsIGludCBmbGFncykKIAkJCWZsYWdzIHw9IEFTU0VSVF9G QkNfRU5BQkxFRDsKIAkJaWYgKCEoZmxhZ3MgJiBBU1NFUlRfUFNSX0RJU0FCTEVEKSkKIAkJCWZs YWdzIHw9IEFTU0VSVF9QU1JfRU5BQkxFRDsKKwkJaWYgKCEoKGZsYWdzICYgQVNTRVJUX0RSUlNf TE9XKSB8fAorCQkgICAgKGZsYWdzICYgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpKSkKKwkJCWZsYWdz IHw9IEFTU0VSVF9EUlJTX0hJR0g7CiAJfQogCiAJaWYgKCh0LT5mZWF0dXJlICYgRkVBVFVSRV9G QkMpID09IDApCiAJCWZsYWdzICY9IH5GQkNfQVNTRVJUX0ZMQUdTOwogCWlmICgodC0+ZmVhdHVy ZSAmIEZFQVRVUkVfUFNSKSA9PSAwKQogCQlmbGFncyAmPSB+UFNSX0FTU0VSVF9GTEFHUzsKKwlp ZiAoKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpID09IDApCisJCWZsYWdzICY9IH5EUlJTX0FT U0VSVF9GTEFHUzsKIAogCXJldHVybiBmbGFnczsKIH0KQEAgLTE3MDYsNiArMTgxOCwyMyBAQCBz dGF0aWMgdm9pZCBkb19zdGF0dXNfYXNzZXJ0aW9ucyhpbnQgZmxhZ3MpCiAJCXJldHVybjsKIAl9 CiAKKwlpZiAoZmxhZ3MgJiBBU1NFUlRfRFJSU19ISUdIKSB7CisJCWlmICghaXNfZHJyc19oaWdo KCkpIHsKKwkJCWRycnNfcHJpbnRfc3RhdHVzKCk7CisJCQlpZ3RfYXNzZXJ0X2YoZmFsc2UsICJE UlJTIEhJR0hcbiIpOworCQl9CisJfSBlbHNlIGlmIChmbGFncyAmIEFTU0VSVF9EUlJTX0xPVykg eworCQlpZiAoIWRycnNfd2FpdF91bnRpbF9ycl9zd2l0Y2hfdG9fbG93KCkpIHsKKwkJCWRycnNf cHJpbnRfc3RhdHVzKCk7CisJCQlpZ3RfYXNzZXJ0X2YoZmFsc2UsICJEUlJTIExPV1xuIik7CisJ CX0KKwl9IGVsc2UgaWYgKGZsYWdzICYgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpIHsKKwkJaWYgKCFp c19kcnJzX2luYWN0aXZlKCkpIHsKKwkJCWRycnNfcHJpbnRfc3RhdHVzKCk7CisJCQlpZ3RfYXNz ZXJ0X2YoZmFsc2UsICJEUlJTIElOQUNUSVZFXG4iKTsKKwkJfQorCX0KKwogCWlmIChmbGFncyAm IEFTU0VSVF9GQkNfRU5BQkxFRCkgewogCQlpZ3RfcmVxdWlyZSghZmJjX25vdF9lbm91Z2hfc3Rv bGVuKCkpOwogCQlpZ3RfcmVxdWlyZSghZmJjX3N0cmlkZV9ub3Rfc3VwcG9ydGVkKCkpOwpAQCAt MTgzMyw2ICsxOTYyLDggQEAgc3RhdGljIHZvaWQgZW5hYmxlX2ZlYXR1cmVzX2Zvcl90ZXN0KGNv bnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAJCWZiY19lbmFibGUoKTsKIAlpZiAodC0+ZmVhdHVy ZSAmIEZFQVRVUkVfUFNSKQogCQlwc3JfZW5hYmxlKCk7CisJaWYgKHQtPmZlYXR1cmUgJiBGRUFU VVJFX0RSUlMpCisJCWRycnNfZW5hYmxlKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrX3Rlc3Rf cmVxdWlyZW1lbnRzKGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCkBAIC0xODUyLDYgKzE5ODMs MTggQEAgc3RhdGljIHZvaWQgY2hlY2tfdGVzdF9yZXF1aXJlbWVudHMoY29uc3Qgc3RydWN0IHRl c3RfbW9kZSAqdCkKIAkJCSAgICAgICJDYW4ndCB0ZXN0IFBTUiB3aXRob3V0IHNpbmsgQ1JDc1xu Iik7CiAJfQogCisJaWYgKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpCisJCWlndF9yZXF1aXJl X2YoZHJycy5jYW5fdGVzdCwKKwkJCSAgICAgICJDYW4ndCB0ZXN0IERSUlMgd2l0aCB0aGUgY3Vy cmVudCBvdXRwdXRzXG4iKTsKKworCS8qCisJICogSW4ga2VybmVsLCBXaGVuIFBTUiBpcyBlbmFi bGVkLCBEUlJTIHdpbGwgYmUgZGlzYWJsZWQuIFNvIElmIGEgdGVzdAorCSAqIGNhc2UgbmVlZHMg RFJSUyArIFBTUiBlbmFibGVkLCB0aGF0IHdpbGwgYmUgc2tpcHBlZC4KKwkgKi8KKwlpZ3RfcmVx dWlyZV9mKCEoKHQtPmZlYXR1cmUgJiBGRUFUVVJFX1BTUikgJiYKKwkJICAgICAgKHQtPmZlYXR1 cmUgJiBGRUFUVVJFX0RSUlMpKSwKKwkJICAgICAgIkNhbid0IHRlc3QgUFNSIGFuZCBEUlJTIHRv Z2V0aGVyXG4iKTsKKwogCWlmIChvcHQub25seV9waXBlcyAhPSBQSVBFX0NPVU5UKQogCQlpZ3Rf cmVxdWlyZSh0LT5waXBlcyA9PSBvcHQub25seV9waXBlcyk7CiB9CkBAIC0xOTczLDcgKzIxMTYs NyBAQCBzdGF0aWMgdm9pZCBydGVfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQog CiAJdW5zZXRfYWxsX2NydGNzKCk7CiAJZG9fYXNzZXJ0aW9ucyhBU1NFUlRfRkJDX0RJU0FCTEVE IHwgQVNTRVJUX1BTUl9ESVNBQkxFRCB8Ci0JCSAgICAgIERPTlRfQVNTRVJUX0NSQyk7CisJCSAg ICAgIERPTlRfQVNTRVJUX0NSQyB8IEFTU0VSVF9EUlJTX0lOQUNUSVZFKTsKIAogCWVuYWJsZV9w cmltX3NjcmVlbl9hbmRfd2FpdCh0KTsKIAlzZXRfY3Vyc29yX2Zvcl90ZXN0KHQsICZwcmltX21v ZGVfcGFyYW1zKTsKQEAgLTIwNjUsNiArMjIwOCwxMyBAQCBzdGF0aWMgdm9pZCBkcmF3X3N1YnRl c3QoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKIAlpZiAob3BfZGlzYWJsZXNfcHNyKHQsIHQt Pm1ldGhvZCkpCiAJCWFzc2VydGlvbnMgfD0gQVNTRVJUX1BTUl9ESVNBQkxFRDsKIAorCS8qCisJ ICogT24gRkJTX0lORElWSURVQUwsIHdyaXRlIHRvIG9mZnNjcmVlbiBwbGFuZSB3aWxsIG5vdCB0 b3VjaCB0aGUKKwkgKiBjdXJyZW50IGZyYW1idWZmZXIuIEhlbmNlIGFzc2VydCBmb3IgRFJSU19M T1cuCisJICovCisJaWYgKCh0LT5mYnMgPT0gRkJTX0lORElWSURVQUwpICYmICh0LT5zY3JlZW4g PT0gU0NSRUVOX09GRlNDUkVFTikpCisJCWFzc2VydGlvbnMgfD0gQVNTRVJUX0RSUlNfTE9XOwor CiAJcHJlcGFyZV9zdWJ0ZXN0KHQsIHBhdHRlcm4pOwogCXRhcmdldCA9IHBpY2tfdGFyZ2V0KHQs IHBhcmFtcyk7CiAKQEAgLTIyNzMsNyArMjQyMywxMSBAQCBzdGF0aWMgdm9pZCBzbG93X2RyYXdf c3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCQlzbGVlcCgyKTsKIAogCQl1cGRh dGVfd2FudGVkX2NyYyh0LCAmcGF0dGVybi0+Y3Jjc1t0LT5mb3JtYXRdW3JdKTsKLQkJZG9fYXNz ZXJ0aW9ucygwKTsKKworCQlpZiAodC0+ZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykKKwkJCWRvX2Fz c2VydGlvbnMoQVNTRVJUX0RSUlNfTE9XKTsKKwkJZWxzZQorCQkJZG9fYXNzZXJ0aW9ucygwKTsK IAl9CiB9CiAKQEAgLTI4ODIsMTQgKzMwMzYsMTQgQEAgc3RhdGljIHZvaWQgc3VzcGVuZF9zdWJ0 ZXN0KGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAJc2xlZXAoNSk7CiAJaWd0X3N5c3RlbV9z dXNwZW5kX2F1dG9yZXN1bWUoU1VTUEVORF9TVEFURV9NRU0sIFNVU1BFTkRfVEVTVF9OT05FKTsK IAlzbGVlcCg1KTsKLQlkb19hc3NlcnRpb25zKDApOworCWRvX2Fzc2VydGlvbnMoQVNTRVJUX0RS UlNfTE9XKTsKIAogCXVuc2V0X2FsbF9jcnRjcygpOwogCXNsZWVwKDUpOwogCWlndF9zeXN0ZW1f c3VzcGVuZF9hdXRvcmVzdW1lKFNVU1BFTkRfU1RBVEVfTUVNLCBTVVNQRU5EX1RFU1RfTk9ORSk7 CiAJc2xlZXAoNSk7CiAJZG9fYXNzZXJ0aW9ucyhBU1NFUlRfRkJDX0RJU0FCTEVEIHwgQVNTRVJU X1BTUl9ESVNBQkxFRCB8Ci0JCSAgICAgIERPTlRfQVNTRVJUX0NSQyk7CisJCSAgICAgIERPTlRf QVNTRVJUX0NSQyB8IEFTU0VSVF9EUlJTX0lOQUNUSVZFKTsKIAogCXNldF9tb2RlX2Zvcl9wYXJh bXMocGFyYW1zKTsKIAlkb19hc3NlcnRpb25zKDApOwpAQCAtMzM3MSw2ICszNTI1LDE0IEBAIHN0 YXRpYyBjb25zdCBjaGFyICpmZWF0dXJlX3N0cihpbnQgZmVhdHVyZSkKIAkJcmV0dXJuICJwc3Ii OwogCWNhc2UgRkVBVFVSRV9GQkMgfCBGRUFUVVJFX1BTUjoKIAkJcmV0dXJuICJmYmNwc3IiOwor CWNhc2UgRkVBVFVSRV9EUlJTOgorCQlyZXR1cm4gImRycnMiOworCWNhc2UgRkVBVFVSRV9GQkMg fCBGRUFUVVJFX0RSUlM6CisJCXJldHVybiAiZmJjZHJycyI7CisJY2FzZSBGRUFUVVJFX1BTUiB8 IEZFQVRVUkVfRFJSUzoKKwkJcmV0dXJuICJwc3JkcnJzIjsKKwljYXNlIEZFQVRVUkVfRkJDIHwg RkVBVFVSRV9QU1IgfCBGRUFUVVJFX0RSUlM6CisJCXJldHVybiAiZmJjcHNyZHJycyI7CiAJZGVm YXVsdDoKIAkJaWd0X2Fzc2VydChmYWxzZSk7CiAJfQpAQCAtMzYzNSw3ICszNzk3LDcgQEAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCQl0aWxpbmdjaGFuZ2Vfc3VidGVzdCgm dCk7CiAJCX0KIAotCQlpZiAodC5mZWF0dXJlICYgRkVBVFVSRV9QU1IpCisJCWlmICgodC5mZWF0 dXJlICYgRkVBVFVSRV9QU1IpIHx8ICh0LmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpKQogCQkJaWd0 X3N1YnRlc3RfZigiJXMtc2xvd2RyYXciLCBmZWF0dXJlX3N0cih0LmZlYXR1cmUpKQogCQkJCXNs b3dfZHJhd19zdWJ0ZXN0KCZ0KTsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=