From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Fri, 03 Jul 2015 18:41:58 +0100 Message-ID: <5596C966.2070104@intel.com> References: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> <87lhexo5kj.fsf@gaia.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 02C6D6E3FA for ; Fri, 3 Jul 2015 10:42:00 -0700 (PDT) In-Reply-To: <87lhexo5kj.fsf@gaia.fi.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMDMvMDcvMjAxNSAxMjoxNSwgTWlrYSBLdW9wcGFsYSB3cm90ZToKPiBUb21hcyBFbGYgPHRv bWFzLmVsZkBpbnRlbC5jb20+IHdyaXRlczoKPgo+PiBUaGlzIHBhdGNoIHNlcmllcyBpbnRyb2R1 Y2VzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6Cj4+Cj4+ICogRmVhdHVyZSAxOiBURFIgKFRpbWVv dXQgRGV0ZWN0aW9uIGFuZCBSZWNvdmVyeSkgZm9yIGdlbjggZXhlY2xpc3QgbW9kZS4KPj4KPj4g VERSIGlzIGFuIHVtYnJlbGxhIHRlcm0gZm9yIGFueXRoaW5nIHRoYXQgZ29lcyBpbnRvIGRldGVj dGluZyBhbmQgcmVjb3ZlcmluZwo+PiBmcm9tIEdQVSBoYW5ncyBhbmQgaXMgYSB0ZXJtIG1vcmUg d2lkZWx5IHVzZWQgb3V0c2lkZSBvZiB0aGUgdXBzdHJlYW0gZHJpdmVyLgo+PiBUaGlzIGZlYXR1 cmUgaW50cm9kdWNlcyBhbiBleHRlbnNpYmxlIGZyYW1ld29yayB0aGF0IGN1cnJlbnRseSBzdXBw b3J0cyBnZW44Cj4+IGJ1dCB0aGF0IGNhbiBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gc3VwcG9ydCBn ZW43IGFzIHdlbGwgKHdoaWNoIGlzIGFscmVhZHkgdGhlCj4+IGNhc2UgaW4gR01JTiBidXQgdW5m b3J0dW5hdGVseSBpbiBhIG5vdCBxdWl0ZSB1cHN0cmVhbWFibGUgZm9ybSkuIFRoZSBjb2RlCj4+ IGNvbnRhaW5lZCBpbiB0aGlzIHN1Ym1pc3Npb24gcmVwcmVzZW50cyB0aGUgZXNzZW50aWFscyBv ZiB3aGF0IGlzIGN1cnJlbnRseSBpbgo+PiBHTUlOIG1lcmdlZCB3aXRoIHdoYXQgaXMgY3VycmVu dGx5IGluIHVwc3RyZWFtIChhcyBvZiB0aGUgdGltZSB3aGVuIHRoaXMgd29yawo+PiBjb21tZW5j ZWQgYSBmZXcgbW9udGhzIGJhY2spLgo+Pgo+PiBUaGlzIGZlYXR1cmUgYWRkcyBhIG5ldyBoYW5n IHJlY292ZXJ5IHBhdGggYWxvbmdzaWRlIHRoZSBsZWdhY3kgR1BVIHJlc2V0IHBhdGgsCj4+IHdo aWNoIHRha2VzIGNhcmUgb2YgZW5naW5lIHJlY292ZXJ5IG9ubHkuIEFzaWRlIGZyb20gYWRkaW5n IHN1cHBvcnQgZm9yCj4+IHBlci1lbmdpbmUgcmVjb3ZlcnkgdGhpcyBmZWF0dXJlIGFsc28gaW50 cm9kdWNlcyBydWxlcyBmb3IgaG93IHRvIHByb21vdGUgYQo+PiBwb3RlbnRpYWwgcGVyLWVuZ2lu ZSByZXNldCB0byBhIGxlZ2FjeSwgZnVsbCBHUFUgcmVzZXQuCj4+Cj4KPiBIYXZlIHlvdSBjb25z aWRlcmVkIHByb21vdGluZyBmcm9tIGZhaWxlZCBmdWxsIGdwdSByZXNldCB0byBwY2kgbGV2ZWwg cmVzZXQ/Cj4gV291bGQgcmVxdWlyZSBzb21lIGFtb3VudCBvZiByZXRoaW5raW5nIG9uIGluaXQg YXMgaXQgd291bGQga2lsbCB0aGUKPiBkaXNwbGF5IGFsc28uIE9uIGx1bmNoIFZpbGxlIHRocmV3 IGlkZWEgb2YgcHVzaGluZyB0aGUgZGV2aWNlIHRvCj4gZDMoPykgc3RhdGUgdG8ga2lsbCB0aGUg cG93ZXIuIFRoYXQgd291bGQgZ2V0IHJpZCBvZiB0aGUgbW9zdCBzdHViYm9ybgo+IHN0YXRlICh3 cnQgc2tsIGdwdSByZXNldCBwcm9ibGVtcykuCgpJIGhhdmVuJ3QgY29uc2lkZXJlZCB0aGlzIGJ1 dCBpdCBkZWZpbml0ZWx5IHNvdW5kcyBpbnRlcmVzdGluZyBpZiB3ZSBjYW4gCmdldCBzb21ldGhp bmcgbGlrZSB0aGF0IHRvIHdvcmsuIEkga25vdyB0aGF0IERhdmUgRy4gaGFzIGJlZW4gdGFsa2lu ZyAKYWJvdXQgc29tZXRoaW5nIGxpa2UgdGhpcy4gSGF2aW5nIGZvdXIgbGV2ZWxzIG9mIGhhbmcg cmVjb3Zlcnkgd2l0aCB0aGUgCmZpbmFsIG9uZSBiZWluZyBhY3R1YWwgcG93ZXIgY3ljbGluZyB3 b3VsZCBiZSB0cnVseSBhd2Vzb21lIDopLiBZb3UgCm1pZ2h0IHdhbnQgdG8gdGFsayB0byB0aGUg aGFyZHdhcmUgZ3V5cyBhYm91dCB0aGlzIGZpcnN0LCB0aG91Z2gsIHVubGVzcyAKeW91IGFyZSBm dWxseSBjb25maWRlbnQgdGhhdCBnb2luZyBiZXlvbmQgZnVsbCBHUFUgcmVzZXQgYW5kIGFjdHVh bGx5IApjdXR0aW5nIHBvd2VyIGFuZCB0aGVuIGJyaW5naW5nIGl0IHVwIGFnYWluIHdvdWxkbid0 IGNhdXNlIGFueSB3ZWlyZCAKZWZmZWN0cy4gSSByZWNrb24gdGhpcyBtaWdodCBub3QgZXhhY3Rs eSBiZSBpbiBsaW5lIHdpdGggdGhlIGludGVuZGVkIAp1c2FnZSBtb2RlbCB0aGF0IHRoZSBoYXJk d2FyZSBlbmdpbmVlcnMgaGFkIGluIG1pbmQgd2hlbiB0aGV5IGNhbWUgdXAgCndpdGggdGhlc2Ug dGhpbmdzLiBCdXQgeW91IGtub3cgbW9yZSBhYm91dCB0aGF0IHRoYW4gSSBkby4KCkknZCBsaWtl IHRvIHNlZSBhbiBSRkMgb2YgdGhpcyBpZiBhbnlvbmUgY2FuIGZsZXNoIG91dCB0aGVzZSBpZGVh cy4KClRoYW5rcywKVG9tYXMKCj4KPiAtTWlrYQo+Cj4+IFRoZSBoYW5nIGNoZWNrZXIgbm93IGlu dGVncmF0ZXMgd2l0aCB0aGUgZXJyb3IgaGFuZGxlciBpbiBhIHNsaWdodGx5IGRpZmZlcmVudAo+ PiB3YXkgaW4gdGhhdCBpdCBhbGxvd3MgaGFuZyByZWNvdmVyeSBvbiBtdWx0aXBsZSBlbmdpbmVz IGF0IHRoZSBzYW1lIHRpbWUgYnkKPj4gcGFzc2luZyBhbiBlbmdpbmUgZmxhZyBtYXNrIHRvIHRo ZSBlcnJvciBoYW5kbGVyIHdoZXJlIGZsYWdzIHJlcHJlc2VudGluZyBhbGwKPj4gb2YgdGhlIGh1 bmcgZW5naW5lcyBhcmUgc2V0LiBUaGlzIGFsbG93cyB1cyB0byBzY2hlZHVsZSBoYW5nIHJlY292 ZXJ5IG9uY2UgZm9yCj4+IGFsbCBjdXJyZW50bHkgaHVuZyBlbmdpbmVzIGluc3RlYWQgb2Ygb25l IGhhbmcgcmVjb3ZlcnkgcGVyIGRldGVjdGVkIGVuZ2luZQo+PiBoYW5nLiBQcmV2aW91c2x5LCB3 aGVuIG9ubHkgZnVsbCBHUFUgcmVzZXQgd2FzIHN1cHBvcnRlZCB0aGlzIHdhcyBhbGwgdGhlIHNh bWUKPj4gc2luY2UgaXQgd291bGRuJ3QgbWF0dGVyIGlmIG9uZSBvciBmb3VyIGVuZ2luZXMgd2Vy ZSBodW5nIGF0IGFueSBnaXZlbiBwb2ludAo+PiBzaW5jZSBpdCB3b3VsZCBhbGwgYW1vdW50IHRv IHRoZSBzYW1lIHRoaW5nIC0gdGhlIEdQVSBnZXR0aW5nIHJlc2V0LiBBcyBpdAo+PiBzdGFuZHMg bm93IHRoZSBiZWhhdmlvdXIgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB3aGljaCBlbmdpbmUg aXMgaHVuZyBzaW5jZQo+PiBlYWNoIGVuZ2luZSBpcyByZXNldCBzZXBhcmF0ZWx5IGZyb20gYWxs IHRoZSBvdGhlciBlbmdpbmVzLCB0aGVyZWZvcmUgd2UgaGF2ZQo+PiB0byB0aGluayBhYm91dCB0 aGlzIGluIHRlcm1zIG9mIHNjaGVkdWxpbmcgY29zdCBhbmQgcmVjb3ZlcnkgbGF0ZW5jeS4gKHNl ZQo+PiBvcGVuIHF1ZXN0aW9uIGJlbG93KQo+Pgo+PiBPUEVOIFFVRVNUSU9OUzoKPj4KPj4gCTEu IERvIHdlIHdhbnQgdG8gaW52ZXN0aWdhdGUgdGhlIHBvc3NpYmlsaXR5IG9mIHBlci1lbmdpbmUg aGFuZwo+PiAJZGV0ZWN0aW9uPyBJbiB0aGUgY3VycmVudCB1cHN0cmVhbSBkcml2ZXIgdGhlcmUg aXMgb25seSBvbmUgd29yayBxdWV1ZQo+PiAJdGhhdCBoYW5kbGVzIHRoZSBoYW5nIGNoZWNrZXIg YW5kIGV2ZXJ5dGhpbmcgZnJvbSBpbml0aWFsIGhhbmcKPj4gCWRldGVjdGlvbiB0byBmaW5hbCBo YW5nIHJlY292ZXJ5IHJ1bnMgaW4gdGhpcyB0aHJlYWQuIFRoaXMgbWFrZXMgc2Vuc2UKPj4gCWlm IHlvdSdyZSBvbmx5IHN1cHBvcnRpbmcgb25lIGZvcm0gb2YgaGFuZyByZWNvdmVyeSAtIHVzaW5n IGZ1bGwgR1BVCj4+IAlyZXNldCBhbmQgbm90aGluZyB0aWVkIHRvIGFueSBwYXJ0aWN1bGFyIGVu Z2luZS4gSG93ZXZlciwgYXMgcGFydAo+PiAJb2YgdGhpcyBwYXRjaCBzZXJpZXMgd2UncmUgY2hh bmdpbmcgdGhhdCBieSBpbnRyb2R1Y2luZyBwZXItZW5naW5lCj4+IAloYW5nIHJlY292ZXJ5LiBJ dCBjb3VsZCBtYWtlIHNlbnNlIHRvIGludHJvZHVjZSBtdWx0aXBsZSB3b3JrCj4+IAlxdWV1ZXMg LSBvbmUgcGVyIGVuZ2luZSAtIHRvIHJ1biBtdWx0aXBsZSBoYW5nIGNoZWNraW5nIHRocmVhZHMg aW4KPj4gCXBhcmFsbGVsLgo+Pgo+PiAJVGhpcyB3b3VsZCBwb3RlbnRpYWxseSBhbGxvdyBzYXZp bmdzIGluIHRlcm1zIG9mIHJlY292ZXJ5IGxhdGVuY3kgc2luY2UKPj4gCXdlIGRvbid0IGhhdmUg dG8gc2NhbiBhbGwgZW5naW5lcyBldmVyeSB0aW1lIHRoZSBoYW5nIGNoZWNrZXIgaXMKPj4gCXNj aGVkdWxlZCBhbmQgdGhlIGVycm9yIGhhbmRsZXIgZG9lcyBub3QgaGF2ZSB0byBzY2FuIGFsbCBl bmdpbmVzIGV2ZXJ5Cj4+IAl0aW1lIGl0IGlzIHNjaGVkdWxlZC4gSW5zdGVhZCwgd2UgY291bGQg aW1wbGVtZW50IG9uZSB3b3JrIHF1ZXVlIHBlcgo+PiAJZW5naW5lIHRoYXQgd291bGQgaW52b2tl IHRoZSBoYW5nIGNoZWNrZXIgdGhhdCBvbmx5IGNoZWNrcyBfdGhhdF8KPj4gCXBhcnRpY3VsYXIg ZW5naW5lIGFuZCB0aGVuIHRoZSBlcnJvciBoYW5kbGVyIGlzIGludm9rZWQgZm9yIF90aGF0Xwo+ PiAJcGFydGljdWxhciBlbmdpbmUuIElmIG9uZSBlbmdpbmUgaGFzIGh1bmcgdGhlIGxhdGVuY3kg Zm9yIGdldHRpbmcgdG8KPj4gCXRoZSBoYW5nIHJlY292ZXJ5IHBhdGggZm9yIHRoYXQgcGFydGlj dWxhciBlbmdpbmUgd291bGQgYmUgKFRpbWUgRm9yCj4+IAlIYW5nIENoZWNraW5nIE9uZSBFbmdp bmUpICsgKFRpbWUgRm9yIEVycm9yIEhhbmRsaW5nIE9uZSBFbmdpbmUpIHJhdGhlcgo+PiAJdGhh biB0aGUgdGltZSBpdCB0YWtlcyB0byBkbyBoYW5nIGNoZWNraW5nIGZvciBhbGwgZW5naW5lcyAr IHRoZSB0aW1lCj4+IAlpdCB0YWtlcyB0byBkbyBlcnJvciBoYW5kbGluZyBmb3IgYWxsIGVuZ2lu ZXMgdGhhdCBoYXZlIGJlZW4gZGV0ZWN0ZWQKPj4gCWFzIGh1bmcgKHdoaWNoIGluIHRoZSB3b3Jz dCBjYXNlIHdvdWxkIGJlIGFsbCBlbmdpbmVzKS4gVGhlcmUgd291bGQKPj4gCXBvdGVudGlhbGx5 IGJlIGFzIG1hbnkgaGFuZyBjaGVja2VyIGFuZCBlcnJvciBoYW5kbGluZyB0aHJlYWRzIGdvaW5n IG9uCj4+IAljb25jdXJyZW50bHkgYXMgdGhlcmUgYXJlIGVuZ2luZXMgaW4gdGhlIGhhcmR3YXJl IGJ1dCB0aGV5IHdvdWxkIGFsbCBiZQo+PiAJcnVubmluZyBpbiBwYXJhbGxlbCB3aXRob3V0IGFu eSBzaWduaWZpY2FudCBsb2NraW5nLiBUaGUgZmlyc3QgdGltZQo+PiAJd2hlcmUgYW55IHRocmVh ZCBuZWVkcyBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBkcml2ZXIgaXMgYXQgdGhlIHBvaW50Cj4+ IAlvZiB0aGUgYWN0dWFsIGhhbmcgcmVjb3ZlcnkgYnV0IHRoZSB0aW1lIGl0IHRha2VzIHRvIGdl dCB0aGVyZSB3b3VsZAo+PiAJdGhlb3JldGljYWxseSBiZSBsb3dlciBhbmQgdGhlIHRpbWUgaXQg YWN0dWFsbHkgdGFrZXMgdG8gZG8gcGVyLWVuZ2luZQo+PiAJaGFuZyByZWNvdmVyeSBpcyBxdWl0 ZSBhIGxvdCBsb3dlciB0aGFuIHRoZSB0aW1lIGl0IHRha2VzIHRvIGFjdHVhbGx5Cj4+IAlkZXRl Y3QgYSBoYW5nIHJlbGlhYmx5Lgo+Pgo+PiAJSG93IG11Y2ggd2Ugd291bGQgc2F2ZSBieSBzdWNo IGEgY2hhbmdlIHN0aWxsIG5lZWRzIHRvIGJlIGFuYWx5c2VkIGFuZAo+PiAJY29tcGFyZWQgYWdh aW5zdCB0aGUgY3VycmVudCBzaW5nbGUtdGhyZWFkIG1vZGVsIGJ1dCBpdCBtYWtlcyBzZW5zZQo+ PiAJZnJvbSBhIHRoZW9yZXRpY2FsIGRlc2lnbiBwb2ludCBvZiB2aWV3Lgo+Pgo+PiAJMi4gSG93 IGRvZXMgcGVyLWVuZ2luZSByZXNldCBpbnRlZ3JhdGUgd2l0aCB0aGUgcHVibGljIHJlc2V0IHN0 YXRzCj4+IAlJT0NUTD8gVGhlc2Ugc3RhdHMgYXJlIHVzZWQgZm9yIHRoZSBHTCByb2J1c3RuZXNz IGludGVyZmFjZSBhbmQKPj4gCWN1cnJlbnRseSB0aGVzZSB0ZXN0cyBhcmUgZmFpbGluZyB3aGVu IHJ1bm5pbmcgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5Cj4+IAlzaW5jZSB3ZSB0cmVhdCBwZXIt ZW5naW5lIHJlY292ZXJ5IGRpZmZlcmVudGx5IGZyb20gZnVsbCBHUFUgcmVjb3ZlcnksCj4+IAl3 aGljaCBpcyBub3RoaW5nIHRoYXQgdXNlcmxhbmQga25vd3MgYW55dGhpbmcgYWJvdXQuIFdoZW4g dXNlcmxhbmQKPj4gCWV4cGVjdHMgdG8gaGFuZyB0aGUgaGFyZHdhcmUgaXQgZXhwZWN0cyB0aGUg cmVzZXQgc3RhdCBpbnRlcmZhY2UgdG8KPj4gCXJlZmxlY3QgdGhpcywgd2hpY2ggaXMgc29tZXRo aW5nIHRoYXQgaGFzIGNoYW5nZWQgYXMgcGFydCBvZiB0aGlzIGNvZGUKPj4gCXN1Ym1pc3Npb24u IFRoZXJlJ3MgbW9yZSB0aGFuIG9uZSB3YXkgdG8gc29sdmUgdGhpcy4gSGVyZSBhcmUgdHdvIG9w dGlvbnM6Cj4+Cj4+IAkJMS4gRXhwb3NlIHBlci1lbmdpbmUgcmVzZXQgc3RhdGlzdGljcyBhbmQg c2V0IGNvbnRleHRzIGFzCj4+IAkJZ3VpbHR5IHRoZSBzYW1lIHdheSBmb3IgcGVyLWVuZ2luZSBy ZXNldCBhcyBmb3IgZnVsbCBHUFUKPj4gCQlyZXNldHMuCj4+Cj4+IAkJVGhhdCB3b3VsZCBtYWtl IHRoaXMgY2hhbmdlIHRvIHRoZSBoYW5nIHJlY292ZXJ5IG1lY2hhbmlzbQo+PiAJCXRyYW5zcGFy ZW50IHRvIHVzZXJsYW5kIGJ1dCBpdCB3b3VsZCBjaGFuZ2UgdGhlIHNlbWFudGljcyBzaW5jZQo+ PiAJCWFuIGFjdGl2ZSBjb250ZXh0IGluIHRoZSByZXNldCBzdGF0cyBubyBsb25nZXIgaW1wbGll cyB0aGF0IHRoZQo+PiAJCUdQVSB3YXMgZnVsbHkgcmVzZXQuCj4+Cj4+IAkJMi4gQWRkIGEgbmV3 IHNldCBvZiBzdGF0aXN0aWNzIGZvciBwZXItZW5naW5lIHJlc2V0IChvbmUgZ3JvdXAKPj4gCQlv ZiBzdGF0aXN0aWNzIGZvciBlYWNoIGVuZ2luZSkgdG8gcmVmbGVjdCB0aGUgZXh0ZW5kZWQKPj4g CQljYXBhYmlsaXRpZXMgdGhhdCBwZXItZW5naW5lIGhhbmcgcmVjb3Zlcnkgb2ZmZXJzLgo+Pgo+ PiAJCVdvdWxkIHRoYXQgYmUgYnJlYWtpbmcgdGhlIEFCST8KPj4KPj4gCQkuLi4gT3IgYXJlIHRo ZXJlIGFueSBvdGhlciB3YXkgb2YgZG9pbmcgdGhpcz8KPj4KPj4gKiBGZWF0dXJlIDI6IFdhdGNo ZG9nIFRpbWVvdXQgKGEuay5hICJtZWRpYSBlbmdpbmUgcmVzZXQiKSBmb3IgZ2VuOC4KPj4KPj4g VGhpcyBmZWF0dXJlIGFsbG93cyB1c2VybGFuZCBhcHBsaWNhdGlvbnMgdG8gY29udHJvbCB3aGV0 aGVyIG9yIG5vdCBpbmRpdmlkdWFsCj4+IGJhdGNoIGJ1ZmZlcnMgc2hvdWxkIGhhdmUgYSBmaXJz dC1sZXZlbCwgZmluZS1ncmFpbmVkLCBoYXJkd2FyZS1iYXNlZCBoYW5nCj4+IGRldGVjdGlvbiBt ZWNoYW5pc20gb24gdG9wIG9mIHRoZSBvcmRpbmFyeSwgc29mdHdhcmUtYmFzZWQgcGVyaW9kaWMg aGFuZwo+PiBjaGVja2VyIHRoYXQgaXMgYWxyZWFkeSBpbiB0aGUgZHJpdmVyLiBUaGUgYWR2YW50 YWdlIG92ZXIgcmVseWluZyBzb2xlbHkgb24gdGhlCj4+IGN1cnJlbnQgc29mdHdhcmUtYmFzZWQg aGFuZyBjaGVja2VyIGlzIHRoYXQgdGhlIHdhdGNoZG9nIHRpbWVvdXQgbWVjaGFuaXNtIGlzCj4+ IGFib3V0IDEwMDB4IHF1aWNrZXIgYW5kIG1vcmUgcHJlY2lzZS4gU2luY2UgaXQncyBub3QgYSBm dWxsIGRyaXZlci1sZXZlbCBoYW5nCj4+IGRldGVjdGlvbiBtZWNoYW5pc20gYnV0IG9ubHkgdGFy Z2V0dGluZyBvbmUgaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIgYXQgYSB0aW1lCj4+IGl0IGNhbiBh ZmZvcmQgdG8gYmUgdGhhdCBxdWljayB3aXRob3V0IHJpc2tpbmcgYW4gaW5jcmVhc2UgaW4gZmFs c2UgcG9zaXRpdmUKPj4gaGFuZyBkZXRlY3Rpb24uCj4+Cj4+IFRoaXMgZmVhdHVyZSBpbmNsdWRl cyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6Cj4+Cj4+IGEpIFdhdGNoZG9nIHRpbWVvdXQgaW50ZXJy dXB0IHNlcnZpY2Ugcm91dGluZSBmb3IgaGFuZGxpbmcgd2F0Y2hkb2cgaW50ZXJydXB0cwo+PiBh bmQgY29ubmVjdGluZyB0aGVzZSB0byBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCj4+Cj4+IGIp IEluamVjdGlvbiBvZiB3YXRjaGRvZyB0aW1lciBlbmFibGVtZW50L2NhbmNlbGxhdGlvbiBpbnN0 cnVjdGlvbnMKPj4gYmVmb3JlL2FmdGVyIHRoZSBiYXRjaCBidWZmZXIgc3RhcnQgaW5zdHJ1Y3Rp b24gaW4gdGhlIHJpbmcgYnVmZmVyIHNvIHRoYXQKPj4gd2F0Y2hkb2cgdGltZW91dCBpcyBjb25u ZWN0ZWQgdG8gdGhlIHN1Ym1pc3Npb24gb2YgYW4gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIuCj4+ Cj4+IGMpIEV4dGVuc2lvbiBvZiB0aGUgRFJNIGJhdGNoIGJ1ZmZlciBpbnRlcmZhY2UsIGV4cG9z aW5nIHRoZSB3YXRjaGRvZyB0aW1lb3V0Cj4+IGZlYXR1cmUgdG8gdXNlcmxhbmQuIFdlJ3ZlIGdv dCB0d28gb3BlbiBzb3VyY2UgZ3JvdXBzIGluIFZQRyBjdXJyZW50bHkgaW4gdGhlCj4+IHByb2Nl c3Mgb2YgaW50ZWdyYXRpbmcgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlLCB3aGljaCBzaG91bGQg bWFrZSBpdAo+PiBwcmluY2lwYWxseSBwb3NzaWJsZSB0byB1cHN0cmVhbSB0aGlzIGV4dGVuc2lv bi4KPj4KPj4gVGhlcmUgaXMgY3VycmVudGx5IGZ1bGwgd2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0 IGZvciBnZW43IGluIEdNSU4gYW5kIGl0IGlzCj4+IHF1aXRlIHNpbWlsYXIgdG8gdGhlIGdlbjgg aW1wbGVtZW50YXRpb24gc28gdGhlcmUgaXMgbm90aGluZyBvYnZpb3VzIHRoYXQKPj4gcHJldmVu dHMgdXMgZnJvbSB1cHN0cmVhbWluZyB0aGF0IGNvZGUgYWxvbmcgd2l0aCB0aGUgZ2VuOCBjb2Rl LiBIb3dldmVyLAo+PiB3YXRjaGRvZyB0aW1lb3V0IGlzIGZ1bGx5IGRlcGVuZGVudCBvbiB0aGUg cGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHBhdGggYW5kCj4+IHRoYXQgaXMgbm90IHBhcnQgb2Yg dGhpcyBjb2RlIHN1Ym1pc3Npb24gZm9yIGdlbjcuIFRoZXJlZm9yZSB3YXRjaGRvZyB0aW1lb3V0 Cj4+IHN1cHBvcnQgZm9yIGdlbjcgaGFzIGJlZW4gZXhjbHVkZWQgdW50aWwgcGVyLWVuZ2luZSBo YW5nIHJlY292ZXJ5IHN1cHBvcnQgZm9yCj4+IGdlbjcgaGFzIGxhbmRlZCB1cHN0cmVhbS4KPj4K Pj4gQXMgcGFydCBvZiB0aGlzIHN1Ym1pc3Npb24gd2UndmUgaGFkIHRvIHJlaW5zdGF0ZSB0aGUg d29yayBxdWV1ZSB0aGF0IHdhcwo+PiBwcmV2aW91c2x5IGluIHBsYWNlIGJldHdlZW4gdGhlIGVy cm9yIGhhbmRsZXIgYW5kIHRoZSBoYW5nIHJlY292ZXJ5IHBhdGguIFRoZQo+PiByZWFzb24gZm9y IHRoaXMgaXMgdGhhdCB0aGUgcGVyLWVuZ2luZSByZWNvdmVyeSBwYXRoIGlzIGNhbGxlZCBkaXJl Y3RseSBmcm9tCj4+IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBpbiB0aGUgY2FzZSBvZiB3YXRjaGRv ZyB0aW1lb3V0LiBJbiB0aGF0IHNpdHVhdGlvbgo+PiB0aGVyZSdzIG5vIHdheSBvZiBncmFiYmlu ZyB0aGUgc3RydWN0X211dGV4LCB3aGljaCBpcyBhIHJlcXVpcmVtZW50IGZvciB0aGUKPj4gaGFu ZyByZWNvdmVyeSBwYXRoLiBUaGVyZWZvcmUsIGJ5IHJlaW5zdGF0aW5nIHRoZSB3b3JrIHF1ZXVl IHdlIHByb3ZpZGUgYQo+PiB1bmlmaWVkIGV4ZWN1dGlvbiBjb250ZXh0IGZvciB0aGUgaGFuZyBy ZWNvdmVyeSBjb2RlIHRoYXQgYWxsb3dzIHRoZSBoYW5nCj4+IHJlY292ZXJ5IGNvZGUgdG8gZ3Jh YiB3aGF0ZXZlciBsb2NrcyBpdCBuZWVkcyB3aXRob3V0IHNhY3JpZmljaW5nIGludGVycnVwdAo+ PiBsYXRlbmN5IHRvbyBtdWNoIG9yIHNsZWVwaW5nIGluZGVmaW5pdGVseSBpbiBoYXJkIGludGVy cnVwdCBjb250ZXh0Lgo+Pgo+PiAqIEZlYXR1cmUgMy4gQ29udGV4dCBTdWJtaXNzaW9uIFN0YXR1 cyBDb25zaXN0ZW5jeSBjaGVja2luZwo+Pgo+PiBTb21ldGhpbmcgdGhhdCBiZWNvbWVzIGFwcGFy ZW50IHdoZW4geW91IHJ1biBsb25nLWR1cmF0aW9uIG9wZXJhdGlvbnMgdGVzdHMKPj4gd2l0aCBj b25jdXJyZW50IHJlbmRlcmluZyBwcm9jZXNzZXMgd2l0aCBpbnRlcm1pdHRlbnRseSBpbmplY3Rl ZCBoYW5ncyBpcyB0aGF0Cj4+IGl0IHNlZW1zIGxpa2UgdGhlIEdQVSBmb3JnZXRzIHRvIHNlbmQg Y29udGV4dCBjb21wbGV0aW9uIGludGVycnVwdHMgdG8gdGhlCj4+IGRyaXZlciB1bmRlciBzb21l IGNpcmN1bXN0YW5jZXMuIFdoYXQgdGhpcyBtZWFucyBpcyB0aGF0IHRoZSBkcml2ZXIgc29tZXRp bWVzCj4+IGdldHMgc3R1Y2sgb24gYSBjb250ZXh0IHRoYXQgbmV2ZXIgc2VlbXMgdG8gZmluaXNo LCBhbGwgdGhlIHdoaWxlIHRoZSBoYXJkd2FyZQo+PiBoYXMgY29tcGxldGVkIGFuZCBpcyB3YWl0 aW5nIGZvciBtb3JlIHdvcmsuCj4+Cj4+IFRoZSBwcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0IHRo ZSBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkgcGF0aCByZWxpZXMgb24KPj4gY29udGV4dCByZXN1 Ym1pc3Npb24gdG8ga2ljayBvZmYgdGhlIGhhcmR3YXJlIGFnYWluIGZvbGxvd2luZyBhbiBlbmdp bmUgcmVzZXQuCj4+IFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBzYWZlbHkgaWYgdGhlIGhhcmR3YXJl IGFuZCBkcml2ZXIgc2hhcmUgdGhlIHNhbWUgb3Bpbmlvbgo+PiBhYm91dCB0aGUgY3VycmVudCBz dGF0ZS4gVGhlcmVmb3JlIHdlJ3ZlIGV4dGVuZGVkIHRoZSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIg dG8KPj4gY2hlY2sgZm9yIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0ZSBpbmNvbnNpc3RlbmNpZXMg YXNpZGUgZnJvbSB0aGUgaGFuZyBjaGVja2luZwo+PiBpdCBhbHJlYWR5IGRvZXMuCj4+Cj4+IElm IHN1Y2ggYSBzdGF0ZSBpcyBkZXRlY3RlZCBpdCBpcyBhc3N1bWVkIChiYXNlZCBvbiBleHBlcmll bmNlKSB0aGF0IGEgY29udGV4dAo+PiBjb21wbGV0aW9uIGludGVycnVwdCBoYXMgYmVlbiBsb3N0 IHNvbWVob3cuIElmIHRoaXMgc3RhdGUgcGVyc2lzdHMgZm9yIHNvbWUKPj4gdGltZSBhbiBhdHRl bXB0IHRvIGNvcnJlY3QgaXQgaXMgbWFkZSBieSBmYWtpbmcgdGhlIHByZXN1bWFibHkgbG9zdCBj b250ZXh0Cj4+IGNvbXBsZXRpb24gaW50ZXJydXB0IGJ5IG1hbnVhbGx5IGNhbGxpbmcgdGhlIGV4 ZWNsaXN0IGludGVycnVwdCBoYW5kbGVyLCB3aGljaAo+PiBpcyBub3JtYWxseSBjYWxsZWQgZnJv bSB0aGUgbWFpbiBpbnRlcnJ1cHQgaGFuZGxlciBjdWVkIGJ5IGEgcmVjZWl2ZWQgY29udGV4dAo+ PiBldmVudCBpbnRlcnJ1cHQuIEp1c3QgYmVjYXVzZSBhbiBpbnRlcnJ1cHQgZ29lcyBtaXNzaW5n IGRvZXMgbm90IG1lYW4gdGhhdCB0aGUKPj4gY29udGV4dCBzdGF0dXMgYnVmZmVyIChDU0IpIGRv ZXMgbm90IGdldCBhcHByb3ByaWF0ZWx5IHVwZGF0ZWQgYnkgdGhlIGhhcmR3YXJlLAo+PiB3aGlj aCBtZWFucyB0aGF0IHdlIGNhbiBleHBlY3QgdG8gZmluZCBhbGwgdGhlIHJlY2VudCBjaGFuZ2Vz IHRvIHRoZSBjb250ZXh0Cj4+IHN0YXRlcyBmb3IgZWFjaCBlbmdpbmUgY2FwdHVyZWQgdGhlcmUu IElmIHRoZXJlIGFyZSBvdXRzdGFuZGluZyBjb250ZXh0IHN0YXR1cwo+PiBjaGFuZ2VzIGluIHN0 b3JlIHRoZXJlIHRoZW4gdGhlIGZha2VkIGNvbnRleHQgZXZlbnQgaW50ZXJydXB0IHdpbGwgYWxs b3cgdGhlCj4+IGludGVycnVwdCBoYW5kbGVyIHRvIGFjdCBvbiB0aGVtLiBJbiB0aGUgY2FzZSBv ZiBsb3N0IGNvbnRleHQgY29tcGxldGlvbgo+PiBpbnRlcnJ1cHRzIHRoaXMgd2lsbCBwcm9tcHQg dGhlIGRyaXZlciB0byByZW1vdmUgdGhlIGFscmVhZHkgY29tcGxldGVkIGNvbnRleHQKPj4gZnJv bSB0aGUgZXhlY2xpc3QgcXVldWUgYW5kIG1vdmUgb24gdG8gdGhlIG5leHQgcGVuZGluZyBwaWVj ZSBvZiB3b3JrIGFuZAo+PiB0aGVyZWJ5IGVsaW1pbmF0aW5nIHRoZSBpbmNvbnNpc3RlbmN5Lgo+ Pgo+PiAqIEZlYXR1cmUgNC4gRGVidWdmcyBleHRlbnNpb25zIGZvciBwZXItZW5naW5lIGhhbmcg cmVjb3ZlcnkgYW5kIFREUi93YXRjaGRvZyB0cmFjZQo+PiBwb2ludHMuCj4+Cj4+Cj4+IFRvbWFz IEVsZiAoMTEpOgo+PiAgICBkcm0vaTkxNTogRWFybHkgZXhpdCBmcm9tIHNlbWFwaG9yZV93YWl0 c19mb3IgZm9yIGV4ZWNsaXN0IG1vZGUuCj4+ICAgIGRybS9pOTE1OiBJbnRyb2R1Y2UgdWV2ZW50 IGZvciBmdWxsIEdQVSByZXNldC4KPj4gICAgZHJtL2k5MTU6IEFkZCByZXNldCBzdGF0cyBlbnRy eSBwb2ludCBmb3IgcGVyLWVuZ2luZSByZXNldC4KPj4gICAgZHJtL2k5MTU6IEFkZGluZyBURFIg LyBwZXItZW5naW5lIHJlc2V0IHN1cHBvcnQgZm9yIGdlbjguCj4+ICAgIGRybS9pOTE1OiBFeHRl bmRpbmcgaTkxNV9nZW1fY2hlY2tfd2VkZ2UgdG8gY2hlY2sgZW5naW5lIHJlc2V0IGluCj4+ICAg ICAgcHJvZ3Jlc3MKPj4gICAgZHJtL2k5MTU6IERpc2FibGUgd2FybmluZ3MgZm9yIFREUiBpbnRl cnJ1cHRpb25zIGluIHRoZSBkaXNwbGF5Cj4+ICAgICAgZHJpdmVyLgo+PiAgICBkcm0vaTkxNTog UmVpbnN0YXRlIGhhbmcgcmVjb3Zlcnkgd29yayBxdWV1ZS4KPj4gICAgZHJtL2k5MTU6IFdhdGNo ZG9nIHRpbWVvdXQgc3VwcG9ydCBmb3IgZ2VuOC4KPj4gICAgZHJtL2k5MTU6IEZha2UgbG9zdCBj b250ZXh0IGludGVycnVwdHMgdGhyb3VnaCBmb3JjZWQgQ1NCIGNoZWNrLgo+PiAgICBkcm0vaTkx NTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeS4KPj4gICAg ZHJtL2k5MTU6IFREUi93YXRjaGRvZyB0cmFjZSBwb2ludHMuCj4+Cj4+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgIDE0NiArKysrKy0KPj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RtYS5jICAgICAgICAgfCAgIDc5ICsrKwo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8ICAyMDEgKysrKysrKysKPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgIDkxICsrKy0KPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgIDkzICsrKy0KPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgfCAgICAyICstCj4+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgIDM3OCArKysrKysrKysrKystLQo+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgICAgICB8ICAgMTAgKwo+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICB8ICAgMTMgKwo+PiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAgICAgICB8ICAyOTggKysrKysrKysrKysKPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgfCAgIDE2ICstCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgIDg1OCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmggICAgICAgIHwgICAxNiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyY190 ZHIuaCAgICB8ICAgNDAgKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMgfCAgIDg3ICsrKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmggfCAgMTA5ICsrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyAgICAgfCAgMjQxICsrKysrKysrLQo+PiAgIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAg ICAgICAgICAgICB8ICAgIDUgKy0KPj4gICAxOCBmaWxlcyBjaGFuZ2VkLCAyNTg5IGluc2VydGlv bnMoKyksIDk0IGRlbGV0aW9ucygtKQo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmNfdGRyLmgKPj4KPj4gLS0KPj4gMS43LjkuNQo+Pgo+PiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK