From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Fri, 03 Jul 2015 14:15:24 +0300 Message-ID: <87lhexo5kj.fsf@gaia.fi.intel.com> References: <1433783009-17251-1-git-send-email-tomas.elf@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 ESMTP id 951986ED57 for ; Fri, 3 Jul 2015 04:15:42 -0700 (PDT) In-Reply-To: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomas Elf , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org VG9tYXMgRWxmIDx0b21hcy5lbGZAaW50ZWwuY29tPiB3cml0ZXM6Cgo+IFRoaXMgcGF0Y2ggc2Vy aWVzIGludHJvZHVjZXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKPgo+ICogRmVhdHVyZSAxOiBU RFIgKFRpbWVvdXQgRGV0ZWN0aW9uIGFuZCBSZWNvdmVyeSkgZm9yIGdlbjggZXhlY2xpc3QgbW9k ZS4KPgo+IFREUiBpcyBhbiB1bWJyZWxsYSB0ZXJtIGZvciBhbnl0aGluZyB0aGF0IGdvZXMgaW50 byBkZXRlY3RpbmcgYW5kIHJlY292ZXJpbmcKPiBmcm9tIEdQVSBoYW5ncyBhbmQgaXMgYSB0ZXJt IG1vcmUgd2lkZWx5IHVzZWQgb3V0c2lkZSBvZiB0aGUgdXBzdHJlYW0gZHJpdmVyLgo+IFRoaXMg ZmVhdHVyZSBpbnRyb2R1Y2VzIGFuIGV4dGVuc2libGUgZnJhbWV3b3JrIHRoYXQgY3VycmVudGx5 IHN1cHBvcnRzIGdlbjgKPiBidXQgdGhhdCBjYW4gYmUgZWFzaWx5IGV4dGVuZGVkIHRvIHN1cHBv cnQgZ2VuNyBhcyB3ZWxsICh3aGljaCBpcyBhbHJlYWR5IHRoZQo+IGNhc2UgaW4gR01JTiBidXQg dW5mb3J0dW5hdGVseSBpbiBhIG5vdCBxdWl0ZSB1cHN0cmVhbWFibGUgZm9ybSkuIFRoZSBjb2Rl Cj4gY29udGFpbmVkIGluIHRoaXMgc3VibWlzc2lvbiByZXByZXNlbnRzIHRoZSBlc3NlbnRpYWxz IG9mIHdoYXQgaXMgY3VycmVudGx5IGluCj4gR01JTiBtZXJnZWQgd2l0aCB3aGF0IGlzIGN1cnJl bnRseSBpbiB1cHN0cmVhbSAoYXMgb2YgdGhlIHRpbWUgd2hlbiB0aGlzIHdvcmsKPiBjb21tZW5j ZWQgYSBmZXcgbW9udGhzIGJhY2spLgo+Cj4gVGhpcyBmZWF0dXJlIGFkZHMgYSBuZXcgaGFuZyBy ZWNvdmVyeSBwYXRoIGFsb25nc2lkZSB0aGUgbGVnYWN5IEdQVSByZXNldCBwYXRoLAo+IHdoaWNo IHRha2VzIGNhcmUgb2YgZW5naW5lIHJlY292ZXJ5IG9ubHkuIEFzaWRlIGZyb20gYWRkaW5nIHN1 cHBvcnQgZm9yCj4gcGVyLWVuZ2luZSByZWNvdmVyeSB0aGlzIGZlYXR1cmUgYWxzbyBpbnRyb2R1 Y2VzIHJ1bGVzIGZvciBob3cgdG8gcHJvbW90ZSBhCj4gcG90ZW50aWFsIHBlci1lbmdpbmUgcmVz ZXQgdG8gYSBsZWdhY3ksIGZ1bGwgR1BVIHJlc2V0Lgo+CgpIYXZlIHlvdSBjb25zaWRlcmVkIHBy b21vdGluZyBmcm9tIGZhaWxlZCBmdWxsIGdwdSByZXNldCB0byBwY2kgbGV2ZWwgcmVzZXQ/Cldv dWxkIHJlcXVpcmUgc29tZSBhbW91bnQgb2YgcmV0aGlua2luZyBvbiBpbml0IGFzIGl0IHdvdWxk IGtpbGwgdGhlCmRpc3BsYXkgYWxzby4gT24gbHVuY2ggVmlsbGUgdGhyZXcgaWRlYSBvZiBwdXNo aW5nIHRoZSBkZXZpY2UgdG8KZDMoPykgc3RhdGUgdG8ga2lsbCB0aGUgcG93ZXIuIFRoYXQgd291 bGQgZ2V0IHJpZCBvZiB0aGUgbW9zdCBzdHViYm9ybgpzdGF0ZSAod3J0IHNrbCBncHUgcmVzZXQg cHJvYmxlbXMpLgoKLU1pa2EKCj4gVGhlIGhhbmcgY2hlY2tlciBub3cgaW50ZWdyYXRlcyB3aXRo IHRoZSBlcnJvciBoYW5kbGVyIGluIGEgc2xpZ2h0bHkgZGlmZmVyZW50Cj4gd2F5IGluIHRoYXQg aXQgYWxsb3dzIGhhbmcgcmVjb3Zlcnkgb24gbXVsdGlwbGUgZW5naW5lcyBhdCB0aGUgc2FtZSB0 aW1lIGJ5Cj4gcGFzc2luZyBhbiBlbmdpbmUgZmxhZyBtYXNrIHRvIHRoZSBlcnJvciBoYW5kbGVy IHdoZXJlIGZsYWdzIHJlcHJlc2VudGluZyBhbGwKPiBvZiB0aGUgaHVuZyBlbmdpbmVzIGFyZSBz ZXQuIFRoaXMgYWxsb3dzIHVzIHRvIHNjaGVkdWxlIGhhbmcgcmVjb3Zlcnkgb25jZSBmb3IKPiBh bGwgY3VycmVudGx5IGh1bmcgZW5naW5lcyBpbnN0ZWFkIG9mIG9uZSBoYW5nIHJlY292ZXJ5IHBl ciBkZXRlY3RlZCBlbmdpbmUKPiBoYW5nLiBQcmV2aW91c2x5LCB3aGVuIG9ubHkgZnVsbCBHUFUg cmVzZXQgd2FzIHN1cHBvcnRlZCB0aGlzIHdhcyBhbGwgdGhlIHNhbWUKPiBzaW5jZSBpdCB3b3Vs ZG4ndCBtYXR0ZXIgaWYgb25lIG9yIGZvdXIgZW5naW5lcyB3ZXJlIGh1bmcgYXQgYW55IGdpdmVu IHBvaW50Cj4gc2luY2UgaXQgd291bGQgYWxsIGFtb3VudCB0byB0aGUgc2FtZSB0aGluZyAtIHRo ZSBHUFUgZ2V0dGluZyByZXNldC4gQXMgaXQKPiBzdGFuZHMgbm93IHRoZSBiZWhhdmlvdXIgaXMg ZGlmZmVyZW50IGRlcGVuZGluZyBvbiB3aGljaCBlbmdpbmUgaXMgaHVuZyBzaW5jZQo+IGVhY2gg ZW5naW5lIGlzIHJlc2V0IHNlcGFyYXRlbHkgZnJvbSBhbGwgdGhlIG90aGVyIGVuZ2luZXMsIHRo ZXJlZm9yZSB3ZSBoYXZlCj4gdG8gdGhpbmsgYWJvdXQgdGhpcyBpbiB0ZXJtcyBvZiBzY2hlZHVs aW5nIGNvc3QgYW5kIHJlY292ZXJ5IGxhdGVuY3kuIChzZWUKPiBvcGVuIHF1ZXN0aW9uIGJlbG93 KQo+Cj4gT1BFTiBRVUVTVElPTlM6Cj4KPiAJMS4gRG8gd2Ugd2FudCB0byBpbnZlc3RpZ2F0ZSB0 aGUgcG9zc2liaWxpdHkgb2YgcGVyLWVuZ2luZSBoYW5nCj4gCWRldGVjdGlvbj8gSW4gdGhlIGN1 cnJlbnQgdXBzdHJlYW0gZHJpdmVyIHRoZXJlIGlzIG9ubHkgb25lIHdvcmsgcXVldWUKPiAJdGhh dCBoYW5kbGVzIHRoZSBoYW5nIGNoZWNrZXIgYW5kIGV2ZXJ5dGhpbmcgZnJvbSBpbml0aWFsIGhh bmcKPiAJZGV0ZWN0aW9uIHRvIGZpbmFsIGhhbmcgcmVjb3ZlcnkgcnVucyBpbiB0aGlzIHRocmVh ZC4gVGhpcyBtYWtlcyBzZW5zZQo+IAlpZiB5b3UncmUgb25seSBzdXBwb3J0aW5nIG9uZSBmb3Jt IG9mIGhhbmcgcmVjb3ZlcnkgLSB1c2luZyBmdWxsIEdQVQo+IAlyZXNldCBhbmQgbm90aGluZyB0 aWVkIHRvIGFueSBwYXJ0aWN1bGFyIGVuZ2luZS4gSG93ZXZlciwgYXMgcGFydAo+IAlvZiB0aGlz IHBhdGNoIHNlcmllcyB3ZSdyZSBjaGFuZ2luZyB0aGF0IGJ5IGludHJvZHVjaW5nIHBlci1lbmdp bmUKPiAJaGFuZyByZWNvdmVyeS4gSXQgY291bGQgbWFrZSBzZW5zZSB0byBpbnRyb2R1Y2UgbXVs dGlwbGUgd29yawo+IAlxdWV1ZXMgLSBvbmUgcGVyIGVuZ2luZSAtIHRvIHJ1biBtdWx0aXBsZSBo YW5nIGNoZWNraW5nIHRocmVhZHMgaW4KPiAJcGFyYWxsZWwuCj4KPiAJVGhpcyB3b3VsZCBwb3Rl bnRpYWxseSBhbGxvdyBzYXZpbmdzIGluIHRlcm1zIG9mIHJlY292ZXJ5IGxhdGVuY3kgc2luY2UK PiAJd2UgZG9uJ3QgaGF2ZSB0byBzY2FuIGFsbCBlbmdpbmVzIGV2ZXJ5IHRpbWUgdGhlIGhhbmcg Y2hlY2tlciBpcwo+IAlzY2hlZHVsZWQgYW5kIHRoZSBlcnJvciBoYW5kbGVyIGRvZXMgbm90IGhh dmUgdG8gc2NhbiBhbGwgZW5naW5lcyBldmVyeQo+IAl0aW1lIGl0IGlzIHNjaGVkdWxlZC4gSW5z dGVhZCwgd2UgY291bGQgaW1wbGVtZW50IG9uZSB3b3JrIHF1ZXVlIHBlcgo+IAllbmdpbmUgdGhh dCB3b3VsZCBpbnZva2UgdGhlIGhhbmcgY2hlY2tlciB0aGF0IG9ubHkgY2hlY2tzIF90aGF0Xwo+ IAlwYXJ0aWN1bGFyIGVuZ2luZSBhbmQgdGhlbiB0aGUgZXJyb3IgaGFuZGxlciBpcyBpbnZva2Vk IGZvciBfdGhhdF8KPiAJcGFydGljdWxhciBlbmdpbmUuIElmIG9uZSBlbmdpbmUgaGFzIGh1bmcg dGhlIGxhdGVuY3kgZm9yIGdldHRpbmcgdG8KPiAJdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aCBmb3Ig dGhhdCBwYXJ0aWN1bGFyIGVuZ2luZSB3b3VsZCBiZSAoVGltZSBGb3IKPiAJSGFuZyBDaGVja2lu ZyBPbmUgRW5naW5lKSArIChUaW1lIEZvciBFcnJvciBIYW5kbGluZyBPbmUgRW5naW5lKSByYXRo ZXIKPiAJdGhhbiB0aGUgdGltZSBpdCB0YWtlcyB0byBkbyBoYW5nIGNoZWNraW5nIGZvciBhbGwg ZW5naW5lcyArIHRoZSB0aW1lCj4gCWl0IHRha2VzIHRvIGRvIGVycm9yIGhhbmRsaW5nIGZvciBh bGwgZW5naW5lcyB0aGF0IGhhdmUgYmVlbiBkZXRlY3RlZAo+IAlhcyBodW5nICh3aGljaCBpbiB0 aGUgd29yc3QgY2FzZSB3b3VsZCBiZSBhbGwgZW5naW5lcykuIFRoZXJlIHdvdWxkCj4gCXBvdGVu dGlhbGx5IGJlIGFzIG1hbnkgaGFuZyBjaGVja2VyIGFuZCBlcnJvciBoYW5kbGluZyB0aHJlYWRz IGdvaW5nIG9uCj4gCWNvbmN1cnJlbnRseSBhcyB0aGVyZSBhcmUgZW5naW5lcyBpbiB0aGUgaGFy ZHdhcmUgYnV0IHRoZXkgd291bGQgYWxsIGJlCj4gCXJ1bm5pbmcgaW4gcGFyYWxsZWwgd2l0aG91 dCBhbnkgc2lnbmlmaWNhbnQgbG9ja2luZy4gVGhlIGZpcnN0IHRpbWUKPiAJd2hlcmUgYW55IHRo cmVhZCBuZWVkcyBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBkcml2ZXIgaXMgYXQgdGhlIHBvaW50 Cj4gCW9mIHRoZSBhY3R1YWwgaGFuZyByZWNvdmVyeSBidXQgdGhlIHRpbWUgaXQgdGFrZXMgdG8g Z2V0IHRoZXJlIHdvdWxkCj4gCXRoZW9yZXRpY2FsbHkgYmUgbG93ZXIgYW5kIHRoZSB0aW1lIGl0 IGFjdHVhbGx5IHRha2VzIHRvIGRvIHBlci1lbmdpbmUKPiAJaGFuZyByZWNvdmVyeSBpcyBxdWl0 ZSBhIGxvdCBsb3dlciB0aGFuIHRoZSB0aW1lIGl0IHRha2VzIHRvIGFjdHVhbGx5Cj4gCWRldGVj dCBhIGhhbmcgcmVsaWFibHkuCj4KPiAJSG93IG11Y2ggd2Ugd291bGQgc2F2ZSBieSBzdWNoIGEg Y2hhbmdlIHN0aWxsIG5lZWRzIHRvIGJlIGFuYWx5c2VkIGFuZAo+IAljb21wYXJlZCBhZ2FpbnN0 IHRoZSBjdXJyZW50IHNpbmdsZS10aHJlYWQgbW9kZWwgYnV0IGl0IG1ha2VzIHNlbnNlCj4gCWZy b20gYSB0aGVvcmV0aWNhbCBkZXNpZ24gcG9pbnQgb2Ygdmlldy4KPgo+IAkyLiBIb3cgZG9lcyBw ZXItZW5naW5lIHJlc2V0IGludGVncmF0ZSB3aXRoIHRoZSBwdWJsaWMgcmVzZXQgc3RhdHMKPiAJ SU9DVEw/IFRoZXNlIHN0YXRzIGFyZSB1c2VkIGZvciB0aGUgR0wgcm9idXN0bmVzcyBpbnRlcmZh Y2UgYW5kCj4gCWN1cnJlbnRseSB0aGVzZSB0ZXN0cyBhcmUgZmFpbGluZyB3aGVuIHJ1bm5pbmcg cGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5Cj4gCXNpbmNlIHdlIHRyZWF0IHBlci1lbmdpbmUgcmVj b3ZlcnkgZGlmZmVyZW50bHkgZnJvbSBmdWxsIEdQVSByZWNvdmVyeSwKPiAJd2hpY2ggaXMgbm90 aGluZyB0aGF0IHVzZXJsYW5kIGtub3dzIGFueXRoaW5nIGFib3V0LiBXaGVuIHVzZXJsYW5kCj4g CWV4cGVjdHMgdG8gaGFuZyB0aGUgaGFyZHdhcmUgaXQgZXhwZWN0cyB0aGUgcmVzZXQgc3RhdCBp bnRlcmZhY2UgdG8KPiAJcmVmbGVjdCB0aGlzLCB3aGljaCBpcyBzb21ldGhpbmcgdGhhdCBoYXMg Y2hhbmdlZCBhcyBwYXJ0IG9mIHRoaXMgY29kZQo+IAlzdWJtaXNzaW9uLiBUaGVyZSdzIG1vcmUg dGhhbiBvbmUgd2F5IHRvIHNvbHZlIHRoaXMuIEhlcmUgYXJlIHR3byBvcHRpb25zOgo+Cj4gCQkx LiBFeHBvc2UgcGVyLWVuZ2luZSByZXNldCBzdGF0aXN0aWNzIGFuZCBzZXQgY29udGV4dHMgYXMK PiAJCWd1aWx0eSB0aGUgc2FtZSB3YXkgZm9yIHBlci1lbmdpbmUgcmVzZXQgYXMgZm9yIGZ1bGwg R1BVCj4gCQlyZXNldHMuCj4KPiAJCVRoYXQgd291bGQgbWFrZSB0aGlzIGNoYW5nZSB0byB0aGUg aGFuZyByZWNvdmVyeSBtZWNoYW5pc20KPiAJCXRyYW5zcGFyZW50IHRvIHVzZXJsYW5kIGJ1dCBp dCB3b3VsZCBjaGFuZ2UgdGhlIHNlbWFudGljcyBzaW5jZQo+IAkJYW4gYWN0aXZlIGNvbnRleHQg aW4gdGhlIHJlc2V0IHN0YXRzIG5vIGxvbmdlciBpbXBsaWVzIHRoYXQgdGhlCj4gCQlHUFUgd2Fz IGZ1bGx5IHJlc2V0Lgo+Cj4gCQkyLiBBZGQgYSBuZXcgc2V0IG9mIHN0YXRpc3RpY3MgZm9yIHBl ci1lbmdpbmUgcmVzZXQgKG9uZSBncm91cAo+IAkJb2Ygc3RhdGlzdGljcyBmb3IgZWFjaCBlbmdp bmUpIHRvIHJlZmxlY3QgdGhlIGV4dGVuZGVkCj4gCQljYXBhYmlsaXRpZXMgdGhhdCBwZXItZW5n aW5lIGhhbmcgcmVjb3Zlcnkgb2ZmZXJzLgo+Cj4gCQlXb3VsZCB0aGF0IGJlIGJyZWFraW5nIHRo ZSBBQkk/Cj4KPiAJCS4uLiBPciBhcmUgdGhlcmUgYW55IG90aGVyIHdheSBvZiBkb2luZyB0aGlz Pwo+Cj4gKiBGZWF0dXJlIDI6IFdhdGNoZG9nIFRpbWVvdXQgKGEuay5hICJtZWRpYSBlbmdpbmUg cmVzZXQiKSBmb3IgZ2VuOC4KPgo+IFRoaXMgZmVhdHVyZSBhbGxvd3MgdXNlcmxhbmQgYXBwbGlj YXRpb25zIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgaW5kaXZpZHVhbAo+IGJhdGNoIGJ1ZmZl cnMgc2hvdWxkIGhhdmUgYSBmaXJzdC1sZXZlbCwgZmluZS1ncmFpbmVkLCBoYXJkd2FyZS1iYXNl ZCBoYW5nCj4gZGV0ZWN0aW9uIG1lY2hhbmlzbSBvbiB0b3Agb2YgdGhlIG9yZGluYXJ5LCBzb2Z0 d2FyZS1iYXNlZCBwZXJpb2RpYyBoYW5nCj4gY2hlY2tlciB0aGF0IGlzIGFscmVhZHkgaW4gdGhl IGRyaXZlci4gVGhlIGFkdmFudGFnZSBvdmVyIHJlbHlpbmcgc29sZWx5IG9uIHRoZQo+IGN1cnJl bnQgc29mdHdhcmUtYmFzZWQgaGFuZyBjaGVja2VyIGlzIHRoYXQgdGhlIHdhdGNoZG9nIHRpbWVv dXQgbWVjaGFuaXNtIGlzCj4gYWJvdXQgMTAwMHggcXVpY2tlciBhbmQgbW9yZSBwcmVjaXNlLiBT aW5jZSBpdCdzIG5vdCBhIGZ1bGwgZHJpdmVyLWxldmVsIGhhbmcKPiBkZXRlY3Rpb24gbWVjaGFu aXNtIGJ1dCBvbmx5IHRhcmdldHRpbmcgb25lIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVyIGF0IGEg dGltZQo+IGl0IGNhbiBhZmZvcmQgdG8gYmUgdGhhdCBxdWljayB3aXRob3V0IHJpc2tpbmcgYW4g aW5jcmVhc2UgaW4gZmFsc2UgcG9zaXRpdmUKPiBoYW5nIGRldGVjdGlvbi4KPgo+IFRoaXMgZmVh dHVyZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6Cj4KPiBhKSBXYXRjaGRvZyB0aW1l b3V0IGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgZm9yIGhhbmRsaW5nIHdhdGNoZG9nIGludGVy cnVwdHMKPiBhbmQgY29ubmVjdGluZyB0aGVzZSB0byBwZXItZW5naW5lIGhhbmcgcmVjb3Zlcnku Cj4KPiBiKSBJbmplY3Rpb24gb2Ygd2F0Y2hkb2cgdGltZXIgZW5hYmxlbWVudC9jYW5jZWxsYXRp b24gaW5zdHJ1Y3Rpb25zCj4gYmVmb3JlL2FmdGVyIHRoZSBiYXRjaCBidWZmZXIgc3RhcnQgaW5z dHJ1Y3Rpb24gaW4gdGhlIHJpbmcgYnVmZmVyIHNvIHRoYXQKPiB3YXRjaGRvZyB0aW1lb3V0IGlz IGNvbm5lY3RlZCB0byB0aGUgc3VibWlzc2lvbiBvZiBhbiBpbmRpdmlkdWFsIGJhdGNoIGJ1ZmZl ci4KPgo+IGMpIEV4dGVuc2lvbiBvZiB0aGUgRFJNIGJhdGNoIGJ1ZmZlciBpbnRlcmZhY2UsIGV4 cG9zaW5nIHRoZSB3YXRjaGRvZyB0aW1lb3V0Cj4gZmVhdHVyZSB0byB1c2VybGFuZC4gV2UndmUg Z290IHR3byBvcGVuIHNvdXJjZSBncm91cHMgaW4gVlBHIGN1cnJlbnRseSBpbiB0aGUKPiBwcm9j ZXNzIG9mIGludGVncmF0aW5nIHN1cHBvcnQgZm9yIHRoaXMgZmVhdHVyZSwgd2hpY2ggc2hvdWxk IG1ha2UgaXQKPiBwcmluY2lwYWxseSBwb3NzaWJsZSB0byB1cHN0cmVhbSB0aGlzIGV4dGVuc2lv bi4KPgo+IFRoZXJlIGlzIGN1cnJlbnRseSBmdWxsIHdhdGNoZG9nIHRpbWVvdXQgc3VwcG9ydCBm b3IgZ2VuNyBpbiBHTUlOIGFuZCBpdCBpcwo+IHF1aXRlIHNpbWlsYXIgdG8gdGhlIGdlbjggaW1w bGVtZW50YXRpb24gc28gdGhlcmUgaXMgbm90aGluZyBvYnZpb3VzIHRoYXQKPiBwcmV2ZW50cyB1 cyBmcm9tIHVwc3RyZWFtaW5nIHRoYXQgY29kZSBhbG9uZyB3aXRoIHRoZSBnZW44IGNvZGUuIEhv d2V2ZXIsCj4gd2F0Y2hkb2cgdGltZW91dCBpcyBmdWxseSBkZXBlbmRlbnQgb24gdGhlIHBlci1l bmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIGFuZAo+IHRoYXQgaXMgbm90IHBhcnQgb2YgdGhpcyBj b2RlIHN1Ym1pc3Npb24gZm9yIGdlbjcuIFRoZXJlZm9yZSB3YXRjaGRvZyB0aW1lb3V0Cj4gc3Vw cG9ydCBmb3IgZ2VuNyBoYXMgYmVlbiBleGNsdWRlZCB1bnRpbCBwZXItZW5naW5lIGhhbmcgcmVj b3Zlcnkgc3VwcG9ydCBmb3IKPiBnZW43IGhhcyBsYW5kZWQgdXBzdHJlYW0uCj4KPiBBcyBwYXJ0 IG9mIHRoaXMgc3VibWlzc2lvbiB3ZSd2ZSBoYWQgdG8gcmVpbnN0YXRlIHRoZSB3b3JrIHF1ZXVl IHRoYXQgd2FzCj4gcHJldmlvdXNseSBpbiBwbGFjZSBiZXR3ZWVuIHRoZSBlcnJvciBoYW5kbGVy IGFuZCB0aGUgaGFuZyByZWNvdmVyeSBwYXRoLiBUaGUKPiByZWFzb24gZm9yIHRoaXMgaXMgdGhh dCB0aGUgcGVyLWVuZ2luZSByZWNvdmVyeSBwYXRoIGlzIGNhbGxlZCBkaXJlY3RseSBmcm9tCj4g dGhlIGludGVycnVwdCBoYW5kbGVyIGluIHRoZSBjYXNlIG9mIHdhdGNoZG9nIHRpbWVvdXQuIElu IHRoYXQgc2l0dWF0aW9uCj4gdGhlcmUncyBubyB3YXkgb2YgZ3JhYmJpbmcgdGhlIHN0cnVjdF9t dXRleCwgd2hpY2ggaXMgYSByZXF1aXJlbWVudCBmb3IgdGhlCj4gaGFuZyByZWNvdmVyeSBwYXRo LiBUaGVyZWZvcmUsIGJ5IHJlaW5zdGF0aW5nIHRoZSB3b3JrIHF1ZXVlIHdlIHByb3ZpZGUgYQo+ IHVuaWZpZWQgZXhlY3V0aW9uIGNvbnRleHQgZm9yIHRoZSBoYW5nIHJlY292ZXJ5IGNvZGUgdGhh dCBhbGxvd3MgdGhlIGhhbmcKPiByZWNvdmVyeSBjb2RlIHRvIGdyYWIgd2hhdGV2ZXIgbG9ja3Mg aXQgbmVlZHMgd2l0aG91dCBzYWNyaWZpY2luZyBpbnRlcnJ1cHQKPiBsYXRlbmN5IHRvbyBtdWNo IG9yIHNsZWVwaW5nIGluZGVmaW5pdGVseSBpbiBoYXJkIGludGVycnVwdCBjb250ZXh0Lgo+Cj4g KiBGZWF0dXJlIDMuIENvbnRleHQgU3VibWlzc2lvbiBTdGF0dXMgQ29uc2lzdGVuY3kgY2hlY2tp bmcKPgo+IFNvbWV0aGluZyB0aGF0IGJlY29tZXMgYXBwYXJlbnQgd2hlbiB5b3UgcnVuIGxvbmct ZHVyYXRpb24gb3BlcmF0aW9ucyB0ZXN0cwo+IHdpdGggY29uY3VycmVudCByZW5kZXJpbmcgcHJv Y2Vzc2VzIHdpdGggaW50ZXJtaXR0ZW50bHkgaW5qZWN0ZWQgaGFuZ3MgaXMgdGhhdAo+IGl0IHNl ZW1zIGxpa2UgdGhlIEdQVSBmb3JnZXRzIHRvIHNlbmQgY29udGV4dCBjb21wbGV0aW9uIGludGVy cnVwdHMgdG8gdGhlCj4gZHJpdmVyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcy4gV2hhdCB0aGlz IG1lYW5zIGlzIHRoYXQgdGhlIGRyaXZlciBzb21ldGltZXMKPiBnZXRzIHN0dWNrIG9uIGEgY29u dGV4dCB0aGF0IG5ldmVyIHNlZW1zIHRvIGZpbmlzaCwgYWxsIHRoZSB3aGlsZSB0aGUgaGFyZHdh cmUKPiBoYXMgY29tcGxldGVkIGFuZCBpcyB3YWl0aW5nIGZvciBtb3JlIHdvcmsuCj4KPiBUaGUg cHJvYmxlbSB3aXRoIHRoaXMgaXMgdGhhdCB0aGUgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHBh dGggcmVsaWVzIG9uCj4gY29udGV4dCByZXN1Ym1pc3Npb24gdG8ga2ljayBvZmYgdGhlIGhhcmR3 YXJlIGFnYWluIGZvbGxvd2luZyBhbiBlbmdpbmUgcmVzZXQuCj4gVGhpcyBjYW4gb25seSBiZSBk b25lIHNhZmVseSBpZiB0aGUgaGFyZHdhcmUgYW5kIGRyaXZlciBzaGFyZSB0aGUgc2FtZSBvcGlu aW9uCj4gYWJvdXQgdGhlIGN1cnJlbnQgc3RhdGUuIFRoZXJlZm9yZSB3ZSd2ZSBleHRlbmRlZCB0 aGUgcGVyaW9kaWMgaGFuZyBjaGVja2VyIHRvCj4gY2hlY2sgZm9yIGNvbnRleHQgc3VibWlzc2lv biBzdGF0ZSBpbmNvbnNpc3RlbmNpZXMgYXNpZGUgZnJvbSB0aGUgaGFuZyBjaGVja2luZwo+IGl0 IGFscmVhZHkgZG9lcy4KPgo+IElmIHN1Y2ggYSBzdGF0ZSBpcyBkZXRlY3RlZCBpdCBpcyBhc3N1 bWVkIChiYXNlZCBvbiBleHBlcmllbmNlKSB0aGF0IGEgY29udGV4dAo+IGNvbXBsZXRpb24gaW50 ZXJydXB0IGhhcyBiZWVuIGxvc3Qgc29tZWhvdy4gSWYgdGhpcyBzdGF0ZSBwZXJzaXN0cyBmb3Ig c29tZQo+IHRpbWUgYW4gYXR0ZW1wdCB0byBjb3JyZWN0IGl0IGlzIG1hZGUgYnkgZmFraW5nIHRo ZSBwcmVzdW1hYmx5IGxvc3QgY29udGV4dAo+IGNvbXBsZXRpb24gaW50ZXJydXB0IGJ5IG1hbnVh bGx5IGNhbGxpbmcgdGhlIGV4ZWNsaXN0IGludGVycnVwdCBoYW5kbGVyLCB3aGljaAo+IGlzIG5v cm1hbGx5IGNhbGxlZCBmcm9tIHRoZSBtYWluIGludGVycnVwdCBoYW5kbGVyIGN1ZWQgYnkgYSBy ZWNlaXZlZCBjb250ZXh0Cj4gZXZlbnQgaW50ZXJydXB0LiBKdXN0IGJlY2F1c2UgYW4gaW50ZXJy dXB0IGdvZXMgbWlzc2luZyBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlCj4gY29udGV4dCBzdGF0dXMg YnVmZmVyIChDU0IpIGRvZXMgbm90IGdldCBhcHByb3ByaWF0ZWx5IHVwZGF0ZWQgYnkgdGhlIGhh cmR3YXJlLAo+IHdoaWNoIG1lYW5zIHRoYXQgd2UgY2FuIGV4cGVjdCB0byBmaW5kIGFsbCB0aGUg cmVjZW50IGNoYW5nZXMgdG8gdGhlIGNvbnRleHQKPiBzdGF0ZXMgZm9yIGVhY2ggZW5naW5lIGNh cHR1cmVkIHRoZXJlLiBJZiB0aGVyZSBhcmUgb3V0c3RhbmRpbmcgY29udGV4dCBzdGF0dXMKPiBj aGFuZ2VzIGluIHN0b3JlIHRoZXJlIHRoZW4gdGhlIGZha2VkIGNvbnRleHQgZXZlbnQgaW50ZXJy dXB0IHdpbGwgYWxsb3cgdGhlCj4gaW50ZXJydXB0IGhhbmRsZXIgdG8gYWN0IG9uIHRoZW0uIElu IHRoZSBjYXNlIG9mIGxvc3QgY29udGV4dCBjb21wbGV0aW9uCj4gaW50ZXJydXB0cyB0aGlzIHdp bGwgcHJvbXB0IHRoZSBkcml2ZXIgdG8gcmVtb3ZlIHRoZSBhbHJlYWR5IGNvbXBsZXRlZCBjb250 ZXh0Cj4gZnJvbSB0aGUgZXhlY2xpc3QgcXVldWUgYW5kIG1vdmUgb24gdG8gdGhlIG5leHQgcGVu ZGluZyBwaWVjZSBvZiB3b3JrIGFuZAo+IHRoZXJlYnkgZWxpbWluYXRpbmcgdGhlIGluY29uc2lz dGVuY3kuCj4KPiAqIEZlYXR1cmUgNC4gRGVidWdmcyBleHRlbnNpb25zIGZvciBwZXItZW5naW5l IGhhbmcgcmVjb3ZlcnkgYW5kIFREUi93YXRjaGRvZyB0cmFjZQo+IHBvaW50cy4KPgo+Cj4gVG9t YXMgRWxmICgxMSk6Cj4gICBkcm0vaTkxNTogRWFybHkgZXhpdCBmcm9tIHNlbWFwaG9yZV93YWl0 c19mb3IgZm9yIGV4ZWNsaXN0IG1vZGUuCj4gICBkcm0vaTkxNTogSW50cm9kdWNlIHVldmVudCBm b3IgZnVsbCBHUFUgcmVzZXQuCj4gICBkcm0vaTkxNTogQWRkIHJlc2V0IHN0YXRzIGVudHJ5IHBv aW50IGZvciBwZXItZW5naW5lIHJlc2V0Lgo+ICAgZHJtL2k5MTU6IEFkZGluZyBURFIgLyBwZXIt ZW5naW5lIHJlc2V0IHN1cHBvcnQgZm9yIGdlbjguCj4gICBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5 MTVfZ2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbgo+ICAgICBwcm9ncmVz cwo+ICAgZHJtL2k5MTU6IERpc2FibGUgd2FybmluZ3MgZm9yIFREUiBpbnRlcnJ1cHRpb25zIGlu IHRoZSBkaXNwbGF5Cj4gICAgIGRyaXZlci4KPiAgIGRybS9pOTE1OiBSZWluc3RhdGUgaGFuZyBy ZWNvdmVyeSB3b3JrIHF1ZXVlLgo+ICAgZHJtL2k5MTU6IFdhdGNoZG9nIHRpbWVvdXQgc3VwcG9y dCBmb3IgZ2VuOC4KPiAgIGRybS9pOTE1OiBGYWtlIGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRo cm91Z2ggZm9yY2VkIENTQiBjaGVjay4KPiAgIGRybS9pOTE1OiBEZWJ1Z2ZzIGludGVyZmFjZSBm b3IgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5Lgo+ICAgZHJtL2k5MTU6IFREUi93YXRjaGRvZyB0 cmFjZSBwb2ludHMuCj4KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAg IHwgIDE0NiArKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAgICAgICAg IHwgICA3OSArKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwg IDIwMSArKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg fCAgIDkxICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwg ICA5MyArKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICB8ICAg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgIDM3OCAr KysrKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgICAg fCAgIDEwICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgICAx MyArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAgICAgICB8ICAyOTggKysr KysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgICAx NiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCAgODU4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmggICAgICAgIHwgICAxNiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmNfdGRyLmggICAgfCAgIDQwICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuYyB8ICAgODcgKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmggfCAgMTA5ICsrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMg ICAgIHwgIDI0MSArKysrKysrKy0KPiAgaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAg ICAgICAgIHwgICAgNSArLQo+ICAxOCBmaWxlcyBjaGFuZ2VkLCAyNTg5IGluc2VydGlvbnMoKyks IDk0IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjX3Rkci5oCj4KPiAtLSAKPiAxLjcuOS41Cj4KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QK PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=