From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yadav, Jyoti R" Subject: Re: [PATCH] [RFC i-g-t] Test Design to verify mipi enable/disable sequence. Date: Mon, 9 Jan 2017 17:09:32 +0000 Message-ID: <58C27F6E3EB4A546B61614A0022977D5384BFA13@BGSMSX108.gar.corp.intel.com> References: <1483812449-14533-1-git-send-email-jyoti.r.yadav@intel.com> <87o9zgfw19.fsf@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 007CB6E296 for ; Mon, 9 Jan 2017 17:09:38 +0000 (UTC) In-Reply-To: <87o9zgfw19.fsf@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Nikula, Jani" , "intel-gfx@lists.freedesktop.org" Cc: mi-jenkins-ci , "Syrjala, Ville" List-Id: intel-gfx@lists.freedesktop.org SGkgSmFuaSwKClRoYW5rcyBmb3IgZmluZGluZyB0aW1lIHRvIHJldmlldyB0aGUgcGF0Y2guIFBs ZWFzZSBmaW5kIG15IGNvbW1lbnRzIGlubGluZS4KClJlZ2FyZHMKSnlvdGkKCi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCkZyb206IE5pa3VsYSwgSmFuaSAKU2VudDogTW9uZGF5LCBKYW51YXJ5 IDksIDIwMTcgMjozMCBQTQpUbzogWWFkYXYsIEp5b3RpIFIgPGp5b3RpLnIueWFkYXZAaW50ZWwu Y29tPjsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogS2Fob2xhLCBNaWthIDxt aWthLmthaG9sYUBpbnRlbC5jb20+OyBTeXJqYWxhLCBWaWxsZSA8dmlsbGUuc3lyamFsYUBpbnRl bC5jb20+OyBtaS1qZW5raW5zLWNpIDxtaS1qZW5raW5zLWNpQGludGVsLmNvbT4KU3ViamVjdDog UmU6IFtQQVRDSF0gW0ludGVsLWdmeF0gW1JGQyBpLWctdF0gVGVzdCBEZXNpZ24gdG8gdmVyaWZ5 IG1pcGkgZW5hYmxlL2Rpc2FibGUgc2VxdWVuY2UuCgpPbiBTYXQsIDA3IEphbiAyMDE3LCBZYWRh diBKeW90aSA8anlvdGkuci55YWRhdkBpbnRlbC5jb20+IHdyb3RlOgo+IEZyb206IEplbmtpbnMg VmFsIDxqZW5raW5zQGludGVsLmNvbT4KPgoKVGhpcyBwbGFjZSBoZXJlIGlzIGZvciB0aGUgY29t bWl0IG1lc3NhZ2UsIHdoZXJlIHlvdSBzaG91bGQgZXhwbGFpbgoqd2h5KiB3ZSBuZWVkIHRoaXMg Y2hhbmdlLgoKW0p5b3RpXTogeWVhaCwgc3VyZSB3ZSBjYW4gbW92ZSAid2hhdCBhbmQgd2h5IGZv ciB0aGUgdGVzdCIgaGVyZS4KCldoZXJlIGRvIHlvdSBnZXQgdGhlIFhNTCBmaWxlPyBEbyB5b3Ug d3JpdGUgaXQgbWFudWFsbHk/IEhvdyBkbyB5b3UgbWFuYWdlIHRoZW0/IFRoZSBrZXJuZWwgd2ls bCBleGVjdXRlIHRoZSBzZXF1ZW5jZXMgZnJvbSB0aGUgVkJULCBub3QgZnJvbSB5b3VyIFhNTCBm aWxlLCBzbyB5b3UnbGwgaGF2ZSBhIHByb2JsZW0gb2YgbWFpbnRhaW5pbmcgWE1MIGZpbGVzIGZv ciBlYWNoIG1hY2hpbmUgeW91IGV2ZXIgcnVuIHRoaXMgdGVzdCBvbi4KCltKeW90aV06IAkJWE1M IGZpbGVzIGFyZSB3cml0dGVuIG1hbnVhbGx5LiBTZXF1ZW5jZSBtZW50aW9uZWQgaW4gWE1MIGZp bGUgYXJlIHRha2VuIGZyb20gdGhlIEJTcGVjLiBZZXMsIHdlIGhhdmUgdG8gbWFpbnRhaW4gZGlm ZmVyZW50IFhNTCBmaWxlIGZvciBlYWNoIHBsYXRmb3JtLiAgWE1MIGZpbGVzIGFyZSBub3Qgc3Vw cG9zZWQgdG8gYmUgdGhlIHNvdXJjZSBvZiBleGVjdXRpb24gZm9yIGtlcm5lbCwgQXMgCQl5b3Ug YWxyZWFkeSBtZW50aW9uZWQgdGhhdCBrZXJuZWwgd2lsbCBleGVjdXRlIHRoZSBzZXF1ZW5jZSBm cm9tIHRoZSBWQlQuICBXaXRoIHRoZSBoZWxwIG9mIFhNTCBmaWxlLCB3ZSB3aWxsIGJlIGFibGUg dG8gdmVyaWZ5IEJTcGVjIHNlcXVlbmNlIGZvciBtaXBpIGVuYWJsZS9kaXNhYmxlIGNhbGxzLiBB bmQgSSBiZWxpZXZlLCBpZGVhbGx5IGJvdGggdGhlIHNlcXVlbmNlIChzZXF1ZW5jZSAJCW1lbnRp b25lZCBpbiBWQlQgYW5kICBzZXF1ZW5jZSBtZW50aW9uZWQgaW4gQlNwZWMgc2hvdWxkIG1hdGNo KSBzaG91bGQgbWF0Y2guIFBsZWFzZSBjb3JyZWN0IG1lLCBJIGFtIHdyb25nIGhlcmUuCgoJCVdl IGNhbiBkaXNjdXNzIG9uIGFueSBvdGhlciBhbHRlcm5hdGl2ZSAgd2F5OikKCQlGb3Igb3VyIGlu dGVybmFsIHZhbGlkYXRpb24gLCB3ZSBhcmUgdGFraW5nIGhlbHAgb2YgWE1MIGZpbGVzLiAKCkkn bSBhbHNvIG5vdCB0aHJpbGxlZCBhYm91dCBhZGRpbmcgc3BlY2lhbCBkZWJ1ZyBtZXNzYWdlcyB0 aGF0IHRoZSB0ZXN0IGRlcGVuZHMgb24gZmluZGluZyBpbiBkbWVzZy4gVGhlIHRlc3QgYWxzbyBk b2Vzbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIHRvIGNhdXNlIHRoZSBzZXF1ZW5jZXMgdG8gYmUg cnVuLCBzbyB5b3UgZXhwZWN0IHNvbWUgb3RoZXIsIHVuZGVmaW5lZCB0ZXN0cyB0byBoYXZlIGJl ZW4gcnVuLCB0aGUgZG1lc2cgZnJvbSB0aGF0IHJ1biBjYXB0dXJlZCwgYW5kIHNhdmVkIHRvIGEg ZmlsZSB0aGF0IHlvdSBmZWVkIHRvIHRoaXMgdGVzdAoKW0p5b3RpXTogCQlZZXMgLCBvZiBjb3Vy c2UsIHRlc3QgaXMgbm90IHN1cHBvc2VkIHRvIG1hZGUgdGhlIHNlcXVlbmNlIHJ1bi4gIEZvciBy dW5uaW5nIHRoaXMgdGVzdCwgd2UgbmVlZCB0byBmb2xsb3cgYW4gb3JkZXIuCgkJSW5pdGlhbGx5 LCAgd2hlbiBNaXBpIHBhbmVsIGlzIGJyb3VnaHQgdXAsIHdlIGNhbiBjYXB0dXJlIHRoZSBsb2dz IGFuZCBmZWVkIHRob3NlIGxvZ3MgdG8gdGhpcyB0ZXN0LCBpZiB3ZSB3YW50IHRvIHZlcmlmeSBN aXBpIEVuYWJsZSBzZXF1ZW5jZS4KCQlTaW1pbGFybHksIGR1cmluZyBzdXNwZW5kIGN5Y2xlLCB3 aGVuIG1vZGVzZXQgZGlzYWJsZSBzZXF1ZW5jZSBpcyBjYWxsZWQsIGFuZCBhbHNvIG1pcGkgZGlz YWJsZSBzZXF1ZW5jZSBpcyBjYWxsZWQsIHRoZW4gd2UgaGF2ZSB0byBjYXB0dXJlIGxvZ3MgYW5k IGZlZWQgdG8gdGhpcyB0ZXN0LCBpZiB3ZSB3YW50IHRvIHZlcmlmeSBtaXBpIGRpc2FibGUgc2Vx dWVuY2UuCgoJCUltcG9ydGFuY2Ugb2YgRGVidWcgTWVzc2FnZTogIFdpdGggdGhlIGhlbHAgb2Yg ZGVidWcgbWVzc2FnZSwgd2UgY2FuIGZpbmQgb3V0IHRoZSB0aW1lIHN0YW1wLCB3aGVuIHBhcnRp Y3VsYXIgcmVnaXN0ZXIgaXMgcHJvZ3JhbW1lZC4gVGhpcyB0aW1lIHN0YW1wIGhlbHBzIGluIHZh bGlkYXRpbmcgdGhlIG9yZGVyIHdoaWNoIHNob3VsZCBiZSBtYWludGFpbmVkIGFtb25nIGRpZmZl cmVudCAKCQlzdWIgc2VxdWVuY2VzIG9mIGVudGlyZSBlbmFibGUvZGlzYWJsZSBzZXF1ZW5jZS4K LgoKSSB0aGluayB0aGUgZGVzaWduIGlzIHJhdGhlciBmcmFnaWxlLgoKW0p5b3RpXSA6IFBsZWFz ZSBoZWxwIG1lIGluIGltcHJvdmluZyB0aGUgZGVzaWduIHBhcnQgYW5kIHN0cmVuZ3RoZW4gdGhl IG1pcGkgdmFsaWRhdGlvbiBzdWl0LgoKQlIsCkphbmkuCgoKPiBTaWduZWQtb2ZmLWJ5OiBKeW90 aSBZYWRhdiA8anlvdGkuci55YWRhdkBpbnRlbC5jb20+Cj4gLS0tCj4gIHRlc3RzL01ha2VmaWxl LmFtICAgICAgICAgICAgICAgICAgfCAgIDMgKy0KPiAgdGVzdHMvTWFrZWZpbGUuc291cmNlcyAg ICAgICAgICAgICB8ICAgMSArCj4gIHRlc3RzL21pcGlfc2VxdWVuY2VfdmVyaWZpY2F0aW9uLmMg fCAyMDEgCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAzIGZpbGVz IGNoYW5nZWQsIDIwNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pICBjcmVhdGUgbW9kZSAx MDA2NDQgCj4gdGVzdHMvbWlwaV9zZXF1ZW5jZV92ZXJpZmljYXRpb24uYwo+Cj4gZGlmZiAtLWdp dCBhL3Rlc3RzL01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0gaW5kZXggCj4gYTQwODEy Ni4uNWI5MzhhMiAxMDA2NDQKPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQo+ICsrKyBiL3Rlc3Rz L01ha2VmaWxlLmFtCj4gQEAgLTYxLDYgKzYxLDcgQEAgQU1fQ0ZMQUdTID0gJChEUk1fQ0ZMQUdT KSAkKENXQVJORkxBR1MpIC1Xbm8tdW51c2VkLXJlc3VsdCAkKERFQlVHX0NGTEFHUylcCj4gIAkt RElHVF9TUkNESVI9XCIiJChhYnNfc3JjZGlyKSJcIiBcCj4gIAktRElHVF9EQVRBRElSPVwiIiQo cGtnZGF0YWRpcikiXCIgXAo+ICAJJChMSUJVTldJTkRfQ0ZMQUdTKSAkKFdFUlJPUl9DRkxBR1Mp IFwKPiArCS1JL3Vzci9pbmNsdWRlL2xpYnhtbDIgXAo+ICAJJChOVUxMKQo+ICAKPiAgTERBREQg PSAuLi9saWIvbGliaW50ZWxfdG9vbHMubGEgJChHTElCX0xJQlMpIEBAIC0xMDQsNyArMTA1LDcg QEAgCj4gZ2VtX3VzZXJwdHJfYmxpdHNfTERBREQgPSAkKExEQUREKSAtbHB0aHJlYWQgIGdlbV93 YWl0X0xEQUREID0gCj4gJChMREFERCkgLWxydCAga21zX2ZsaXBfTERBREQgPSAkKExEQUREKSAt bHJ0IC1scHRocmVhZCAgCj4gcG1fcmM2X3Jlc2lkZW5jeV9MREFERCA9ICQoTERBREQpIC1scnQK PiAtCj4gK21pcGlfc2VxdWVuY2VfdmVyaWZpY2F0aW9uLmMgPSAkKExEQUREKSAtbHhtbDIKPiAg cHJpbWVfbnZfdGVzdF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChEUk1fTk9VVkVBVV9DRkxBR1Mp ICAKPiBwcmltZV9udl90ZXN0X0xEQUREID0gJChMREFERCkgJChEUk1fTk9VVkVBVV9MSUJTKSAg Cj4gcHJpbWVfbnZfYXBpX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKERSTV9OT1VWRUFVX0NGTEFH UykgZGlmZiAtLWdpdCAKPiBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmls ZS5zb3VyY2VzIGluZGV4IAo+IDU5OGVjNmYuLjhkOTY5NmQgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMv TWFrZWZpbGUuc291cmNlcwo+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiBAQCAtMjEx LDYgKzIxMSw3IEBAIFRFU1RTX3Byb2dzID0gXAo+ICAJa21zX3B3cml0ZV9jcmMgXAo+ICAJa21z X3NpbmtfY3JjX2Jhc2ljIFwKPiAgCXByaW1lX3VkbCBcCj4gKwltaXBpX3NlcXVlbmNlX3Zlcmlm aWNhdGlvbiBcCj4gIAkkKE5VTEwpCj4gIAo+ICAjIElNUE9SVEFOVDogVGhlIFpaXyB0ZXN0cyBu ZWVkIHRvIGJlIHJ1biBsYXN0IQo+IGRpZmYgLS1naXQgYS90ZXN0cy9taXBpX3NlcXVlbmNlX3Zl cmlmaWNhdGlvbi5jIAo+IGIvdGVzdHMvbWlwaV9zZXF1ZW5jZV92ZXJpZmljYXRpb24uYwo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMzc4Y2NkMgo+IC0tLSAvZGV2L251 bGwKPiArKysgYi90ZXN0cy9taXBpX3NlcXVlbmNlX3ZlcmlmaWNhdGlvbi5jCj4gQEAgLTAsMCAr MSwyMDEgQEAKPiArLyoKPiArICogIk1JUEkgZW5hYmxlL2Rpc2FibGUgc2VxdWVuY2UgdmVyaWZp Y2F0aW9uIiBUZXN0IERlc2lnbjoKPiArICogVGhpcyBwYXRjaCBpcyBhbGwgYWJvdXQgdGVzdCBk ZXNpZ24gdG8gdmVyaWZ5IG1pcGkgZW5hYmxlL2Rpc2FibGUgc2VxdWVuY2UKPiArICAgbWVudGlv bmVkIGluIEJTcGVjLgo+ICsgKgo+ICsgKiBUYXJnZXRlZCBQbGF0Zm9ybTogQlhUKGluY2x1ZGlu Zykgb253YXJkcy4KPiArICogVGVzdCBJbnB1dDoKPiArCQlhKS4gWE1MIGZpbGUgd2hpY2ggZGV0 YWlscyBhYm91dCBtaXBpIGVuYWJsZS9kaXNhYmxlIHNlcXVlbmNlCj4gKwkJICAgIG1lbnRpb25l ZCBpbiBCU3BlYy4KPiArCQkgICAgVGhpcyBmaWxlIGNvbnRhaW4gZGF0YSBhYm91dCBlYWNoIHJl Z3NpdGVycyB3aGljaCBuZWVkIHRvCj4gKwkJICAgIGJlIHByb2dyYW1tZWQuCj4gKwkJICAgIEZv bGxvd2luZyB0YWdzIGFyZSB1c2VkIGluIFhNTCBmaWxlLgo+ICsJCSAgICAxLiA8U2VxdWVuY2U+ IHRhZyBkZXNjcmliZXMgd2hpY2ggc2VxdWVuY2UgaXQgaXMgLS0+IGVuYWJsZQo+ICsJCQlzZXF1 ZW5jZSBvciBkaXNhYmxlIHNlcXVlbmNlLgo+ICsJCSAgICAyLiA8U3RlcD4gdGFnIGRlc2NyaWJl cyBhYm91dCBzdWJ0YXNrcyB3aGljaCBuZWVkIHRvIGJlCj4gKwkJCWNvbXBsZXRlZCBpbiBhbiBv cmRlciBmb3IgdGhlIGVuYWJsZS9kaXNhYmxlIHNlcXVlbmNlCj4gKwkJCXRvIGJlIGNvbXBsZXRl ZC4KPiArCQkgICAgMy4gPC9SZWdpc3Rlcj4gdGFnIGRlc2NpYmVzIGFib3V0IHBhcnRpY3VsYXIg cmVnaXN0ZXIncyBuYW1lCj4gKwkJCSxvZmZzZXQgYW5kIHRpbWUgd2hlbiBpdCB3YXMgcHJvZ3Jh bW1lZC4KPiArCQkJQSA8U3RlcD4gdGFnIG1lbnRpb25zIGFib3V0IGxpc3Qgb2YgcmVnaXN0ZXJz IHdoaWNoIG5lZWQKPiArCQkJdG8gYmUgcHJvZ3JhbW1lZCBhcyBwYXJ0IG9mIHRoYXQgc3VidGFz ay4KPiArCQkgICAgNC4gPC9GYWN0b3I+IHRhZyBkZXNjcmliZXMgYWJvdXQgcGFydGljdWxhciBi aXQgd2hpY2ggbmVlZAo+ICsJCQl0byBiZSBwcm9ncmFtbWVkIGluIGEgcmVnaXN0ZXIuIEhlcmUg d2UgbWFpbnRhaW4gbWFzawo+ICsJCQlhbmQgdmFsdWUgZmllbGQuCj4gKwo+ICsgIEJlbG93IHNu aXBwZXQgaXMgYWJvdXQgWE1MIGZpbGUuCj4gKyAgVHdvIHN1YnRhc2tzIGZvciBtaXBpIGVuYWJs ZSBzZXF1ZW5jZSBhcmUgcHJlc2VudGVkIGluIFhNTCBmb3JtLgo+ICsKPiArICA8U2VxdWVuY2Ug bmFtZT0ibWlwaV9lbmFibGVfc2VxdWVuY2UiPgo+ICsKPiArICAgIDxTdGVwIG5hbWU9IkVuYWJs ZV9wb3dlcl93ZWxsXzIiPgo+ICsJPFJlZ2lzdGVyIG5hbWU9IlBXUl9XRUxMX0NUTDIiIG9mZnNl dD0iNDU0MDQiIHRpbWUgPSIwIj4KPiArCSAgICAgPEZhY3RvciBuYW1lPSJQV1JfV0VMTF8yX0VO QUJMRSIgbWFzaz0iODAwMDAwMDAiIHZhbHVlPSI4MDAwMDAwMCI+Cj4gKwkgICAgIDwvRmFjdG9y Pgo+ICsJPC9SZWdpc3Rlcj4KPiArICAgIDwvU3RlcD4KPiArCj4gKyAgICA8U3RlcCBuYW1lPSJD b25maWd1cmVfYW5kX2VuYWJsZV9NSVBJX2Nsb2NrcyI+Cj4gKwk8UmVnaXN0ZXIgbmFtZT0iRFNJ X1BMTF9DVEwiIG9mZnNldD0iMTYxMDAwIiB0aW1lPSIwIj4KPiArCTwvUmVnaXN0ZXI+Cj4gKwk8 UmVnaXN0ZXIgbmFtZT0iTUlQSV9DTE9DS19DVEwiIG9mZnNldD0iNDYwOTAiIHRpbWU9IjAiPgo+ ICsJPC9SZWdpc3Rlcj4KPiArCTxSZWdpc3RlciBuYW1lPSJEU0lfUExMX0VOQUJMRSIgb2Zmc2V0 PSI0NjA4MCIgdGltZT0iMCI+Cj4gKwkJPEZhY3RvciBuYW1lPSJQTExfRU5BQkxFIiBtYXNrPSI4 MDAwMDAwMCIgdmFsdWU9IjgwMDAwMDAwIj4KPiArCQk8L0ZhY3Rvcj4KPiArCTwvUmVnaXN0ZXI+ Cj4gKyAgICA8L1N0ZXA+Cj4gKwo+ICsgICA8L1NlcXVlbmNlPgo+ICsKPiArCSAgICAgIGIpIEFu b3RoZXIgaW5wdXQgdG8gdGhlIHRlc3QgaXMgRG1lc2cgTG9nIGZpbGUuIFRoaXMgbG9nIGZpbGUK PiArCQlpbmNsdWRlcyBvdXIgY3VzdG9taXplZCBsb2dzIGFwYXJ0IGZyb20gb3RoZXIgZG1lc2cg bG9ncy4KPiArCQlDdXN0b21pemVkIGxvZ3MgYXJlIGVuYWJsZWQgd2l0aCBvbmUgcGF0Y2gsIHdo aWNoIGluc2VydHMgc29tZQo+ICsJCXByaW50ayBtZXNzYWdlLCB3aGVuIG1pcGkgcmVsYXRlZCBy ZWdpc3RlcnMgYXJlIHdyaXR0ZW4uCj4gKwkJT3VyIGN1c3RvbWl6ZWQgbG9ncyBhcmUgZm9yIHRo b3NlIHJlZ2lzdGVycyB3aGljaCBhcmUgcmVsYXRlZCB0bwo+ICsJCW1pcGkgZW5hYmxlL2Rpc2Fi bGUgc2VxdWVuY2UuCj4gKwkJVGhpcyBpcyBob3cgY3VzdG9taXplZCBsb2dzIGxvb2tzIGxpa2Uu Cj4gKwo+ICsJCVsgICAgMS43NTQxMjddCWRiZ19nZW45X3dyaXRlMzIgOgkweDQ1NDA0CTB4NzAw MDAwMDAKPiArCQlbICAgIDEuNzU0MTczXQlkYmdfZ2VuOV93cml0ZTMyIDoJMHgxMzgwOTAJMHgz Cj4gKwo+ICsJCTEgbG9nIGxpbmUgY29udGFpbnMgInRpbWUiIHZhbHVlLCAiZGJnX2dlbjlfd3Jp dGUzMiIsc3RyaW5nIHRvCj4gKwkJZGlzdGluZ3Vpc2ggb3VyIGN1c3RvbWl6ZWQgbWVzc2FnZSwg InJlZ2lzdGVyX29mZnNldCIgYW5kCj4gKwkJInJlZ2lzdGVyX3ZhbHVlIi4KPiArCj4gK0hvdyB0 ZXN0IHdvcmtzOgo+ICsKPiArCTEuIEZvciBwYXJ0aWN1bGFyIHNlcXVlbmNlLCB0ZXN0IHdpbGwg cGljayBvbmUgYnkgb25lIHJlZ2lzdGVycyBmcm9tCj4gKwkgICBzdGVwcyBvZiB0aGUgc2VxdWVu Y2UsIGFuZCB3aWxsIHRyeSB0byBmaW5kIHRoaXMgcmVnaXN0ZXIgb2Zmc2V0IGluCj4gKwkgICB0 aGUgbG9nIGZpbGUsIGlmIHJlZ2lzdGVyIG9mZnNldCBhbmQgdmFsdWUgbWF0Y2hlcywgdGhlbiB3 ZQo+ICsJICAgc3RvcmUgdGltZSBvZiB0aGUgcmVnaXN0ZXIsIGluIHRoZSAidGltZSIgYXR0cmli dXRlIG9mIDxSZWdpc3Rlcj4gdGFnCj4gKwkgICBpbiBYTUwgZmlsZS4KPiArCj4gKwkyLiBPbmNl IHdlIHN0b3JlIHRpbWUgb2YgZWFjaCByZWdpc3RlcihtZW50aW9uZWQgaW4gWE1MIGZpbGUpLCBm cm9tIHRoZQo+ICsJICAgZG1lc2cgbG9nIGZpbGUsIHRoZW4gd2UgY2hlY2sgb3JkZXIgYmV0d2Vl biBlYWNoIDxTdGVwPiBpcyBtYWludGFpbmVkCj4gKwkgICBvciBub3QuCj4gKwkgICAidGltZSIg dmFsdWVzIGZvciBhbGwgdGhlIHJlZ2lzdGVycyBpbiBTdGVwIDEgc2hvdWxkIGJlIGxlc3MgdGhh biB0aGUKPiArCSAgICJ0aW1lIiB2YWx1ZXMgZm9yIGFsbCB0aGUgcmVnaXN0ZXJzIGluIFN0ZXAg Mi4KPiArCj4gKwkzLiBJZiB0aGlzIG9yZGVyIGlzIG1haW50YWluZWQgYmV0d2VlbiBhbGwgdGhl IFN0ZXBzIGluIHRoZSBTZXF1ZW5jZSwKPiArCSAgIHRoZW4gdGVzdCBpcyBQYXNzZWQsIG90aGVy d2lzZSBub3QuCj4gKwo+ICtMaWJyYXJ5IHVzZWQ6IGxpYnhtbCBsaWJyYXJ5IGlzIHVzZWQgdG8g cGFyc2UgWE1MIGZpbGUuCj4gKyovCj4gK2NvZGUgc25pcHBldDoKPiArLyogY29tbWFuZCBsaW5l IHBhcmFtZXRlcnMuKi8KPiArc3RydWN0IGNtZF9wYXJhbSB7Cj4gKwljaGFyICp4bWxfZmlsZW5h bWU7Cj4gKwljaGFyICpkbWVzZ19sb2dfZmlsZW5hbWU7Cj4gK307Cj4gK3N0YXRpYyBzdHJ1Y3Qg Y21kX3BhcmFtIG9wdCA9IHsKPiArICAgICAgCS54bWxfZmlsZW5hbWUgPSAiLi90ZXN0cy9taXBp X3NlcXVlbmNlLnhtbCI7Cj4gKwkuZG1lc2dfbG9nX2ZpbGVuYW1lID0gIi4vdGVzdC9ieHRfZG1l c2cubG9nIgo+ICt9Owo+ICsKPiArc3RhdGljIGludCBvcHRfaGFuZGxlcihpbnQgb3B0aW9uLCBp bnQgb3B0aW9uX2luZGV4LCB2b2lkICppbnB1dCkgewo+ICsJc3dpdGNoIChvcHRpb24pIHsKPiAr CWNhc2UgJ3gnOgo+ICsJCW9wdC54bWxfZmlsZW5hbWUgPSBvcHRhcmc7Cj4gKwkJYnJlYWs7Cj4g KwljYXNlICdkJzoKPiArCQlvcHQuZG1lc2dfbG9nX2ZpbGVuYW1lID0gb3B0YXJnOwo+ICsJCWJy ZWFrOwo+ICsJZGVmYXVsdDoKPiArCQlpZ3RfYXNzZXJ0KGZhbHNlKTsKPiArCX0KPiArCj4gKwly ZXR1cm4gMDsKPiArfQo+ICsKPiAraW50Cj4gK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+ ICt7Cj4gKwlpbnQgZmQ7Cj4gKwlpbnQgZ2VuOwo+ICsJeG1sRG9jICpkb2N1bWVudDsKPiArCXht bE5vZGUgKnJvb3QsICpmaXJzdF9jaGlsZCwgKm5vZGU7Cj4gKwlGSUxFICpmcDsKPiArCWZkID0g ZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfQU5ZKTsKPiArCWlmICghaXNfaTkxNV9kZXZp Y2UoZmQpKQo+ICsJCXJldHVybiAwOwo+ICsJZ2VuID0gaW50ZWxfZ2VuKGludGVsX2dldF9kcm1f ZGV2aWQoZmQpKTsKPiArCWlndF9za2lwX29uKGdlbiA8IDkpOwo+ICsJY29uc3QgY2hhciAqaGVs cF9zdHIgPQo+ICsJICAgICAgICIgIC0teG1sXHRcdFhtbCBmaWxlIGNvbnRhaW5zIG1pcGkgZW5h YmxlL2Rpc2FibGUgc2VxdWVuY2UgbWVudGlvbmVkIGluIEJTcGVjLlxuIFwKPiArCSAgICAgICAg ICAtLWRtZXNnX2xvZ19maWxlXHRcdCBEbWVzZyBsb2dzIGNvbGxlY3RlZCBhZnRlciBhcHBseWlu ZyBwYXRjaCB3aGljaCBlbmFibGVkIGN1c3RvbSBsb2dzIjsKPiArCXN0cnVjdCBvcHRpb24gbG9u Z19vcHRzW10gPSB7Cj4gKwkJCQkJeyJ4bWwiLCByZXF1aXJlZF9hcmd1ZW1lbnQsIDAsICd4J30s Cj4gKwkJCQkJeyJkbWVzZ19sb2dfZmlsZSIsIHJlcXVpcmVkX2FyZ3VlbWVudCwgJ2QnfSwKPiAr CQkJCQl7ImhlbHAiLCAwLCAwLCAnaCd9LAo+ICsJCQkJCXswLCAwLCAwLCAwfQo+ICsJCQkJfTsK PiArCWlndF9zdWJ0ZXN0X2luaXRfcGFyc2Vfb3B0cygmYXJnYywgYXJndiwgIiIsIGxvbmdfb3B0 cywKPiArCQkJCSAgICBoZWxwX3N0ciwgb3B0X2hhbmRsZXIsIE5VTEwpOwo+ICsJaWd0X3NraXBf b25fc2ltdWxhdGlvbigpOwo+ICsJZnAgPSBmb3BlbihvcHQuZG1lc2dfbG9nX2ZpbGVuYW1lLCAi ciIpOwo+ICsJaWd0X2Fzc2VydChmcCk7Cj4gKwkvKiBleHRyYWN0X2N1c3RvbV9sb2dzKCkgZnVu Y3Rpb24gd2lsbCBleHRyYWN0IGN1c3RvbWl6ZWQgbG9ncyBmcm9tCj4gKwkgKiBkbWVzZyBsb2cg ZmlsZSBhbmQgd2lsbCByZXR1cm4gYW4gYXJyYXkgb2YgY3VzdG9tIGxvZyBsaW5lcwo+ICsJICog d2hpY2ggYXJlIHRva2VuaXplZC4gVG9rZW5zIHdpbGwgYmUgInRpbWUiLCAib2Zmc2V0IiBhbmQg InZhbHVlIi4KPiArCSAqLwo+ICsJaW50IHNpemUxLCBzaXplMiA9IDA7Cj4gKwljaGFyICoqKmVu YWJsZV9zZXFfbG9ncyA9IGV4dHJhY3RfY3VzdG9tX2xvZ3MoZnAsICJNSVBJX0VOQUJMRV9TRVEi LAo+ICsJCQkJCQkgICAgICAmc2l6ZTEpOwo+ICsJY2hhciAqKipkaXNhYmxlX3NlcV9sb2dzID0g ZXh0cmFjdF9jdXN0b21pemVkX2xvZ3MoZnAsCj4gKwkJCQkJCQkgICAiTUlQSV9ESVNBQkxFX1NF USIsCj4gKwkJCQkJCQkgICAmc2l6ZTIpOwo+ICsJZG9jdW1lbnQgPSB4bWxSZWFkRmlsZShvcHQu eG1sX2ZpbGVuYW1lLCBOVUxMLCAwKTsKPiArCXJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChk b2N1bWVudCk7Cj4gKwkvKiBmaXJzdF9jaGlsZCB3aWxsIGJlIDxTZXF1ZW5jZT4gbm9kZS4qLwo+ ICsJZmlyc3RfY2hpbGQgPSByb290LT5jaGlsZHJlbjsKPiArCWZvciAobm9kZSA9IGZpcnN0X2No aWxkOyBub2RlOyBub2RlID0gbm9kZS0+bmV4dCkgewo+ICsJCWlmIChub2RlLT50eXBlID09IFhN TF9FTEVNRU5UX05PREUpIHsKPiArCQkJLyogPFN0ZXA+IG5vZGVzIHdpbGwgYmUgY2hpbGRyZW4g b2YKPiArCQkJICogPFNlcXVlbmNlPiBub2RlLgo+ICsJCQkqLwo+ICsJCQl4bWxOb2RlICpzdGVw X3Jvb3QgPSBub2RlLT5jaGlsZHJlbjsKPiArCQkJeG1sTm9kZSAqc3RlcF90ZW1wX25vZGUgPSBz dGVwX3Jvb3Q7Cj4gKwkJCWZvciAoc3RlcF90ZW1wX25vZGUgPSBzdGVwX3Jvb3Q7IHN0ZXBfdGVt cF9ub2RlOwo+ICsJCQkgICAgIHN0ZXBfdGVtcF9ub2RlID0gc3RlcF90ZW1wX25vZGUtPm5leHQp IHsKPiArCQkJCWlmIChzdGVwX3RlbXBfbm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7 Cj4gKwkJCQkJLyogPFJlZ2lzdGVyPiBub2RlIHdpbGwgYmUgY2hpbGRyZW4gb2YKPiArCQkJCQkg KiA8U3RlcD4gbm9kZS4KPiArCQkJCQkgKi8KPiArCQkJCQl4bWxOb2RlICpyZWdfcm9vdCA9Cj4g KwkJCQkJc3RlcF90ZW1wX25vZGUtPmNoaWxkcmVuOwo+ICsJCQkJCXhtbE5vZGUgKnJlZ190ZW1w X25vZGUgPSByZWdfcm9vdDsKPiArCQkJCQlmb3IgKHJlZ190ZW1wX25vZGUgPSByZWdfcm9vdDsK PiArCQkJCQkgICAgIHRlbXBfbm9kZTsKPiArCQkJCQkgICAgIHRlbXBfbm9kZSA9IHRlbXBfbm9k ZS0+bmV4dCkgewo+ICsJCQkJCQlpZiAodGVtcF9ub2RlLT50eXBlID09Cj4gKwkJCQkJCSAgICBY TUxfRUxFTUVOVF9OT0RFKSB7Cj4gKwkJCQkJCQlpbnQgaXQgPSAwOwo+ICsJCQkJCQkJLyogZm91 bmQgZmxhZyB0byBjaGVjawo+ICsJCQkJCQkJICogdGhhdCByZWdpc3RlciBpcwo+ICsJCQkJCQkJ ICogZm91bmQgaW4gdGhlIGxvZ3MuCj4gKwkJCQkJCQkgKi8KPiArCQkJCQkJCWludCBmb3VuZCA9 IDA7Cj4gKwkJCQkJCQkvKiBjaGVjayByZWdpc3RlciBpbiBsb2cKPiArCQkJCQkJCSAqIGFycmF5 Lgo+ICsJCQkJCQkJICovCj4gKwkJCQkJCQlmb3VuZCA9IGNoZWNrX3JlZygKPiArCQkJCQkJCQl0 ZW1wX25vZGUsCj4gKwkJCQkJCQkJZW5hYmxlX3NlcV9sb2dzLAo+ICsJCQkJCQkJCXNpemUxKQo+ ICsJCQkJCQkJCTsKPiArCQkJCQkJfQo+ICsJCQkJCX0KPiArCQkJCX0KPiArCQkJfQo+ICsJCX0K PiArCQkvKiBUT0RPOiB3aGVuIHdlIGFycml2ZSBoZXJlLCB3ZSBoYXZlIHN0b3JlZCB0aW1lIG9m IGVhY2gKPiArCQkgKiByZWdpc3RlciBpbiB0aGUgWE1MIGZpbGUsIGZyb20gdGhlIGRtZXNnIGxv Z3Mgd2hlbiBpdCBpcwo+ICsJCSAqIHByb2dyYW1tZWQuCj4gKwkJICogTm93IHdlIGhhdmUgdG8g c2VlIHRoYXQgcmVnaXN0ZXJzIGFyZSBwcm9ncmFtbWVkIGluIHRoZSBvcmRlcgo+ICsJCSAqIHdo aWNoIGlzIG1lbnRpb25lZCBpbiBCc3BlYywgYmFzZWQgb24gdGltaW5nIGluZm9ybWF0aW9uLgo+ ICsJCSAqLwo+ICsJfQo+ICsJaWd0X2V4aXQoKTsKPiArfQoKLS0KSmFuaSBOaWt1bGEsIEludGVs IE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=