From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH i-g-t v13] tests/kms_frontbuffer_tracking: Including DRRS test coverage Date: Wed, 10 Jan 2018 10:15:03 -0800 Message-ID: <20180110181503.g2rhv4srmgp45y7f@intel.com> References: <1515152429-3157-1-git-send-email-lohith.bs@intel.com> <1515595620-23742-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6A7BE6E33A for ; Wed, 10 Jan 2018 18:15:04 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1515595620-23742-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: Lohith BS Cc: paulo.r.zanoni@intel.com, jari.tahvanainen@intel.com, daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, ankit.k.nautiyal@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKYW4gMTAsIDIwMTggYXQgMDI6NDc6MDBQTSArMDAwMCwgTG9oaXRoIEJTIHdyb3Rl Ogo+IER5bmFtaWMgUmVmcmVzaCBSYXRlIFN3aXRjaChEUlJTKSBpcyB1c2VkIHRvIHN3aXRjaCB0 aGUgcGFuZWwncwo+IHJlZnJlc2ggcmF0ZSB0byB0aGUgbG93ZXN0IHZyZWZyZXNoIHN1cHBvcnRl ZCBieSBwYW5lbCwgd2hlbiBmcmFtZSBpcwo+IG5vdCBmbGlwcGVkIGZvciBtb3JlIHRoYW4gYSBT ZWMuCj4gCj4gSW4ga2VybmVsLCBEUlJTIHVzZXMgdGhlIGZyb250IGJ1ZmZlciB0cmFja2luZyBp bmZyYXN0cnVjdHVyZS4KPiBIZW5jZSBEUlJTIHRlc3QgY292ZXJhZ2UgaXMgYWRkZWQgYWxvbmcg d2l0aCBvdGhlciBmcm9udGJ1ZmZlciB0cmFja2luZwo+IGJhc2VkIGZlYXR1cmVzIHN1Y2ggYXMg RkJDIGFuZCBQU1IgdGVzdHMuCj4gCj4gSGVyZSwgd2UgYXJlIHRlc3RpbmcgRFJSUyB3aXRoIG90 aGVyIGZlYXR1cmVzIGluIGFsbCBwb3NzaWJsZQo+IGNvbWJpbmF0aW9ucywgaW4gYWxsIHJlcXVp cmVkIHRlc3QgY2FzZXMsIHRvIGNhcHR1cmUgYW55IHBvc3NpYmxlCj4gcmVncmVzc2lvbi4KPiAK PiB2MjogQWRkcmVzc2VkIHRoZSBjb21tZW50cyBhbmQgc3VnZ2VzdGlvbnMgZnJvbSBWbGFkLCBN YXJpdXMuCj4gICAgIFRoZSBzaWdub2ZmIGRldGFpbHMgZnJvbSB0aGUgZWFybGllciB3b3JrIGFy ZSBhbHNvIGluY2x1ZGVkLgo+IAo+IHYzOiBNb2RpZmllZCB2YmxhbmsgcmF0ZSBjYWxjdWxhdGlv biBieSB1c2luZyByZXBseS1zZXF1ZW5jZSwKPiAgICAgcHJvdmlkZWQgYnkgZHJtV2FpdFZCbGFu aywgYXMgc3VnZ2VzdGVkIGJ5IENocmlzIFdpbHNvbi4KPiAKPiB2NDogQXMgc3VnZ2VzdGVkIGZy b20gQ2hyaXMgV2lsc29uIGFuZCBEYW5pZWwgVmV0dGVyCj4gICAgIDEpIEF2b2lkZWQgdXNpbmcg cHRocmVhZCBmb3IgY2FsY3VsYXRpbmcgdmJsYW5rIHJlZnJlc2ggcmF0ZSwKPiAgICAgICAgaW5z dGVhZCB1c2VkIGRybVdhaXRWQmxhbmsgcmVwbHkgc2VxdWVuY2UuCj4gICAgIDIpIEF2b2lkZWQg dXNpbmcga2VybmVsLXNwZWNpZmljIGluZm8gbGlrZSB0cmFuc2l0aW9uYWwgZGVsYXlzLAo+ICAg ICAgICBpbnN0ZWFkIHBvbGxpbmcgbWVjaGFuaXNtIHdpdGggdGltZW91dCBpcyB1c2VkLgo+ICAg ICAzKSBJbmNsdWRlZCBlZHAtRFJSUyBhcyBhIHN1YnRlc3QgaW4ga21zX2Zyb250YnVmZmVyX3Ry YWNraW5nLmMsCj4gICAgICAgIGluc3RlYWQgb2YgaGF2aW5nIGEgc2VwYXJhdGUgdGVzdC4KPiAK PiB2NTogVGhpcyBwYXRjaCBhZGRzIERSUlMgYXMgYSBuZXcgZmVhdHVyZSBpbiB0aGUKPiAgICAg a21zX2Zyb250YnVmZmVyX3RyYWNraW5nIElHVC4KPiAgICAgRFJSUyBzd2l0Y2ggdG8gbG93ZXIg dnJlZnJlc2ggcmF0ZSBpcyB0ZXN0ZWQgYXQgc2xvdy1kcmF3IHN1YnRlc3QuCj4gCj4gICAgIE5v dGU6Cj4gICAgIDEpIEN1cnJlbnRseSBrZXJuZWwgZG9lc24ndCBoYXZlIHN1cHBvcnQgdG8gZW5h YmxlIGFuZCBkaXNhYmxlCj4gICAgICAgIHRoZSBEUlJTIGZlYXR1cmUgZHluYW1pY2FsbHkoYXMg aW4gY2FzZSBvZiBQU1IpLiBIZW5jZSBpZiB0aGUKPiAgICAgICAgcGFuZWwgc3VwcG9ydHMgRFJS UyBpdCB3aWxsIGJlIGVuYWJsZWQgYnkgZGVmYXVsdC4KPiAKPiAgICAgVGhpcyBpcyBpbiBjb250 aW51YXRpb24gb2YgbGFzdCBwYXRjaAo+IAkiaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Au b3JnL3BhdGNoLzE2MjcyNi8iCj4gCj4gdjY6IFRoaXMgcGF0Y2ggYWRkcyBydW50aW1lIGVuYWJs ZSBhbmQgZGlzYWJsZSBmZWF0dXJlIGZvciB0ZXN0aW5nIERSUlMKPiAKPiB2NzogVGhpcyBwYXRj aCBhZGRzIHJ1bnRpbWUgZW5hYmxlIGFuZCBkaXNhYmxlIGZlYXR1cmUgZm9yIHRlc3RpbmcgRFJS Uwo+ICAgICB0aHJvdWdoIGRlYnVnZnMgZW50cnkgImk5MTVfZHJyc19jdGwiLgo+IAo+IHY4OiBD b21taXQgbWVzc2FnZSBpcyB1cGRhdGVkIHRvIHJlZmxlY3QgY3VycmVudCBpbXBsZW1lbnRhdGlv bi4KPiAKPiB2OTogQWRkcmVzc2VkIFBhdWxvIFphbm9uaSBjb21tZW50cy4KPiAgICAgQ2hlY2sg Zm9yIERSUlNfTE9XIGF0IHRlc3RzIHdpdGggT0ZGU0NSRUVOICsgRkJTX0lORElWSURVQUwuCj4g Cj4gdjEwOiBDb3JyZWN0ZWQgRFJSUyBzdGF0ZSBleHBlY3RhdGlvbiBpbiBzdXNwZW5kIHJlbGF0 ZWQgc3VidGVzdHMuCj4gCj4gdjExOiBSZW1vdmluZyB0aGUgZ2xvYmFsIGZsYWcgaXNfcHNyX2Ry cnNfY29tYm8gW1JvZHJpZ29dLgo+IAo+IHYxMjogUmV3cml0aW5nIHRoZSBEUlJTIGluYWN0aXZl IGRlZHVjdGlvbiBbUm9kcmlnb10uCj4gCj4gdjEzOiBFbi9EaXMtYWJsZSBEUlJTIG9ubHkgd2hl biBEUlJTIGlzIGNhcGFibGUgb24gdGhlIHNldHVwLgo+IAo+IFNpZ25lZC1vZmYtYnk6IExvaGl0 aCBCUyA8bG9oaXRoLmJzQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBha25hdXRpeSA8YW5r aXQuay5uYXV0aXlhbEBpbnRlbC5jb20+Cj4gLS0tCj4gIHRlc3RzL2ttc19mcm9udGJ1ZmZlcl90 cmFja2luZy5jIHwgMTcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ ICAxIGZpbGUgY2hhbmdlZCwgMTY0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jIGIvdGVzdHMva21z X2Zyb250YnVmZmVyX3RyYWNraW5nLmMKPiBpbmRleCAxNjAxY2FiLi42YjIyOTliIDEwMDY0NAo+ IC0tLSBhL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jCj4gKysrIGIvdGVzdHMva21z X2Zyb250YnVmZmVyX3RyYWNraW5nLmMKPiBAQCAtMzQsNyArMzQsNyBAQAo+ICAKPiAgCj4gIElH VF9URVNUX0RFU0NSSVBUSU9OKCJUZXN0IHRoZSBLZXJuZWwncyBmcm9udGJ1ZmZlciB0cmFja2lu ZyBtZWNoYW5pc20gYW5kICIKPiAtCQkgICAgICJpdHMgcmVsYXRlZCBmZWF0dXJlczogRkJDIGFu ZCBQU1IiKTsKPiArCQkgICAgICJpdHMgcmVsYXRlZCBmZWF0dXJlczogRkJDLCBQU1IgYW5kIERS UlMiKTsKPiAgCj4gIC8qCj4gICAqIE9uZSBvZiB0aGUgYXNwZWN0cyBvZiB0aGlzIHRlc3QgaXMg dGhhdCwgZm9yIGV2ZXJ5IHN1YnRlc3QsIHdlIHRyeSBkaWZmZXJlbnQKPiBAQCAtMTA1LDggKzEw NSw5IEBAIHN0cnVjdCB0ZXN0X21vZGUgewo+ICAJCUZFQVRVUkVfTk9ORSAgPSAwLAo+ICAJCUZF QVRVUkVfRkJDICAgPSAxLAo+ICAJCUZFQVRVUkVfUFNSICAgPSAyLAo+IC0JCUZFQVRVUkVfQ09V TlQgPSA0LAo+IC0JCUZFQVRVUkVfREVGQVVMVCA9IDQsCj4gKwkJRkVBVFVSRV9EUlJTICA9IDQs Cj4gKwkJRkVBVFVSRV9DT1VOVCA9IDgsCj4gKwkJRkVBVFVSRV9ERUZBVUxUID0gOCwKPiAgCX0g ZmVhdHVyZTsKPiAgCj4gIAkvKiBQb3NzaWJsZSBwaXhlbCBmb3JtYXRzLiBXZSBqdXN0IHVzZSBG T1JNQVRfREVGQVVMVCBmb3IgbW9zdCB0ZXN0cyBhbmQKPiBAQCAtMTgyLDYgKzE4MywxMyBAQCBz dHJ1Y3Qgewo+ICAJLmNhbl90ZXN0ID0gZmFsc2UsCj4gIH07Cj4gIAo+ICsjZGVmaW5lIE1BWF9E UlJTX1NUQVRVU19CVUZfTEVOIDI1Ngo+ICsKPiArc3RydWN0IHsKPiArCWJvb2wgY2FuX3Rlc3Q7 Cj4gK30gZHJycyA9IHsKPiArCS5jYW5fdGVzdCA9IGZhbHNlLAo+ICt9Owo+ICAKPiAgI2RlZmlu ZSBTSU5LX0NSQ19TSVpFIDEyCj4gIHR5cGVkZWYgc3RydWN0IHsKPiBAQCAtNzkwLDcgKzc5OCwx NCBAQCBzdGF0aWMgdm9pZCBfX2RlYnVnZnNfcmVhZChjb25zdCBjaGFyICpwYXJhbSwgY2hhciAq YnVmLCBpbnQgbGVuKQo+ICAJYnVmW2xlbl0gPSAnXDAnOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9p ZCBfX2RlYnVnZnNfd3JpdGUoY29uc3QgY2hhciAqcGFyYW0sIGNoYXIgKmJ1ZiwgaW50IGxlbikK PiArewo+ICsJaWd0X2Fzc2VydF9lcShpZ3Rfc3lzZnNfd3JpdGUoZHJtLmRlYnVnZnMsIHBhcmFt LCBidWYsIGxlbiAtIDEpLAo+ICsJCSAgICAgIGxlbiAtIDEpOwo+ICt9Cj4gKwo+ICAjZGVmaW5l IGRlYnVnZnNfcmVhZChwLCBhcnIpIF9fZGVidWdmc19yZWFkKHAsIGFyciwgc2l6ZW9mKGFycikp Cj4gKyNkZWZpbmUgZGVidWdmc193cml0ZShwLCBhcnIpIF9fZGVidWdmc193cml0ZShwLCBhcnIs IHNpemVvZihhcnIpKQo+ICAKPiAgc3RhdGljIGJvb2wgZmJjX2lzX2VuYWJsZWQodm9pZCkKPiAg ewo+IEBAIC04MjUsNiArODQwLDYyIEBAIHN0YXRpYyB2b2lkIHBzcl9wcmludF9zdGF0dXModm9p ZCkKPiAgCWlndF9pbmZvKCJQU1Igc3RhdHVzOlxuJXNcbiIsIGJ1Zik7Cj4gIH0KPiAgCj4gK3Zv aWQgZHJyc19zZXQodW5zaWduZWQgaW50IHZhbCkKPiArewo+ICsJY2hhciBidWZbMl07Cj4gKwo+ ICsJaWYgKCFkcnJzLmNhbl90ZXN0KQo+ICsJCXJldHVybjsKCkNhbiB5b3UgcGxlYXNlIGVsYWJv cmF0ZSBtb3JlIGFib3V0IHRoaXMgc29sdXRpb24gaGVyZT8KCkkgY291bGRuJ3QgZmluZCB0aGUg bG9ncyBhbnltb3JlLiBXaGF0IHdhcyB0aGUgaXNzdWUgdGhhdCBDSSBjYXVnaHQ/CgpXaGF0IGhh cHBlbnMgaWYgYSByZWd1bGFyIHVzZXIgb24gSFNXIHdpdGggbm8gRFJSUyBtb25pdG9yIChzYW1l IGNvbmZpZ3VyYXRpb24gYXMgQ0kpCndyaXRlIHRvIHRoaXMgZGVidWdmcyBlbmFibGluZyBEUlJT PwoKV2hhdCBJIHdvbmRlciBpcyBpZiB0aGlzIGlzIHRoZSByaWdodCBwbGFjZSBmb3IgdGhpcyBz b2x1dGlvbiBvciBvbiB0aGUKa2VybmVsIHNpZGUuCgpBbHNvIGlmIGl0IGlzIGEgdGVzdGNhc2Ug SSB3b25kZXIgaWYgaXQgc2hvdWxkbid0IGhhdmUgYSBza2lwIGhhbmRsaW5nCnNvbWV3aGVyZSBp bnN0ZWFkIG9mIGEgYmxpbmQgcmV0dXJuLi4uLgoKVGhhbmtzLApSb2RyaWdvLgoKPiArCj4gKwlp Z3RfZGVidWcoIk1hbnVhbGx5ICVzYWJsaW5nIERSUlMuICVsbHVcbiIsIHZhbCA/ICJlbiIgOiAi ZGlzIiwgdmFsKTsKPiArCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZCIsIHZhbCk7Cj4g KwlkZWJ1Z2ZzX3dyaXRlKCJpOTE1X2RycnNfY3RsIiwgYnVmKTsKPiArfQo+ICsKPiArc3RhdGlj IGJvb2wgaXNfZHJyc19oaWdoKHZvaWQpCj4gK3sKPiArCWNoYXIgYnVmW01BWF9EUlJTX1NUQVRV U19CVUZfTEVOXTsKPiArCj4gKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0dXMiLCBidWYp Owo+ICsJcmV0dXJuIHN0cnN0cihidWYsICJEUlJTX0hJR0hfUlIiKTsKPiArfQo+ICsKPiArc3Rh dGljIGJvb2wgaXNfZHJyc19sb3codm9pZCkKPiArewo+ICsJY2hhciBidWZbTUFYX0RSUlNfU1RB VFVTX0JVRl9MRU5dOwo+ICsKPiArCWRlYnVnZnNfcmVhZCgiaTkxNV9kcnJzX3N0YXR1cyIsIGJ1 Zik7Cj4gKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRSUlNfTE9XX1JSIik7Cj4gK30KPiArCj4gK3N0 YXRpYyBib29sIGlzX2RycnNfc3VwcG9ydGVkKHZvaWQpCj4gK3sKPiArCWNoYXIgYnVmW01BWF9E UlJTX1NUQVRVU19CVUZfTEVOXTsKPiArCj4gKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJyc19zdGF0 dXMiLCBidWYpOwo+ICsJcmV0dXJuIHN0cnN0cihidWYsICJEUlJTIFN1cHBvcnRlZDogWWVzIik7 Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIGlzX2RycnNfaW5hY3RpdmUodm9pZCkKPiArewo+ICsJ Y2hhciBidWZbTUFYX0RSUlNfU1RBVFVTX0JVRl9MRU5dOwo+ICsKPiArCWRlYnVnZnNfcmVhZCgi aTkxNV9kcnJzX3N0YXR1cyIsIGJ1Zik7Cj4gKwo+ICsJaWYgKHN0cnN0cihidWYsICJEUlJTX1N0 YXRlOiAiKSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJcmV0dXJuIHRydWU7Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIGRycnNfcHJpbnRfc3RhdHVzKHZvaWQpCj4gK3sKPiArCWNoYXIgYnVm W01BWF9EUlJTX1NUQVRVU19CVUZfTEVOXTsKPiArCj4gKwlkZWJ1Z2ZzX3JlYWQoImk5MTVfZHJy c19zdGF0dXMiLCBidWYpOwo+ICsJaWd0X2luZm8oIkRSUlMgU1RBVFVTIDpcbiVzXG4iLCBidWYp Owo+ICt9Cj4gKwo+ICBzdGF0aWMgc3RydWN0IHRpbWVzcGVjIGZiY19nZXRfbGFzdF9hY3Rpb24o dm9pZCkKPiAgewo+ICAJc3RydWN0IHRpbWVzcGVjIHJldCA9IHsgMCwgMCB9Owo+IEBAIC05MzUs MTAgKzEwMDYsMTcgQEAgc3RhdGljIGJvb2wgcHNyX3dhaXRfdW50aWxfZW5hYmxlZCh2b2lkKQo+ ICAJcmV0dXJuIGlndF93YWl0KHBzcl9pc19lbmFibGVkKCksIDUwMDAsIDEpOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgYm9vbCBkcnJzX3dhaXRfdW50aWxfcnJfc3dpdGNoX3RvX2xvdyh2b2lkKQo+ICt7 Cj4gKwlyZXR1cm4gaWd0X3dhaXQoaXNfZHJyc19sb3coKSwgNTAwMCwgMSk7Cj4gK30KPiArCj4g ICNkZWZpbmUgZmJjX2VuYWJsZSgpIGlndF9zZXRfbW9kdWxlX3BhcmFtX2ludCgiZW5hYmxlX2Zi YyIsIDEpCj4gICNkZWZpbmUgZmJjX2Rpc2FibGUoKSBpZ3Rfc2V0X21vZHVsZV9wYXJhbV9pbnQo ImVuYWJsZV9mYmMiLCAwKQo+ICAjZGVmaW5lIHBzcl9lbmFibGUoKSBpZ3Rfc2V0X21vZHVsZV9w YXJhbV9pbnQoImVuYWJsZV9wc3IiLCAxKQo+ICAjZGVmaW5lIHBzcl9kaXNhYmxlKCkgaWd0X3Nl dF9tb2R1bGVfcGFyYW1faW50KCJlbmFibGVfcHNyIiwgMCkKPiArI2RlZmluZSBkcnJzX2VuYWJs ZSgpCWRycnNfc2V0KDEpCj4gKyNkZWZpbmUgZHJyc19kaXNhYmxlKCkJZHJyc19zZXQoMCkKPiAg Cj4gIHN0YXRpYyB2b2lkIGdldF9zaW5rX2NyYyhzaW5rX2NyY190ICpjcmMsIGJvb2wgbWFuZGF0 b3J5KQo+ICB7Cj4gQEAgLTExODQsNiArMTI2Miw3IEBAIHN0YXRpYyB2b2lkIGRpc2FibGVfZmVh dHVyZXMoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKPiAgCj4gIAlmYmNfZGlzYWJsZSgpOwo+ ICAJcHNyX2Rpc2FibGUoKTsKPiArCWRycnNfZGlzYWJsZSgpOwo+ICB9Cj4gIAo+ICBzdGF0aWMg dm9pZCAqYnVzeV90aHJlYWRfZnVuYyh2b2lkICpkYXRhKQo+IEBAIC0xNTc3LDYgKzE2NTYsMjIg QEAgc3RhdGljIHZvaWQgdGVhcmRvd25fcHNyKHZvaWQpCj4gIHsKPiAgfQo+ICAKPiArc3RhdGlj IHZvaWQgc2V0dXBfZHJycyh2b2lkKQo+ICt7Cj4gKwlpZiAoZ2V0X2Nvbm5lY3RvcihwcmltX21v ZGVfcGFyYW1zLmNvbm5lY3Rvcl9pZCktPmNvbm5lY3Rvcl90eXBlICE9Cj4gKwkgICAgRFJNX01P REVfQ09OTkVDVE9SX2VEUCkgewo+ICsJCWlndF9pbmZvKCJDYW4ndCB0ZXN0IERSUlM6IG5vIHVz YWJsZSBlRFAgc2NyZWVuLlxuIik7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsKPiArCWlmICghaXNf ZHJyc19zdXBwb3J0ZWQoKSkgewo+ICsJCWlndF9pbmZvKCJDYW4ndCB0ZXN0IERSUlM6IE5vdCBz dXBwb3J0ZWQuXG4iKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJZHJycy5jYW5fdGVzdCA9 IHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIHNldHVwX2Vudmlyb25tZW50KHZvaWQpCj4g IHsKPiAgCXNldHVwX2RybSgpOwo+IEBAIC0xNTg0LDYgKzE2NzksNyBAQCBzdGF0aWMgdm9pZCBz ZXR1cF9lbnZpcm9ubWVudCh2b2lkKQo+ICAKPiAgCXNldHVwX2ZiYygpOwo+ICAJc2V0dXBfcHNy KCk7Cj4gKwlzZXR1cF9kcnJzKCk7Cj4gIAo+ICAJc2V0dXBfY3JjcygpOwo+ICB9Cj4gQEAgLTE2 NjIsNiArMTc1OCwxMSBAQCBzdGF0aWMgdm9pZCBkb19mbHVzaChjb25zdCBzdHJ1Y3QgdGVzdF9t b2RlICp0KQo+ICAjZGVmaW5lIEFTU0VSVF9QU1JfRU5BQkxFRAkJKDEgPDwgNikKPiAgI2RlZmlu ZSBBU1NFUlRfUFNSX0RJU0FCTEVECQkoMSA8PCA3KQo+ICAKPiArI2RlZmluZSBEUlJTX0FTU0VS VF9GTEFHUwkJKDcgPDwgOCkKPiArI2RlZmluZSBBU1NFUlRfRFJSU19ISUdICQkoMSA8PCA4KQo+ ICsjZGVmaW5lIEFTU0VSVF9EUlJTX0xPVwkJKDEgPDwgOSkKPiArI2RlZmluZSBBU1NFUlRfRFJS U19JTkFDVElWRQkJKDEgPDwgMTApCj4gKwo+ICBzdGF0aWMgaW50IGFkanVzdF9hc3NlcnRpb25f ZmxhZ3MoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCwgaW50IGZsYWdzKQo+ICB7Cj4gIAlpZiAo IShmbGFncyAmIERPTlRfQVNTRVJUX0ZFQVRVUkVfU1RBVFVTKSkgewo+IEBAIC0xNjY5LDEyICsx NzcwLDE3IEBAIHN0YXRpYyBpbnQgYWRqdXN0X2Fzc2VydGlvbl9mbGFncyhjb25zdCBzdHJ1Y3Qg dGVzdF9tb2RlICp0LCBpbnQgZmxhZ3MpCj4gIAkJCWZsYWdzIHw9IEFTU0VSVF9GQkNfRU5BQkxF RDsKPiAgCQlpZiAoIShmbGFncyAmIEFTU0VSVF9QU1JfRElTQUJMRUQpKQo+ICAJCQlmbGFncyB8 PSBBU1NFUlRfUFNSX0VOQUJMRUQ7Cj4gKwkJaWYgKCEoKGZsYWdzICYgQVNTRVJUX0RSUlNfTE9X KSB8fAo+ICsJCSAgICAoZmxhZ3MgJiBBU1NFUlRfRFJSU19JTkFDVElWRSkpKQo+ICsJCQlmbGFn cyB8PSBBU1NFUlRfRFJSU19ISUdIOwo+ICAJfQo+ICAKPiAgCWlmICgodC0+ZmVhdHVyZSAmIEZF QVRVUkVfRkJDKSA9PSAwKQo+ICAJCWZsYWdzICY9IH5GQkNfQVNTRVJUX0ZMQUdTOwo+ICAJaWYg KCh0LT5mZWF0dXJlICYgRkVBVFVSRV9QU1IpID09IDApCj4gIAkJZmxhZ3MgJj0gflBTUl9BU1NF UlRfRkxBR1M7Cj4gKwlpZiAoKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpID09IDApCj4gKwkJ ZmxhZ3MgJj0gfkRSUlNfQVNTRVJUX0ZMQUdTOwo+ICAKPiAgCXJldHVybiBmbGFnczsKPiAgfQo+ IEBAIC0xNzA2LDYgKzE4MTIsMjMgQEAgc3RhdGljIHZvaWQgZG9fc3RhdHVzX2Fzc2VydGlvbnMo aW50IGZsYWdzKQo+ICAJCXJldHVybjsKPiAgCX0KPiAgCj4gKwlpZiAoZmxhZ3MgJiBBU1NFUlRf RFJSU19ISUdIKSB7Cj4gKwkJaWYgKCFpc19kcnJzX2hpZ2goKSkgewo+ICsJCQlkcnJzX3ByaW50 X3N0YXR1cygpOwo+ICsJCQlpZ3RfYXNzZXJ0X2YoZmFsc2UsICJEUlJTIEhJR0hcbiIpOwo+ICsJ CX0KPiArCX0gZWxzZSBpZiAoZmxhZ3MgJiBBU1NFUlRfRFJSU19MT1cpIHsKPiArCQlpZiAoIWRy cnNfd2FpdF91bnRpbF9ycl9zd2l0Y2hfdG9fbG93KCkpIHsKPiArCQkJZHJyc19wcmludF9zdGF0 dXMoKTsKPiArCQkJaWd0X2Fzc2VydF9mKGZhbHNlLCAiRFJSUyBMT1dcbiIpOwo+ICsJCX0KPiAr CX0gZWxzZSBpZiAoZmxhZ3MgJiBBU1NFUlRfRFJSU19JTkFDVElWRSkgewo+ICsJCWlmICghaXNf ZHJyc19pbmFjdGl2ZSgpKSB7Cj4gKwkJCWRycnNfcHJpbnRfc3RhdHVzKCk7Cj4gKwkJCWlndF9h c3NlcnRfZihmYWxzZSwgIkRSUlMgSU5BQ1RJVkVcbiIpOwo+ICsJCX0KPiArCX0KPiArCj4gIAlp ZiAoZmxhZ3MgJiBBU1NFUlRfRkJDX0VOQUJMRUQpIHsKPiAgCQlpZ3RfcmVxdWlyZSghZmJjX25v dF9lbm91Z2hfc3RvbGVuKCkpOwo+ICAJCWlndF9yZXF1aXJlKCFmYmNfc3RyaWRlX25vdF9zdXBw b3J0ZWQoKSk7Cj4gQEAgLTE4MzMsNiArMTk1Niw4IEBAIHN0YXRpYyB2b2lkIGVuYWJsZV9mZWF0 dXJlc19mb3JfdGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQo+ICAJCWZiY19lbmFibGUo KTsKPiAgCWlmICh0LT5mZWF0dXJlICYgRkVBVFVSRV9QU1IpCj4gIAkJcHNyX2VuYWJsZSgpOwo+ ICsJaWYgKHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpCj4gKwkJZHJyc19lbmFibGUoKTsKPiAg fQo+ICAKPiAgc3RhdGljIHZvaWQgY2hlY2tfdGVzdF9yZXF1aXJlbWVudHMoY29uc3Qgc3RydWN0 IHRlc3RfbW9kZSAqdCkKPiBAQCAtMTg1Miw2ICsxOTc3LDE4IEBAIHN0YXRpYyB2b2lkIGNoZWNr X3Rlc3RfcmVxdWlyZW1lbnRzKGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCj4gIAkJCSAgICAg ICJDYW4ndCB0ZXN0IFBTUiB3aXRob3V0IHNpbmsgQ1JDc1xuIik7Cj4gIAl9Cj4gIAo+ICsJaWYg KHQtPmZlYXR1cmUgJiBGRUFUVVJFX0RSUlMpCj4gKwkJaWd0X3JlcXVpcmVfZihkcnJzLmNhbl90 ZXN0LAo+ICsJCQkgICAgICAiQ2FuJ3QgdGVzdCBEUlJTIHdpdGggdGhlIGN1cnJlbnQgb3V0cHV0 c1xuIik7Cj4gKwo+ICsJLyoKPiArCSAqIEluIGtlcm5lbCwgV2hlbiBQU1IgaXMgZW5hYmxlZCwg RFJSUyB3aWxsIGJlIGRpc2FibGVkLiBTbyBJZiBhIHRlc3QKPiArCSAqIGNhc2UgbmVlZHMgRFJS UyArIFBTUiBlbmFibGVkLCB0aGF0IHdpbGwgYmUgc2tpcHBlZC4KPiArCSAqLwo+ICsJaWd0X3Jl cXVpcmVfZighKCh0LT5mZWF0dXJlICYgRkVBVFVSRV9QU1IpICYmCj4gKwkJICAgICAgKHQtPmZl YXR1cmUgJiBGRUFUVVJFX0RSUlMpKSwKPiArCQkgICAgICAiQ2FuJ3QgdGVzdCBQU1IgYW5kIERS UlMgdG9nZXRoZXJcbiIpOwo+ICsKPiAgCWlmIChvcHQub25seV9waXBlcyAhPSBQSVBFX0NPVU5U KQo+ICAJCWlndF9yZXF1aXJlKHQtPnBpcGVzID09IG9wdC5vbmx5X3BpcGVzKTsKPiAgfQo+IEBA IC0xOTczLDcgKzIxMTAsNyBAQCBzdGF0aWMgdm9pZCBydGVfc3VidGVzdChjb25zdCBzdHJ1Y3Qg dGVzdF9tb2RlICp0KQo+ICAKPiAgCXVuc2V0X2FsbF9jcnRjcygpOwo+ICAJZG9fYXNzZXJ0aW9u cyhBU1NFUlRfRkJDX0RJU0FCTEVEIHwgQVNTRVJUX1BTUl9ESVNBQkxFRCB8Cj4gLQkJICAgICAg RE9OVF9BU1NFUlRfQ1JDKTsKPiArCQkgICAgICBET05UX0FTU0VSVF9DUkMgfCBBU1NFUlRfRFJS U19JTkFDVElWRSk7Cj4gIAo+ICAJZW5hYmxlX3ByaW1fc2NyZWVuX2FuZF93YWl0KHQpOwo+ICAJ c2V0X2N1cnNvcl9mb3JfdGVzdCh0LCAmcHJpbV9tb2RlX3BhcmFtcyk7Cj4gQEAgLTIwNjUsNiAr MjIwMiwxMyBAQCBzdGF0aWMgdm9pZCBkcmF3X3N1YnRlc3QoY29uc3Qgc3RydWN0IHRlc3RfbW9k ZSAqdCkKPiAgCWlmIChvcF9kaXNhYmxlc19wc3IodCwgdC0+bWV0aG9kKSkKPiAgCQlhc3NlcnRp b25zIHw9IEFTU0VSVF9QU1JfRElTQUJMRUQ7Cj4gIAo+ICsJLyoKPiArCSAqIE9uIEZCU19JTkRJ VklEVUFMLCB3cml0ZSB0byBvZmZzY3JlZW4gcGxhbmUgd2lsbCBub3QgdG91Y2ggdGhlCj4gKwkg KiBjdXJyZW50IGZyYW1idWZmZXIuIEhlbmNlIGFzc2VydCBmb3IgRFJSU19MT1cuCj4gKwkgKi8K PiArCWlmICgodC0+ZmJzID09IEZCU19JTkRJVklEVUFMKSAmJiAodC0+c2NyZWVuID09IFNDUkVF Tl9PRkZTQ1JFRU4pKQo+ICsJCWFzc2VydGlvbnMgfD0gQVNTRVJUX0RSUlNfTE9XOwo+ICsKPiAg CXByZXBhcmVfc3VidGVzdCh0LCBwYXR0ZXJuKTsKPiAgCXRhcmdldCA9IHBpY2tfdGFyZ2V0KHQs IHBhcmFtcyk7Cj4gIAo+IEBAIC0yMjczLDcgKzI0MTcsMTEgQEAgc3RhdGljIHZvaWQgc2xvd19k cmF3X3N1YnRlc3QoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCkKPiAgCQlzbGVlcCgyKTsKPiAg Cj4gIAkJdXBkYXRlX3dhbnRlZF9jcmModCwgJnBhdHRlcm4tPmNyY3NbdC0+Zm9ybWF0XVtyXSk7 Cj4gLQkJZG9fYXNzZXJ0aW9ucygwKTsKPiArCj4gKwkJaWYgKHQtPmZlYXR1cmUgJiBGRUFUVVJF X0RSUlMpCj4gKwkJCWRvX2Fzc2VydGlvbnMoQVNTRVJUX0RSUlNfTE9XKTsKPiArCQllbHNlCj4g KwkJCWRvX2Fzc2VydGlvbnMoMCk7Cj4gIAl9Cj4gIH0KPiAgCj4gQEAgLTI4ODIsMTQgKzMwMzAs MTQgQEAgc3RhdGljIHZvaWQgc3VzcGVuZF9zdWJ0ZXN0KGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUg KnQpCj4gIAlzbGVlcCg1KTsKPiAgCWlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKFNVU1BF TkRfU1RBVEVfTUVNLCBTVVNQRU5EX1RFU1RfTk9ORSk7Cj4gIAlzbGVlcCg1KTsKPiAtCWRvX2Fz c2VydGlvbnMoMCk7Cj4gKwlkb19hc3NlcnRpb25zKEFTU0VSVF9EUlJTX0xPVyk7Cj4gIAo+ICAJ dW5zZXRfYWxsX2NydGNzKCk7Cj4gIAlzbGVlcCg1KTsKPiAgCWlndF9zeXN0ZW1fc3VzcGVuZF9h dXRvcmVzdW1lKFNVU1BFTkRfU1RBVEVfTUVNLCBTVVNQRU5EX1RFU1RfTk9ORSk7Cj4gIAlzbGVl cCg1KTsKPiAgCWRvX2Fzc2VydGlvbnMoQVNTRVJUX0ZCQ19ESVNBQkxFRCB8IEFTU0VSVF9QU1Jf RElTQUJMRUQgfAo+IC0JCSAgICAgIERPTlRfQVNTRVJUX0NSQyk7Cj4gKwkJICAgICAgRE9OVF9B U1NFUlRfQ1JDIHwgQVNTRVJUX0RSUlNfSU5BQ1RJVkUpOwo+ICAKPiAgCXNldF9tb2RlX2Zvcl9w YXJhbXMocGFyYW1zKTsKPiAgCWRvX2Fzc2VydGlvbnMoMCk7Cj4gQEAgLTMzNzEsNiArMzUxOSwx NCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZmVhdHVyZV9zdHIoaW50IGZlYXR1cmUpCj4gIAkJcmV0 dXJuICJwc3IiOwo+ICAJY2FzZSBGRUFUVVJFX0ZCQyB8IEZFQVRVUkVfUFNSOgo+ICAJCXJldHVy biAiZmJjcHNyIjsKPiArCWNhc2UgRkVBVFVSRV9EUlJTOgo+ICsJCXJldHVybiAiZHJycyI7Cj4g KwljYXNlIEZFQVRVUkVfRkJDIHwgRkVBVFVSRV9EUlJTOgo+ICsJCXJldHVybiAiZmJjZHJycyI7 Cj4gKwljYXNlIEZFQVRVUkVfUFNSIHwgRkVBVFVSRV9EUlJTOgo+ICsJCXJldHVybiAicHNyZHJy cyI7Cj4gKwljYXNlIEZFQVRVUkVfRkJDIHwgRkVBVFVSRV9QU1IgfCBGRUFUVVJFX0RSUlM6Cj4g KwkJcmV0dXJuICJmYmNwc3JkcnJzIjsKPiAgCWRlZmF1bHQ6Cj4gIAkJaWd0X2Fzc2VydChmYWxz ZSk7Cj4gIAl9Cj4gQEAgLTM2MzUsNyArMzc5MSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCj4gIAkJCQl0aWxpbmdjaGFuZ2Vfc3VidGVzdCgmdCk7Cj4gIAkJfQo+ICAKPiAt CQlpZiAodC5mZWF0dXJlICYgRkVBVFVSRV9QU1IpCj4gKwkJaWYgKCh0LmZlYXR1cmUgJiBGRUFU VVJFX1BTUikgfHwgKHQuZmVhdHVyZSAmIEZFQVRVUkVfRFJSUykpCj4gIAkJCWlndF9zdWJ0ZXN0 X2YoIiVzLXNsb3dkcmF3IiwgZmVhdHVyZV9zdHIodC5mZWF0dXJlKSkKPiAgCQkJCXNsb3dfZHJh d19zdWJ0ZXN0KCZ0KTsKPiAgCj4gLS0gCj4gMS45LjEKPiAKPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==