From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lohith BS Subject: [PATCH i-g-t v8] tests/kms_frontbuffer_tracking: Including DRRS test coverage Date: Wed, 6 Dec 2017 20:43:25 +0530 Message-ID: <1512573205-12069-1-git-send-email-lohith.bs@intel.com> References: <1510330921-22710-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id CB9F16E55E for ; Wed, 6 Dec 2017 15:20:12 +0000 (UTC) In-Reply-To: <1510330921-22710-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, marius.c.vlad@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 Y3QgY3VycmVudCBpbXBsZW1lbnRhdGlvbi4KClNpZ25lZC1vZmYtYnk6IExvaGl0aCBCUyA8bG9o aXRoLmJzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogYWtuYXV0aXkgPGFua2l0LmsubmF1dGl5 YWxAaW50ZWwuY29tPgotLS0KIHRlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jIHwgMTY2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDE1MSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9r bXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2lu Zy5jCmluZGV4IGEwNjhjOGEuLmIwNmQzMDQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19mcm9udGJ1 ZmZlcl90cmFja2luZy5jCisrKyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jCkBA IC0zNCw3ICszNCw3IEBACiAKIAogSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3QgdGhlIEtlcm5l bCdzIGZyb250YnVmZmVyIHRyYWNraW5nIG1lY2hhbmlzbSBhbmQgIgotCQkgICAgICJpdHMgcmVs YXRlZCBmZWF0dXJlczogRkJDIGFuZCBQU1IiKTsKKwkJCSJpdHMgcmVsYXRlZCBmZWF0dXJlczog RkJDLCBEUlJTIGFuZCBQU1IiKTsKIAogLyoKICAqIE9uZSBvZiB0aGUgYXNwZWN0cyBvZiB0aGlz IHRlc3QgaXMgdGhhdCwgZm9yIGV2ZXJ5IHN1YnRlc3QsIHdlIHRyeSBkaWZmZXJlbnQKQEAgLTEw NSw4ICsxMDUsOSBAQCBzdHJ1Y3QgdGVzdF9tb2RlIHsKIAkJRkVBVFVSRV9OT05FICA9IDAsCiAJ CUZFQVRVUkVfRkJDICAgPSAxLAogCQlGRUFUVVJFX1BTUiAgID0gMiwKLQkJRkVBVFVSRV9DT1VO VCA9IDQsCi0JCUZFQVRVUkVfREVGQVVMVCA9IDQsCisJCUZFQVRVUkVfRFJSUyAgPSA0LAorCQlG RUFUVVJFX0NPVU5UID0gNiwKKwkJRkVBVFVSRV9ERUZBVUxUID0gNiwKIAl9IGZlYXR1cmU7CiAK IAkvKiBQb3NzaWJsZSBwaXhlbCBmb3JtYXRzLiBXZSBqdXN0IHVzZSBGT1JNQVRfREVGQVVMVCBm b3IgbW9zdCB0ZXN0cyBhbmQKQEAgLTE1Niw2ICsxNTcsNyBAQCBzdHJ1Y3QgcmVjdCB7CiBzdHJ1 Y3QgewogCWludCBmZDsKIAlpbnQgZGVidWdmczsKKwlpbnQgZHJyc19kZWJ1Z2ZzX2ZkOwogCWRy bU1vZGVSZXNQdHIgcmVzOwogCWRybU1vZGVDb25uZWN0b3JQdHIgY29ubmVjdG9yc1tNQVhfQ09O TkVDVE9SU107CiAJZHJtTW9kZUVuY29kZXJQdHIgZW5jb2RlcnNbTUFYX0VOQ09ERVJTXTsKQEAg LTE3OCwxMCArMTgwLDggQEAgc3RydWN0IHsKIAogc3RydWN0IHsKIAlib29sIGNhbl90ZXN0Owot fSBwc3IgPSB7Ci0JLmNhbl90ZXN0ID0gZmFsc2UsCi19OwotCit9IHBzciA9IHsgLmNhbl90ZXN0 ID0gZmFsc2UsfSwKK2RycnMgPSB7IC5jYW5fdGVzdCA9IGZhbHNlLH07CiAKICNkZWZpbmUgU0lO S19DUkNfU0laRSAxMgogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtNzc1LDggKzc3NSw4IEBAIHN0YXRp YyBib29sIHNldF9tb2RlX2Zvcl9wYXJhbXMoc3RydWN0IG1vZGVzZXRfcGFyYW1zICpwYXJhbXMp CiAJaW50IHJjOwogCiAJcmMgPSBkcm1Nb2RlU2V0Q3J0Yyhkcm0uZmQsIHBhcmFtcy0+Y3J0Y19p ZCwgcGFyYW1zLT5mYi5mYi0+ZmJfaWQsCi0JCQkgICAgcGFyYW1zLT5mYi54LCBwYXJhbXMtPmZi LnksCi0JCQkgICAgJnBhcmFtcy0+Y29ubmVjdG9yX2lkLCAxLCBwYXJhbXMtPm1vZGUpOworCQkJ CXBhcmFtcy0+ZmIueCwgcGFyYW1zLT5mYi55LAorCQkJCSZwYXJhbXMtPmNvbm5lY3Rvcl9pZCwg MSwgcGFyYW1zLT5tb2RlKTsKIAlyZXR1cm4gKHJjID09IDApOwogfQogCkBAIC04MjIsNiArODIy LDYzIEBAIHN0YXRpYyB2b2lkIHBzcl9wcmludF9zdGF0dXModm9pZCkKIAlpZ3RfaW5mbygiUFNS IHN0YXR1czpcbiVzXG4iLCBidWYpOwogfQogCit2b2lkIGRycnNfc2V0KHVuc2lnbmVkIGludCB2 YWwpCit7CisJY2hhciBidWZbMTZdOworCisJaWd0X2RlYnVnKCJNYW51YWxseSAlc2FibGluZyBE UlJTLiAlbGx1XG4iLCB2YWwgPyAiZW4iIDogImRpcyIsIHZhbCk7CisJc25wcmludGYoYnVmLCBz aXplb2YoYnVmKSwgIiVkIiwgdmFsKTsKKwlpZ3RfYXNzZXJ0X2VxKHdyaXRlKGRybS5kcnJzX2Rl YnVnZnNfZmQsIGJ1Ziwgc3RybGVuKGJ1ZikpLCBzdHJsZW4oYnVmKSk7Cit9CisKK3N0YXRpYyBi b29sIGlzX2RycnNfaGlnaCh2b2lkKQoreworCWNoYXIgYnVmWzI1Nl07CisKKwlkZWJ1Z2ZzX3Jl YWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYpOworCXJldHVybiBzdHJzdHIoYnVmLCAiRFJSU19I SUdIX1JSIik7Cit9CisKK3N0YXRpYyBib29sIGlzX2RycnNfbG93KHZvaWQpCit7CisJY2hhciBi dWZbMjU2XTsKKworCWRlYnVnZnNfcmVhZCgiaTkxNV9kcnJzX3N0YXR1cyIsIGJ1Zik7CisJcmV0 dXJuIHN0cnN0cihidWYsICJEUlJTX0xPV19SUiIpOworfQorCitzdGF0aWMgYm9vbCBpc19kcnJz X3N1cHBvcnRlZCh2b2lkKQoreworCWNoYXIgYnVmWzI1Nl07CisKKwlkZWJ1Z2ZzX3JlYWQoImk5 MTVfZHJyc19zdGF0dXMiLCBidWYpOworCXJldHVybiBzdHJzdHIoYnVmLCAiRFJSUyBTdXBwb3J0 ZWQ6IFllcyIpOworfQorCitzdGF0aWMgYm9vbCBpc19kcnJzX2luYWN0aXZlKHZvaWQpCit7CisJ Y2hhciBidWZbMjU2XTsKKworCWRlYnVnZnNfcmVhZCgiaTkxNV9kcnJzX3N0YXR1cyIsIGJ1Zik7 CisKKwlpZiAoc3Ryc3RyKGJ1ZiwgIk5vIGFjdGl2ZSBjcnRjIGZvdW5kIikpCisJCXJldHVybiB0 cnVlOworCWlmIChzdHJzdHIoYnVmLCAiSWRsZW5lc3MgRFJSUzogRGlzYWJsZWQiKSkKKwkJcmV0 dXJuIHRydWU7CisJaWYgKHN0cnN0cihidWYsICJEUlJTIFN1cHBvcnRlZCA6IE5vIikpCisJCXJl dHVybiB0cnVlOworCisJcmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgdm9pZCBkcnJzX3ByaW50 X3N0YXR1cyh2b2lkKQoreworCWNoYXIgYnVmWzI1Nl07CisKKwlkZWJ1Z2ZzX3JlYWQoImk5MTVf ZHJyc19zdGF0dXMiLCBidWYpOworCWlndF9pbmZvKCJEUlJTIFNUQVRVUyA6XG4lc1xuIiwgYnVm KTsKK30KKwogc3RhdGljIHN0cnVjdCB0aW1lc3BlYyBmYmNfZ2V0X2xhc3RfYWN0aW9uKHZvaWQp CiB7CiAJc3RydWN0IHRpbWVzcGVjIHJldCA9IHsgMCwgMCB9OwpAQCAtOTMyLDEwICs5ODksMTcg QEAgc3RhdGljIGJvb2wgcHNyX3dhaXRfdW50aWxfZW5hYmxlZCh2b2lkKQogCXJldHVybiBpZ3Rf d2FpdChwc3JfaXNfZW5hYmxlZCgpLCA1MDAwLCAxKTsKIH0KIAorc3RhdGljIGJvb2wgZHJyc193 YWl0X3VudGlsX3JyX3N3aXRjaF90b19sb3codm9pZCkKK3sKKwlyZXR1cm4gaWd0X3dhaXQoaXNf ZHJyc19sb3coKSwgNTAwMCwgMSk7Cit9CisKICNkZWZpbmUgZmJjX2VuYWJsZSgpIGlndF9zZXRf bW9kdWxlX3BhcmFtX2ludCgiZW5hYmxlX2ZiYyIsIDEpCiAjZGVmaW5lIGZiY19kaXNhYmxlKCkg aWd0X3NldF9tb2R1bGVfcGFyYW1faW50KCJlbmFibGVfZmJjIiwgMCkKICNkZWZpbmUgcHNyX2Vu YWJsZSgpIGlndF9zZXRfbW9kdWxlX3BhcmFtX2ludCgiZW5hYmxlX3BzciIsIDEpCiAjZGVmaW5l IHBzcl9kaXNhYmxlKCkgaWd0X3NldF9tb2R1bGVfcGFyYW1faW50KCJlbmFibGVfcHNyIiwgMCkK KyNkZWZpbmUgZHJyc19lbmFibGUoKSBkcnJzX3NldCgxKQorI2RlZmluZSBkcnJzX2Rpc2FibGUo KSBkcnJzX3NldCgwKQogCiBzdGF0aWMgdm9pZCBnZXRfc2lua19jcmMoc2lua19jcmNfdCAqY3Jj LCBib29sIG1hbmRhdG9yeSkKIHsKQEAgLTExODIsNiArMTI0Niw3IEBAIHN0YXRpYyB2b2lkIGRp c2FibGVfZmVhdHVyZXMoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKIAogCWZiY19kaXNhYmxl KCk7CiAJcHNyX2Rpc2FibGUoKTsKKwlkcnJzX2Rpc2FibGUoKTsKIH0KIAogc3RhdGljIHZvaWQg KmJ1c3lfdGhyZWFkX2Z1bmModm9pZCAqZGF0YSkKQEAgLTE1MDYsNiArMTU3MSwxMSBAQCBzdGF0 aWMgdm9pZCB0ZWFyZG93bl9jcmNzKHZvaWQpCiAJaWd0X3BpcGVfY3JjX2ZyZWUocGlwZV9jcmMp OwogfQogCitzdGF0aWMgdm9pZCB0ZWFyZG93bl9kcnJzKHZvaWQpCit7CisJaWYgKGRybS5kcnJz X2RlYnVnZnNfZmQgIT0gLTEpCisJCWNsb3NlKGRybS5kcnJzX2RlYnVnZnNfZmQpOworfQogc3Rh dGljIGJvb2wgZmJjX3N1cHBvcnRlZF9vbl9jaGlwc2V0KHZvaWQpCiB7CiAJY2hhciBidWZbMTI4 XTsKQEAgLTE1NzUsNiArMTY0NSwzMCBAQCBzdGF0aWMgdm9pZCB0ZWFyZG93bl9wc3Iodm9pZCkK IHsKIH0KIAorc3RhdGljIHZvaWQgc2V0dXBfZHJycyh2b2lkKQoreworCWludCBpc19kcnJzX2Rl YnVnX2N0bDsKKwlpZiAoZ2V0X2Nvbm5lY3RvcihwcmltX21vZGVfcGFyYW1zLmNvbm5lY3Rvcl9p ZCktPmNvbm5lY3Rvcl90eXBlICE9CisJCQlEUk1fTU9ERV9DT05ORUNUT1JfZURQKSB7CisJCWln dF9pbmZvKCJDYW4ndCB0ZXN0IERSUlM6IG5vIHVzYWJsZSBlRFAgc2NyZWVuLlxuIik7CisJCXJl dHVybjsKKwl9CisKKwlpZiAoIWlzX2RycnNfc3VwcG9ydGVkKCkpIHsKKwkJaWd0X2luZm8oIkNh bid0IHRlc3QgRFJSUzogTm90IHN1cHBvcnRlZC5cbiIpOworCQlyZXR1cm47CisJfQorCisJZHJt LmRycnNfZGVidWdmc19mZCA9IG9wZW5hdChkcm0uZGVidWdmcywgImk5MTVfZHJyc19jdGwiLCBP X1dST05MWSk7CisKKwlpZiAoZHJtLmRycnNfZGVidWdmc19mZCA+IDApIHsKKwkJZHJycy5jYW5f dGVzdCA9IHRydWU7CisJfSBlbHNlIHsKKwkJaWd0X2luZm8oIkNhbid0IHRlc3QgRFJSUzogRGVi dWdmcyBlbnRyeSBpOTE1X2RycnNfY3RsIG5vdCBmb3VuZC5cbiIpOworCQlkcnJzLmNhbl90ZXN0 ID0gZmFsc2U7CisJfQorfQorCiBzdGF0aWMgdm9pZCBzZXR1cF9lbnZpcm9ubWVudCh2b2lkKQog ewogCXNldHVwX2RybSgpOwpAQCAtMTU4Miw3ICsxNjc2LDcgQEAgc3RhdGljIHZvaWQgc2V0dXBf ZW52aXJvbm1lbnQodm9pZCkKIAogCXNldHVwX2ZiYygpOwogCXNldHVwX3BzcigpOwotCisJc2V0 dXBfZHJycygpOwogCXNldHVwX2NyY3MoKTsKIH0KIApAQCAtMTU5NCw2ICsxNjg4LDcgQEAgc3Rh dGljIHZvaWQgdGVhcmRvd25fZW52aXJvbm1lbnQodm9pZCkKIAl0ZWFyZG93bl9wc3IoKTsKIAl0 ZWFyZG93bl9mYmMoKTsKIAl0ZWFyZG93bl9tb2Rlc2V0KCk7CisJdGVhcmRvd25fZHJycygpOwog CXRlYXJkb3duX2RybSgpOwogfQogCkBAIC0xNjYwLDYgKzE3NTUsMTEgQEAgc3RhdGljIHZvaWQg ZG9fZmx1c2goY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKICNkZWZpbmUgQVNTRVJUX1BTUl9F TkFCTEVECQkoMSA8PCA2KQogI2RlZmluZSBBU1NFUlRfUFNSX0RJU0FCTEVECQkoMSA8PCA3KQog CisjZGVmaW5lIERSUlNfQVNTRVJUX0ZMQUdTICAgICAgICAgICAgICAgKDcgPDwgOCkKKyNkZWZp bmUgQVNTRVJUX0RSUlNfSElHSCAgICAgICAgICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBBU1NF UlRfRFJSU19MT1cgICAgICAgICAgICAgICAgICgxIDw8IDkpCisjZGVmaW5lIEFTU0VSVF9EUlJT X0lOQUNUSVZFICAgICAgICAgICAgKDEgPDwgMTApCisKIHN0YXRpYyBpbnQgYWRqdXN0X2Fzc2Vy dGlvbl9mbGFncyhjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0LCBpbnQgZmxhZ3MpCiB7CiAJaWYg KCEoZmxhZ3MgJiBET05UX0FTU0VSVF9GRUFUVVJFX1NUQVRVUykpIHsKQEAgLTE2NjcsMTIgKzE3 NjcsMTcgQEAgc3RhdGljIGludCBhZGp1c3RfYXNzZXJ0aW9uX2ZsYWdzKGNvbnN0IHN0cnVjdCB0 ZXN0X21vZGUgKnQsIGludCBmbGFncykKIAkJCWZsYWdzIHw9IEFTU0VSVF9GQkNfRU5BQkxFRDsK IAkJaWYgKCEoZmxhZ3MgJiBBU1NFUlRfUFNSX0RJU0FCTEVEKSkKIAkJCWZsYWdzIHw9IEFTU0VS VF9QU1JfRU5BQkxFRDsKKwkJaWYgKCEoKGZsYWdzICYgQVNTRVJUX0RSUlNfTE9XKSB8fCAoZmxh Z3MgJiBBU1NFUlRfRFJSU19JTkFDVElWRSkpKSB7CisJCQlmbGFncyB8PSBBU1NFUlRfRFJSU19I SUdIOworCQl9CiAJfQogCiAJaWYgKCh0LT5mZWF0dXJlICYgRkVBVFVSRV9GQkMpID09IDApCiAJ CWZsYWdzICY9IH5GQkNfQVNTRVJUX0ZMQUdTOwogCWlmICgodC0+ZmVhdHVyZSAmIEZFQVRVUkVf UFNSKSA9PSAwKQogCQlmbGFncyAmPSB+UFNSX0FTU0VSVF9GTEFHUzsKKwlpZiAoKHQtPmZlYXR1 cmUgJiBGRUFUVVJFX0RSUlMpID09IDApCisJCWZsYWdzICY9IH5EUlJTX0FTU0VSVF9GTEFHUzsK IAogCXJldHVybiBmbGFnczsKIH0KQEAgLTE3MDQsNiArMTgwOSwyMyBAQCBzdGF0aWMgdm9pZCBk b19zdGF0dXNfYXNzZXJ0aW9ucyhpbnQgZmxhZ3MpCiAJCXJldHVybjsKIAl9CiAKKwlpZiAoZmxh Z3MgJiBBU1NFUlRfRFJSU19ISUdIKSB7CisJCWlmICghaXNfZHJyc19oaWdoKCkpIHsKKwkJCWRy cnNfcHJpbnRfc3RhdHVzKCk7CisJCQlpZ3RfYXNzZXJ0X2YoZmFsc2UsICJEUlJTIEhJR0hcbiIp OworCQl9CisJfSBlbHNlIGlmIChmbGFncyAmIEFTU0VSVF9EUlJTX0xPVykgeworCQlpZiAoIWRy cnNfd2FpdF91bnRpbF9ycl9zd2l0Y2hfdG9fbG93KCkpIHsKKwkJCWRycnNfcHJpbnRfc3RhdHVz KCk7CisJCQlpZ3RfYXNzZXJ0X2YoZmFsc2UsICJEUlJTIExPV1xuIik7CisJCX0KKwl9IGVsc2Ug aWYgKGZsYWdzICYgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpIHsKKwkJaWYgKCFpc19kcnJzX2luYWN0 aXZlKCkpIHsKKwkJCWRycnNfcHJpbnRfc3RhdHVzKCk7CisJCQlpZ3RfYXNzZXJ0X2YoZmFsc2Us ICJEUlJTIElOQUNUSVZFXG4iKTsKKwkJfQorCX0KKwogCWlmIChmbGFncyAmIEFTU0VSVF9GQkNf RU5BQkxFRCkgewogCQlpZ3RfcmVxdWlyZSghZmJjX25vdF9lbm91Z2hfc3RvbGVuKCkpOwogCQlp Z3RfcmVxdWlyZSghZmJjX3N0cmlkZV9ub3Rfc3VwcG9ydGVkKCkpOwpAQCAtMTgzMSw2ICsxOTUz LDggQEAgc3RhdGljIHZvaWQgZW5hYmxlX2ZlYXR1cmVzX2Zvcl90ZXN0KGNvbnN0IHN0cnVjdCB0 ZXN0X21vZGUgKnQpCiAJCWZiY19lbmFibGUoKTsKIAlpZiAodC0+ZmVhdHVyZSAmIEZFQVRVUkVf UFNSKQogCQlwc3JfZW5hYmxlKCk7CisJaWYgKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpCisJ CWRycnNfZW5hYmxlKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrX3Rlc3RfcmVxdWlyZW1lbnRz KGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCkBAIC0xODUwLDYgKzE5NzQsMTAgQEAgc3RhdGlj IHZvaWQgY2hlY2tfdGVzdF9yZXF1aXJlbWVudHMoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkK IAkJCSAgICAgICJDYW4ndCB0ZXN0IFBTUiB3aXRob3V0IHNpbmsgQ1JDc1xuIik7CiAJfQogCisJ aWYgKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpCisJCWlndF9yZXF1aXJlX2YoZHJycy5jYW5f dGVzdCwKKwkJCQkiQ2FuJ3QgdGVzdCBEUlJTIHdpdGggdGhlIGN1cnJlbnQgb3V0cHV0c1xuIik7 CisKIAlpZiAob3B0Lm9ubHlfcGlwZXMgIT0gUElQRV9DT1VOVCkKIAkJaWd0X3JlcXVpcmUodC0+ cGlwZXMgPT0gb3B0Lm9ubHlfcGlwZXMpOwogfQpAQCAtMTk3MSw3ICsyMDk5LDcgQEAgc3RhdGlj IHZvaWQgcnRlX3N1YnRlc3QoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKIAogCXVuc2V0X2Fs bF9jcnRjcygpOwogCWRvX2Fzc2VydGlvbnMoQVNTRVJUX0ZCQ19ESVNBQkxFRCB8IEFTU0VSVF9Q U1JfRElTQUJMRUQgfAotCQkgICAgICBET05UX0FTU0VSVF9DUkMpOworCQkgICAgICBET05UX0FT U0VSVF9DUkMgfCBBU1NFUlRfRFJSU19JTkFDVElWRSk7CiAKIAllbmFibGVfcHJpbV9zY3JlZW5f YW5kX3dhaXQodCk7CiAJc2V0X2N1cnNvcl9mb3JfdGVzdCh0LCAmcHJpbV9tb2RlX3BhcmFtcyk7 CkBAIC0yMjE5LDYgKzIzNDcsNyBAQCBzdGF0aWMgdm9pZCBiYWRmb3JtYXRfc3VidGVzdChjb25z dCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCQlhc3NlcnRpb25zIHw9IEFTU0VSVF9GQkNfRElTQUJM RUQ7CiAJaWYgKCFwc3JfdmFsaWQpCiAJCWFzc2VydGlvbnMgfD0gQVNTRVJUX1BTUl9ESVNBQkxF RDsKKwogCWRvX2Fzc2VydGlvbnMoYXNzZXJ0aW9ucyk7CiB9CiAKQEAgLTIyNzcsNyArMjQwNiwx MSBAQCBzdGF0aWMgdm9pZCBzbG93X2RyYXdfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2Rl ICp0KQogCQlzbGVlcCgyKTsKIAogCQl1cGRhdGVfd2FudGVkX2NyYyh0LCAmcGF0dGVybi0+Y3Jj c1t0LT5mb3JtYXRdW3JdKTsKLQkJZG9fYXNzZXJ0aW9ucygwKTsKKworCQlpZiAodC0+ZmVhdHVy ZSAmIEZFQVRVUkVfRFJSUykKKwkJCWRvX2Fzc2VydGlvbnMoQVNTRVJUX0RSUlNfTE9XKTsKKwkJ ZWxzZQorCQkJZG9fYXNzZXJ0aW9ucygwKTsKIAl9CiB9CiAKQEAgLTI4OTIsOCArMzAyNSw3IEBA IHN0YXRpYyB2b2lkIHN1c3BlbmRfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQog CXNsZWVwKDUpOwogCWlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKFNVU1BFTkRfU1RBVEVf TUVNLCBTVVNQRU5EX1RFU1RfTk9ORSk7CiAJc2xlZXAoNSk7Ci0JZG9fYXNzZXJ0aW9ucyhBU1NF UlRfRkJDX0RJU0FCTEVEIHwgQVNTRVJUX1BTUl9ESVNBQkxFRCB8Ci0JCSAgICAgIERPTlRfQVNT RVJUX0NSQyk7CisJZG9fYXNzZXJ0aW9ucyhBU1NFUlRfRkJDX0RJU0FCTEVEIHwgQVNTRVJUX1BT Ul9ESVNBQkxFRCB8IERPTlRfQVNTRVJUX0NSQyk7CiAKIAlzZXRfbW9kZV9mb3JfcGFyYW1zKHBh cmFtcyk7CiAJZG9fYXNzZXJ0aW9ucygwKTsKQEAgLTMzNzUsNiArMzUwNywxMCBAQCBzdGF0aWMg Y29uc3QgY2hhciAqZmVhdHVyZV9zdHIoaW50IGZlYXR1cmUpCiAJCXJldHVybiAicHNyIjsKIAlj YXNlIEZFQVRVUkVfRkJDIHwgRkVBVFVSRV9QU1I6CiAJCXJldHVybiAiZmJjcHNyIjsKKwljYXNl IEZFQVRVUkVfRFJSUzoKKwkJcmV0dXJuICJkcnJzIjsKKwljYXNlIEZFQVRVUkVfRkJDIHwgRkVB VFVSRV9EUlJTOgorCQlyZXR1cm4gImZiY2RycnMiOwogCWRlZmF1bHQ6CiAJCWlndF9hc3NlcnQo ZmFsc2UpOwogCX0KQEAgLTM2MzksNyArMzc3NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAJCQkJdGlsaW5nY2hhbmdlX3N1YnRlc3QoJnQpOwogCQl9CiAKLQkJaWYgKHQu ZmVhdHVyZSAmIEZFQVRVUkVfUFNSKQorCQlpZiAoKHQuZmVhdHVyZSAmIEZFQVRVUkVfUFNSKSB8 fCAodC5mZWF0dXJlICYgRkVBVFVSRV9EUlJTKSkKIAkJCWlndF9zdWJ0ZXN0X2YoIiVzLXNsb3dk cmF3IiwgZmVhdHVyZV9zdHIodC5mZWF0dXJlKSkKIAkJCQlzbG93X2RyYXdfc3VidGVzdCgmdCk7 CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK