From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id B6ECA89306 for ; Tue, 16 Apr 2019 15:58:30 +0000 (UTC) Date: Tue, 16 Apr 2019 18:57:55 +0300 From: Imre Deak Message-ID: <20190416155755.GF6969@ideak-desk.fi.intel.com> References: <1555424681-10036-1-git-send-email-anshuman.gupta@intel.com> <1555424681-10036-3-git-send-email-anshuman.gupta@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1555424681-10036-3-git-send-email-anshuman.gupta@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v10 2/5] tests/i915/i915_pm_dc: Added new test to verify Display C States List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: imre.deak@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Anshuman Gupta Cc: igt-dev@lists.freedesktop.org, jyoti.r.yadav@intel.com List-ID: T24gVHVlLCBBcHIgMTYsIDIwMTkgYXQgMDc6NTQ6MzhQTSArMDUzMCwgQW5zaHVtYW4gR3VwdGEg d3JvdGU6Cj4gRnJvbTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgo+IAo+ IEN1cnJlbnRseSB0aGlzIHRlc3QgdmFsaWRhdGVzIERDNSB1cG9uIFBTUiBlbnRyeSBmb3Igc3Vw cG9ydGVkIHBsYXRmb3Jtcy4KPiBBZGRlZCBuZXcgZmlsZSBmb3IgY29tcGlsYXRpb24gaW5zaWRl IE1ha2VmaWxlIGFuZCBNZXNvbi4KPiAKPiB2MjogVXNlZCB0aGUgZGVidWdmcyBlbnRyeSBmb3Ig REMgY291bnRlcnMgaW5zdGVhZCBvZiBSZWdpc3RlcnMuCj4gICAgIFVzZWQgc2hvcnRlciBuYW1l cyBmb3IgdmFyaWFibGVzLgo+ICAgICBJbnRyb2R1Y2VkIHRpbWVvdXQgdG8gcmVhZCBEQyBjb3Vu dGVycy4KPiB2Mzogb25lIHNlY29uZCB0aW1lb3V0IGlzIGludHJvZHVjZWQgdG8gcmVhZCBEQyBj b3VudGVycy4KPiAgICAgU2tpcCB0aGUgc3VidGVzdCBpZiBjb3VudGVycyBhcmUgbm90IGF2YWls YWJsZSBmb3IgdGhhdCBwbGF0Zm9ybS4KPiB2NDogUmViYXNlZCwgdG8gZml4IGNvbXBpbGF0aW9u IGVycm9yIGluIHBzcl9lbmFibGUoKSwgcHNyX3dhaXRfZW50cnkoKQo+ICAgICBhbmQgcmVwbGFj ZWQgaWd0X2Rpc3BsYXlfaW5pdCgpIGJ5IGlndF9kaXNwbGF5X3JlcXVpcmUoKSBpbiBwbV9ycG0u Yy4KPiAgICAgQWRkcmVzc2VkIHRoZSByZXZpZXcgY29tbWVudCBieSByZW1vdmluZyB1bnVzZWQg ZnVuY3Rpb24gZGlzcGxheV9pbml0LAo+ICAgICByZW1vdmluZyByZWR1bmRhbnQgaWd0IGNvbW1p dCBzdWdnZXN0ZWQgYnkgSW1yZS4KPiAgICAgRml4ZWQgdHlwbyBpbiByZWFkX2RjX2NvdW50ZXIo KS4KPiB2NTogQWRkcmVzc2VkIHRoZSByZXZpZXcgY29tbWVudCBieSByZW1vdmluZyByZWR1bmRh bnQgcmVhZF9kY19jb3VudGVyKCksCj4gICAgIGNsdWJiZWQgY2xlYW51cCgpIGZ1bmN0aW9uIGlu IHRlc3RfZGNfc3RhdGVfcHNyKCkgc3VnZ2VzdGVkIGJ5IEltcmUuCj4gICAgIFJlYXJyYW5nZWQg IHByZXByb2Nlc3NvciBkaXJlY3RpdmVzIGF0IG9uZSBwbGFjZS4KPiAgICAgRml4ZWQgY29tcGls YXRpb24gd2FybmluZyBieSBhZGRpbmcgZnVuY3Rpb24gcHJvdG90eXBlIGZvcgo+ICAgICBkY19z dGF0ZV93YWl0X2VudHJ5KCkgYW5kIGNoZWNrX2RjX2NvdW50ZXIoKS4KPiAgICAgTGlzdGluZyBh Y3R1YWwgY2hhbmdlIGluIHBhdGNoIHNldCBjaGFuZ2Vsb2cgdG8gbWFrZSByZXZpZXcgZWFzaWVy Lgo+IHY2OiBGaXhlZCAiaTkxNV9lZHBfcHNyX3N0YXR1cyIgc3RyaW5nIHRvICJTaW5rIHN1cHBv cnQ6IHllcyIuCj4gdjc6IFJlYmFzZWQgc2luY2UgdGVzdCBuYW1lIGNoYW5nZWQgZnJvbSAicG1f ZGMiIHRvICJpOTE1X3BtX2RjIiwKPiAgICAgdGhpcyB3aWxsIGFsaWduIHdpdGggb3RoZXIgUE0g dGVzdHMuCj4gICAgIGFsc28gY2hhbmdlZCB0aGUgREM1LzYgY291bnRlciBjaGVjayB0aW1lb3V0 IHRvIDMgc2Vjb25kLgo+IHY4OiBPbiBmZXcgcGxhdGZvcm0gU0FUQSBpL3AgaXMgYmxvY2tpbmcg ZGVlcGVyIHBhY2thZ2UgQyBzdGF0ZXMuCj4gICAgIHVzZWQgaWd0X3BtX2VuYWJsZV9zYXRhX2xp bmtfcG93ZXJfbWFuYWdlbWVudCgpIGZ1bmN0aW9uIGluIG9yZGVyCj4gICAgIHRvIHVzZSBtaW5f cG93ZXIgcG9saWN5Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEp5b3RpIFlhZGF2IDxqeW90aS5yLnlh ZGF2QGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBBbnNodW1hbiBHdXB0YSA8YW5zaHVtYW4u Z3VwdGFAaW50ZWwuY29tPgo+IC0tLQo+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICB8ICAgMyAr Cj4gIHRlc3RzL2k5MTUvaTkxNV9wbV9kYy5jIHwgMjEzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ICB0ZXN0cy9tZXNvbi5idWlsZCAgICAgICB8ICAg MSArCj4gIDMgZmlsZXMgY2hhbmdlZCwgMjE3IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUg MTAwNjQ0IHRlc3RzL2k5MTUvaTkxNV9wbV9kYy5jCj4gCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL01h a2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gaW5kZXggMjE0Njk4ZC4u MjFmZWI3MyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gKysrIGIvdGVz dHMvTWFrZWZpbGUuc291cmNlcwo+IEBAIC00ODksNiArNDg5LDkgQEAgaTkxNV9wbV9yYzZfcmVz aWRlbmN5X1NPVVJDRVMgPSBpOTE1L2k5MTVfcG1fcmM2X3Jlc2lkZW5jeS5jCj4gIFRFU1RTX3By b2dzICs9IGk5MTVfcG1fcnBtCj4gIGk5MTVfcG1fcnBtX1NPVVJDRVMgPSBpOTE1L2k5MTVfcG1f cnBtLmMKPiAgCj4gK1RFU1RTX3Byb2dzICs9IGk5MTVfcG1fZGMKPiAraTkxNV9wbV9kY19TT1VS Q0VTID0gaTkxNS9pOTE1X3BtX2RjLmMKPiArCj4gIFRFU1RTX3Byb2dzICs9IGk5MTVfcG1fcnBz Cj4gIGk5MTVfcG1fcnBzX1NPVVJDRVMgPSBpOTE1L2k5MTVfcG1fcnBzLmMKPiAgCj4gZGlmZiAt LWdpdCBhL3Rlc3RzL2k5MTUvaTkxNV9wbV9kYy5jIGIvdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmI4NmYyZmMKPiAtLS0gL2Rl di9udWxsCj4gKysrIGIvdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMKPiBAQCAtMCwwICsxLDIxMyBA QAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55 IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFs IGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs aW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw dWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMg b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICog U29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo aXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgp IHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg b2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsg KiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G IE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JT IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9S IE9USEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05O RUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiAr ICogSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJpZ3QuaCIK PiArI2luY2x1ZGUgImlndF9zeXNmcy5oIgo+ICsjaW5jbHVkZSAiaWd0X3Bzci5oIgo+ICsjaW5j bHVkZSA8ZXJybm8uaD4KPiArI2luY2x1ZGUgPHN0ZGJvb2wuaD4KPiArI2luY2x1ZGUgPHN0ZGlv Lmg+Cj4gKyNpbmNsdWRlIDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgImludGVsX2J1Zm1nci5oIgo+ ICsjaW5jbHVkZSAiaW50ZWxfaW8uaCIKPiArI2luY2x1ZGUgImxpbWl0cy5oIgo+ICsKPiArLyog REMgU3RhdGUgRmxhZ3MgKi8KPiArI2RlZmluZSBDSEVDS19EQzUJMQo+ICsjZGVmaW5lIENIRUNL X0RDNgkyCj4gKwo+ICt0eXBlZGVmIHN0cnVjdCB7Cj4gKwlpbnQgZHJtX2ZkOwo+ICsJaW50IGRl YnVnZnNfZmQ7Cj4gKwl1aW50MzJfdCBkZXZpZDsKPiArCWlndF9kaXNwbGF5X3QgZGlzcGxheTsK PiArCXN0cnVjdCBpZ3RfZmIgZmJfd2hpdGU7Cj4gKwllbnVtIHBzcl9tb2RlIG9wX3Bzcl9tb2Rl Owo+ICsJZHJtTW9kZU1vZGVJbmZvICptb2RlOwo+ICsJaWd0X291dHB1dF90ICpvdXRwdXQ7Cj4g K30gZGF0YV90Owo+ICsKPiArYm9vbCBkY19zdGF0ZV93YWl0X2VudHJ5KGludCBkcm1fZmQsIGlu dCBkY19mbGFnLCBpbnQgcHJldl9kY19jb3VudCk7Cj4gK3ZvaWQgY2hlY2tfZGNfY291bnRlcihp bnQgZHJtX2ZkLCBpbnQgZGNfZmxhZywgdWludDMyX3QgcHJldl9kY19jb3VudCk7Cj4gKwo+ICtz dGF0aWMgdm9pZCBzZXR1cF9vdXRwdXQoZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwlpZ3RfZGlzcGxh eV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7Cj4gKwlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsK PiArCWVudW0gcGlwZSBwaXBlOwo+ICsKPiArCWZvcl9lYWNoX3BpcGVfd2l0aF92YWxpZF9vdXRw dXQoZGlzcGxheSwgcGlwZSwgb3V0cHV0KSB7Cj4gKwkJZHJtTW9kZUNvbm5lY3RvclB0ciBjID0g b3V0cHV0LT5jb25maWcuY29ubmVjdG9yOwo+ICsKPiArCQlpZiAoYy0+Y29ubmVjdG9yX3R5cGUg IT0gRFJNX01PREVfQ09OTkVDVE9SX2VEUCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlndF9v dXRwdXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKPiArCQlkYXRhLT5vdXRwdXQgPSBvdXRwdXQ7 Cj4gKwkJZGF0YS0+bW9kZSA9IGlndF9vdXRwdXRfZ2V0X21vZGUob3V0cHV0KTsKPiArCj4gKwkJ cmV0dXJuOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBkaXNwbGF5X2ZpbmkoZGF0YV90 ICpkYXRhKQo+ICt7Cj4gKwlpZ3RfZGlzcGxheV9maW5pKCZkYXRhLT5kaXNwbGF5KTsKPiArfQo+ ICsKPiArc3RhdGljIGJvb2wgZWRwX3Bzcl9zaW5rX3N1cHBvcnQoZGF0YV90ICpkYXRhKQo+ICt7 Cj4gKwljaGFyIGJ1Zls1MTJdOwo+ICsKPiArCWlndF9kZWJ1Z2ZzX3NpbXBsZV9yZWFkKGRhdGEt PmRlYnVnZnNfZmQsICJpOTE1X2VkcF9wc3Jfc3RhdHVzIiwKPiArCQkJCWJ1Ziwgc2l6ZW9mKGJ1 ZikpOwo+ICsKPiArCXJldHVybiBzdHJzdHIoYnVmLCAiU2luayBzdXBwb3J0OiB5ZXMiKTsKPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgY2xlYW51cChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWlndF9w bGFuZV90ICpwcmltYXJ5Owo+ICsKPiArCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90 eXBlKGRhdGEtPm91dHB1dCwKPiArCQkJCQkgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4g KwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5VTEwpOwo+ICsJaWd0X2Rpc3BsYXlfY29tbWl0 KCZkYXRhLT5kaXNwbGF5KTsKPiArCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ ZmJfd2hpdGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzZXR1cF9wcmltYXJ5KGRhdGFfdCAq ZGF0YSkKPiArewo+ICsJaWd0X3BsYW5lX3QgKnByaW1hcnk7Cj4gKwo+ICsJcHJpbWFyeSA9IGln dF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAo+ICsJCQkJCSAgICBEUk1fUExB TkVfVFlQRV9QUklNQVJZKTsKPiArCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7Cj4g KwlpZ3RfY3JlYXRlX2NvbG9yX2ZiKGRhdGEtPmRybV9mZCwKPiArCQkJICAgIGRhdGEtPm1vZGUt PmhkaXNwbGF5LCBkYXRhLT5tb2RlLT52ZGlzcGxheSwKPiArCQkJICAgIERSTV9GT1JNQVRfWFJH Qjg4ODgsCj4gKwkJCSAgICBMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKPiArCQkJICAg IDEuMCwgMS4wLCAxLjAsCj4gKwkJCSAgICAmZGF0YS0+ZmJfd2hpdGUpOwo+ICsJaWd0X3BsYW5l X3NldF9mYihwcmltYXJ5LCAmZGF0YS0+ZmJfd2hpdGUpOwo+ICsJaWd0X2Rpc3BsYXlfY29tbWl0 KCZkYXRhLT5kaXNwbGF5KTsKPiArfQo+ICsKPiArc3RhdGljIHVpbnQzMl90IGdldF9kY19jb3Vu dGVyKGNoYXIgKmRjX2RhdGEpCj4gK3sKPiArCWNoYXIgKmU7Cj4gKwlsb25nIHJldDsKPiArCWNo YXIgKnMgPSBzdHJjaHIoZGNfZGF0YSwgJzonKTsKPiArCj4gKwlhc3NlcnQocyk7Cj4gKwlzKys7 Cj4gKwlyZXQgPSBzdHJ0b2wocywgJmUsIDEwKTsKPiArCWFzc2VydCgoKHJldCAhPSBMT05HX01J TiAmJiByZXQgIT0gTE9OR19NQVgpIHx8IGVycm5vICE9IEVSQU5HRSkgJiYKPiArCSAgICAgICBl ID4gcyAmJiAqZSA9PSAnXG4nICYmIHJldCA+PSAwKTsKPiArCXJldHVybiByZXQ7Cj4gK30KPiAr Cj4gK3N0YXRpYyB1aW50MzJfdCByZWFkX2RjX2NvdW50ZXIodWludDMyX3QgZHJtX2ZkLCBpbnQg ZGNfZmxhZykKPiArewo+ICsJY2hhciBidWZbNDA5Nl07Cj4gKwljaGFyICpzdHI7Cj4gKwo+ICsJ aWd0X2RlYnVnZnNfcmVhZChkcm1fZmQsICJpOTE1X2RtY19pbmZvIiwgYnVmKTsKPiArCj4gKwlp ZiAoZGNfZmxhZyAmIENIRUNLX0RDNSkKPiArCQlzdHIgPSBzdHJzdHIoYnVmLCAiREMzIC0+IERD NSBjb3VudCIpOwo+ICsJZWxzZSBpZiAoZGNfZmxhZyAmIENIRUNLX0RDNikKPiArCQlzdHIgPSBz dHJzdHIoYnVmLCAiREM1IC0+IERDNiBjb3VudCIpOwo+ICsKPiArCS8qIENoZWNrIERDNS9EQzYg Y291bnRlciBpcyBhdmFpbGFibGUgZm9yIHRoZSBwbGF0Zm9ybS4KPiArCSAqIFNraXAgdGhlIHRl c3QgaWYgY291bnRlciBpcyBub3QgYXZhaWxhYmxlLgo+ICsJICovCj4gKwlpZ3Rfc2tpcF9vbl9m KCFzdHIsICJEQyVkIGNvdW50ZXIgaXMgbm90IGF2YWlsYWJsZVxuIiwKPiArCQkgICAgICBkY19m bGFnICYgQ0hFQ0tfREM1ID8gNSA6IDYpOwo+ICsJcmV0dXJuIGdldF9kY19jb3VudGVyKHN0cik7 Cj4gK30KPiArCj4gK2Jvb2wgZGNfc3RhdGVfd2FpdF9lbnRyeShpbnQgZHJtX2ZkLCBpbnQgZGNf ZmxhZywgaW50IHByZXZfZGNfY291bnQpCj4gK3sKPiArCXJldHVybiBpZ3Rfd2FpdChyZWFkX2Rj X2NvdW50ZXIoZHJtX2ZkLCBkY19mbGFnKSA+Cj4gKwkJCXByZXZfZGNfY291bnQsIDMwMDAsIDEw MCk7Cj4gK30KPiArCj4gK3ZvaWQgY2hlY2tfZGNfY291bnRlcihpbnQgZHJtX2ZkLCBpbnQgZGNf ZmxhZywgdWludDMyX3QgcHJldl9kY19jb3VudCkKPiArewo+ICsJaWd0X2Fzc2VydF9mKGRjX3N0 YXRlX3dhaXRfZW50cnkoZHJtX2ZkLCBkY19mbGFnLCBwcmV2X2RjX2NvdW50KSwKPiArCQkgICAg ICJEQyVkIHN0YXRlIGlzIG5vdCBhY2hpZXZlZFxuIiwKPiArCQkgICAgIGRjX2ZsYWcgJiBDSEVD S19EQzUgPyA1IDogNik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHRlc3RfZGNfc3RhdGVfcHNy KGRhdGFfdCAqZGF0YSwgaW50IGRjX2ZsYWcpCj4gK3sKPiArCXVpbnQzMl90IGRjX2NvdW50ZXJf YmVmb3JlX3BzcjsKPiArCj4gKwlkY19jb3VudGVyX2JlZm9yZV9wc3IgPSByZWFkX2RjX2NvdW50 ZXIoZGF0YS0+ZHJtX2ZkLCBkY19mbGFnKTsKPiArCXNldHVwX291dHB1dChkYXRhKTsKPiArCXNl dHVwX3ByaW1hcnkoZGF0YSk7Cj4gKwlpZ3RfYXNzZXJ0KHBzcl93YWl0X2VudHJ5KGRhdGEtPmRl YnVnZnNfZmQsIGRhdGEtPm9wX3Bzcl9tb2RlKSk7Cj4gKwljaGVja19kY19jb3VudGVyKGRhdGEt PmRybV9mZCwgZGNfZmxhZywgZGNfY291bnRlcl9iZWZvcmVfcHNyKTsKPiArCWNsZWFudXAoZGF0 YSk7Cj4gK30KPiArCj4gK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gK3sKPiAr CWJvb2wgaGFzX3J1bnRpbWVfcG07Cj4gKwlkYXRhX3QgZGF0YSA9IHt9Owo+ICsJaW50OF90ICpw bV9kYXRhID0gTlVMTDsKPiArCj4gKwlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7Cj4gKwlpZ3Rf c3VidGVzdF9pbml0KGFyZ2MsIGFyZ3YpOwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWRhdGEuZHJt X2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwpOwo+ICsJCWRhdGEuZGVi dWdmc19mZCA9IGlndF9kZWJ1Z2ZzX2RpcihkYXRhLmRybV9mZCk7Cj4gKwkJaWd0X3JlcXVpcmUo ZGF0YS5kZWJ1Z2ZzX2ZkICE9IC0xKTsKPiArCQlrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2Rl KCk7Cj4gKwkJZGF0YS5kZXZpZCA9IGludGVsX2dldF9kcm1fZGV2aWQoZGF0YS5kcm1fZmQpOwo+ ICsJCXBtX2RhdGEgPSBpZ3RfcG1fZW5hYmxlX3NhdGFfbGlua19wb3dlcl9tYW5hZ2VtZW50KCk7 CgpJIHRoaW5rIGV2ZW50dWFsbHkgdGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gaWd0X3NldHVwX3J1 bnRpbWVfcG0oKSAoYWtpbiB0bwppZ3RfcG1fZW5hYmxlX2F1ZGlvX3J1bnRpbWVfcG0oKSksIGJ1 dCBmb3Igbm93IHRoaXMgaXMgb2suCgpIb3dldmVyIEknZCBsaWtlIHRoYXQgd2UgZml4IG5vdwpp Z3RfcG1fZW5hYmxlX3NhdGFfbGlua19wb3dlcl9tYW5hZ2VtZW50KCkgdG8gcmVzdG9yZSB0aGUg b3JpZ2luYWwgc3RhdGUKaWYgdGhpbmdzIGZhaWwuIFBsZWFzZSBsb29rIGF0IGlndF9wbV9lbmFi bGVfYXVkaW9fcnVudGltZV9wbSgpIG9uIGhvdwp0byBkbyB0aGlzLiBCYXNpY2FsbHkgbWFrZSBw bV9kYXRhIGludGVybmFsIHRvIGxpYi9pZ3RfcG0uYyBpbnN0ZWFkIG9mCnJldHVybmluZyBpdCBh bmQgaW5zdGFsbCBhbiBleGl0IGhhbmRsZXIgZnJvbQppZ3RfcG1fZW5hYmxlX2F1ZGlvX3J1bnRp bWVfcG0oKSB0byByZXN0b3JlIHRoaW5ncyB1c2luZyBwbV9kYXRhLiBNYWtlCnN1cmUgd2UgY2Fu IGVuYWJsZS9yZXN0b3JlIHRoZSBzZXR0aW5nIG11bHRpcGxlIHRpbWVzIChuZWVkZWQgZm9yCmlu c3RhbmNlIGJ5IGk5MTVfcG1fcnBtLmMpLgoKPiArCQloYXNfcnVudGltZV9wbSA9IGlndF9zZXR1 cF9ydW50aW1lX3BtKCk7Cj4gKwkJaWd0X2luZm8oIlJ1bnRpbWUgUE0gc3VwcG9ydDogJWRcbiIs IGhhc19ydW50aW1lX3BtKTsKPiArCQlpZ3RfcmVxdWlyZShoYXNfcnVudGltZV9wbSk7Cj4gKwkJ aWd0X3JlcXVpcmUoaWd0X3BtX2RtY19sb2FkZWQoZGF0YS5kZWJ1Z2ZzX2ZkKSk7Cj4gKwkJaWd0 X2Rpc3BsYXlfcmVxdWlyZSgmZGF0YS5kaXNwbGF5LCBkYXRhLmRybV9mZCk7Cj4gKwl9Cj4gKwo+ ICsJaWd0X3N1YnRlc3QoImRjNS1wc3IiKSB7Cj4gKwkJZGF0YS5vcF9wc3JfbW9kZSA9IFBTUl9N T0RFXzE7Cj4gKwkJcHNyX2VuYWJsZShkYXRhLmRlYnVnZnNfZmQsIGRhdGEub3BfcHNyX21vZGUp Owo+ICsJCWlndF9yZXF1aXJlX2YoZWRwX3Bzcl9zaW5rX3N1cHBvcnQoJmRhdGEpLAo+ICsJCQkg ICAgICAiU2luayBkb2VzIG5vdCBzdXBwb3J0IFBTUlxuIik7Cj4gKwkJdGVzdF9kY19zdGF0ZV9w c3IoJmRhdGEsIENIRUNLX0RDNSk7Cj4gKwl9Cj4gKwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWln dF9wbV9yZXN0b3JlX3NhdGFfbGlua19wb3dlcl9tYW5hZ2VtZW50KHBtX2RhdGEpOwo+ICsJCWNs b3NlKGRhdGEuZGVidWdmc19mZCk7Cj4gKwkJZGlzcGxheV9maW5pKCZkYXRhKTsKPiArCX0KPiAr Cj4gKwlpZ3RfZXhpdCgpOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIv dGVzdHMvbWVzb24uYnVpbGQKPiBpbmRleCA1MTY3YTZjLi5mMzA3Y2ZiIDEwMDY0NAo+IC0tLSBh L3Rlc3RzL21lc29uLmJ1aWxkCj4gKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBAQCAtMjIwLDYg KzIyMCw3IEBAIGk5MTVfcHJvZ3MgPSBbCj4gIAknaTkxNV9wbV9scHNwJywKPiAgCSdpOTE1X3Bt X3JjNl9yZXNpZGVuY3knLAo+ICAJJ2k5MTVfcG1fcnBtJywKPiArCSdpOTE1X3BtX2RjJywKPiAg CSdpOTE1X3BtX3JwcycsCj4gIAknaTkxNV9wbV9zc2V1JywKPiAgCSdpOTE1X3F1ZXJ5JywKPiAt LSAKPiAyLjcuNAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=