From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Tue, 23 Jun 2015 12:05:51 +0200 Message-ID: <20150623100551.GT25769@phenom.ffwll.local> 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 mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTP id D8A2C6E927 for ; Tue, 23 Jun 2015 03:03:04 -0700 (PDT) Received: by wicgi11 with SMTP id gi11so11449820wic.0 for ; Tue, 23 Jun 2015 03:03:04 -0700 (PDT) Content-Disposition: inline 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 Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org WW91ciBwYXRjaGVzIGRvbid0IGFwcGx5IGNsZWFubHkgYW55IG1vcmUgYW5kIEkgY2FuJ3QgZmlu ZCBhIHN1aXRhYmxlCmJhc2VsaW5lIHdoZXJlIHRoZXkgd291bGQuIEJ1dCBJJ2QgbGlrZSB0byBz ZWUgaXQgYWxsIGluIGNvbnRleHQgdG8gY2hlY2sKYSBmZXcgdGhpbmdzLgoKQ2FuIHlvdSBwbHMg cHVzaCBhIGdpdCBicmFuY2ggd2l0aCB0aGVzZSBzb21ld2hlcmU/CgpUaGFua3MsIERhbmllbAoK T24gTW9uLCBKdW4gMDgsIDIwMTUgYXQgMDY6MDM6MThQTSArMDEwMCwgVG9tYXMgRWxmIHdyb3Rl Ogo+IFRoaXMgcGF0Y2ggc2VyaWVzIGludHJvZHVjZXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoK PiAKPiAqIEZlYXR1cmUgMTogVERSIChUaW1lb3V0IERldGVjdGlvbiBhbmQgUmVjb3ZlcnkpIGZv ciBnZW44IGV4ZWNsaXN0IG1vZGUuCj4gCj4gVERSIGlzIGFuIHVtYnJlbGxhIHRlcm0gZm9yIGFu eXRoaW5nIHRoYXQgZ29lcyBpbnRvIGRldGVjdGluZyBhbmQgcmVjb3ZlcmluZwo+IGZyb20gR1BV IGhhbmdzIGFuZCBpcyBhIHRlcm0gbW9yZSB3aWRlbHkgdXNlZCBvdXRzaWRlIG9mIHRoZSB1cHN0 cmVhbSBkcml2ZXIuCj4gVGhpcyBmZWF0dXJlIGludHJvZHVjZXMgYW4gZXh0ZW5zaWJsZSBmcmFt ZXdvcmsgdGhhdCBjdXJyZW50bHkgc3VwcG9ydHMgZ2VuOAo+IGJ1dCB0aGF0IGNhbiBiZSBlYXNp bHkgZXh0ZW5kZWQgdG8gc3VwcG9ydCBnZW43IGFzIHdlbGwgKHdoaWNoIGlzIGFscmVhZHkgdGhl Cj4gY2FzZSBpbiBHTUlOIGJ1dCB1bmZvcnR1bmF0ZWx5IGluIGEgbm90IHF1aXRlIHVwc3RyZWFt YWJsZSBmb3JtKS4gVGhlIGNvZGUKPiBjb250YWluZWQgaW4gdGhpcyBzdWJtaXNzaW9uIHJlcHJl c2VudHMgdGhlIGVzc2VudGlhbHMgb2Ygd2hhdCBpcyBjdXJyZW50bHkgaW4KPiBHTUlOIG1lcmdl ZCB3aXRoIHdoYXQgaXMgY3VycmVudGx5IGluIHVwc3RyZWFtIChhcyBvZiB0aGUgdGltZSB3aGVu IHRoaXMgd29yawo+IGNvbW1lbmNlZCBhIGZldyBtb250aHMgYmFjaykuCj4gCj4gVGhpcyBmZWF0 dXJlIGFkZHMgYSBuZXcgaGFuZyByZWNvdmVyeSBwYXRoIGFsb25nc2lkZSB0aGUgbGVnYWN5IEdQ VSByZXNldCBwYXRoLAo+IHdoaWNoIHRha2VzIGNhcmUgb2YgZW5naW5lIHJlY292ZXJ5IG9ubHku IEFzaWRlIGZyb20gYWRkaW5nIHN1cHBvcnQgZm9yCj4gcGVyLWVuZ2luZSByZWNvdmVyeSB0aGlz IGZlYXR1cmUgYWxzbyBpbnRyb2R1Y2VzIHJ1bGVzIGZvciBob3cgdG8gcHJvbW90ZSBhCj4gcG90 ZW50aWFsIHBlci1lbmdpbmUgcmVzZXQgdG8gYSBsZWdhY3ksIGZ1bGwgR1BVIHJlc2V0Lgo+IAo+ IFRoZSBoYW5nIGNoZWNrZXIgbm93IGludGVncmF0ZXMgd2l0aCB0aGUgZXJyb3IgaGFuZGxlciBp biBhIHNsaWdodGx5IGRpZmZlcmVudAo+IHdheSBpbiB0aGF0IGl0IGFsbG93cyBoYW5nIHJlY292 ZXJ5IG9uIG11bHRpcGxlIGVuZ2luZXMgYXQgdGhlIHNhbWUgdGltZSBieQo+IHBhc3NpbmcgYW4g ZW5naW5lIGZsYWcgbWFzayB0byB0aGUgZXJyb3IgaGFuZGxlciB3aGVyZSBmbGFncyByZXByZXNl bnRpbmcgYWxsCj4gb2YgdGhlIGh1bmcgZW5naW5lcyBhcmUgc2V0LiBUaGlzIGFsbG93cyB1cyB0 byBzY2hlZHVsZSBoYW5nIHJlY292ZXJ5IG9uY2UgZm9yCj4gYWxsIGN1cnJlbnRseSBodW5nIGVu Z2luZXMgaW5zdGVhZCBvZiBvbmUgaGFuZyByZWNvdmVyeSBwZXIgZGV0ZWN0ZWQgZW5naW5lCj4g aGFuZy4gUHJldmlvdXNseSwgd2hlbiBvbmx5IGZ1bGwgR1BVIHJlc2V0IHdhcyBzdXBwb3J0ZWQg dGhpcyB3YXMgYWxsIHRoZSBzYW1lCj4gc2luY2UgaXQgd291bGRuJ3QgbWF0dGVyIGlmIG9uZSBv ciBmb3VyIGVuZ2luZXMgd2VyZSBodW5nIGF0IGFueSBnaXZlbiBwb2ludAo+IHNpbmNlIGl0IHdv dWxkIGFsbCBhbW91bnQgdG8gdGhlIHNhbWUgdGhpbmcgLSB0aGUgR1BVIGdldHRpbmcgcmVzZXQu IEFzIGl0Cj4gc3RhbmRzIG5vdyB0aGUgYmVoYXZpb3VyIGlzIGRpZmZlcmVudCBkZXBlbmRpbmcg b24gd2hpY2ggZW5naW5lIGlzIGh1bmcgc2luY2UKPiBlYWNoIGVuZ2luZSBpcyByZXNldCBzZXBh cmF0ZWx5IGZyb20gYWxsIHRoZSBvdGhlciBlbmdpbmVzLCB0aGVyZWZvcmUgd2UgaGF2ZQo+IHRv IHRoaW5rIGFib3V0IHRoaXMgaW4gdGVybXMgb2Ygc2NoZWR1bGluZyBjb3N0IGFuZCByZWNvdmVy eSBsYXRlbmN5LiAoc2VlCj4gb3BlbiBxdWVzdGlvbiBiZWxvdykKPiAKPiBPUEVOIFFVRVNUSU9O UzoKPiAKPiAJMS4gRG8gd2Ugd2FudCB0byBpbnZlc3RpZ2F0ZSB0aGUgcG9zc2liaWxpdHkgb2Yg cGVyLWVuZ2luZSBoYW5nCj4gCWRldGVjdGlvbj8gSW4gdGhlIGN1cnJlbnQgdXBzdHJlYW0gZHJp dmVyIHRoZXJlIGlzIG9ubHkgb25lIHdvcmsgcXVldWUKPiAJdGhhdCBoYW5kbGVzIHRoZSBoYW5n IGNoZWNrZXIgYW5kIGV2ZXJ5dGhpbmcgZnJvbSBpbml0aWFsIGhhbmcKPiAJZGV0ZWN0aW9uIHRv IGZpbmFsIGhhbmcgcmVjb3ZlcnkgcnVucyBpbiB0aGlzIHRocmVhZC4gVGhpcyBtYWtlcyBzZW5z ZQo+IAlpZiB5b3UncmUgb25seSBzdXBwb3J0aW5nIG9uZSBmb3JtIG9mIGhhbmcgcmVjb3Zlcnkg LSB1c2luZyBmdWxsIEdQVQo+IAlyZXNldCBhbmQgbm90aGluZyB0aWVkIHRvIGFueSBwYXJ0aWN1 bGFyIGVuZ2luZS4gSG93ZXZlciwgYXMgcGFydAo+IAlvZiB0aGlzIHBhdGNoIHNlcmllcyB3ZSdy ZSBjaGFuZ2luZyB0aGF0IGJ5IGludHJvZHVjaW5nIHBlci1lbmdpbmUKPiAJaGFuZyByZWNvdmVy eS4gSXQgY291bGQgbWFrZSBzZW5zZSB0byBpbnRyb2R1Y2UgbXVsdGlwbGUgd29yawo+IAlxdWV1 ZXMgLSBvbmUgcGVyIGVuZ2luZSAtIHRvIHJ1biBtdWx0aXBsZSBoYW5nIGNoZWNraW5nIHRocmVh ZHMgaW4KPiAJcGFyYWxsZWwuCj4gCj4gCVRoaXMgd291bGQgcG90ZW50aWFsbHkgYWxsb3cgc2F2 aW5ncyBpbiB0ZXJtcyBvZiByZWNvdmVyeSBsYXRlbmN5IHNpbmNlCj4gCXdlIGRvbid0IGhhdmUg dG8gc2NhbiBhbGwgZW5naW5lcyBldmVyeSB0aW1lIHRoZSBoYW5nIGNoZWNrZXIgaXMKPiAJc2No ZWR1bGVkIGFuZCB0aGUgZXJyb3IgaGFuZGxlciBkb2VzIG5vdCBoYXZlIHRvIHNjYW4gYWxsIGVu Z2luZXMgZXZlcnkKPiAJdGltZSBpdCBpcyBzY2hlZHVsZWQuIEluc3RlYWQsIHdlIGNvdWxkIGlt cGxlbWVudCBvbmUgd29yayBxdWV1ZSBwZXIKPiAJZW5naW5lIHRoYXQgd291bGQgaW52b2tlIHRo ZSBoYW5nIGNoZWNrZXIgdGhhdCBvbmx5IGNoZWNrcyBfdGhhdF8KPiAJcGFydGljdWxhciBlbmdp bmUgYW5kIHRoZW4gdGhlIGVycm9yIGhhbmRsZXIgaXMgaW52b2tlZCBmb3IgX3RoYXRfCj4gCXBh cnRpY3VsYXIgZW5naW5lLiBJZiBvbmUgZW5naW5lIGhhcyBodW5nIHRoZSBsYXRlbmN5IGZvciBn ZXR0aW5nIHRvCj4gCXRoZSBoYW5nIHJlY292ZXJ5IHBhdGggZm9yIHRoYXQgcGFydGljdWxhciBl bmdpbmUgd291bGQgYmUgKFRpbWUgRm9yCj4gCUhhbmcgQ2hlY2tpbmcgT25lIEVuZ2luZSkgKyAo VGltZSBGb3IgRXJyb3IgSGFuZGxpbmcgT25lIEVuZ2luZSkgcmF0aGVyCj4gCXRoYW4gdGhlIHRp bWUgaXQgdGFrZXMgdG8gZG8gaGFuZyBjaGVja2luZyBmb3IgYWxsIGVuZ2luZXMgKyB0aGUgdGlt ZQo+IAlpdCB0YWtlcyB0byBkbyBlcnJvciBoYW5kbGluZyBmb3IgYWxsIGVuZ2luZXMgdGhhdCBo YXZlIGJlZW4gZGV0ZWN0ZWQKPiAJYXMgaHVuZyAod2hpY2ggaW4gdGhlIHdvcnN0IGNhc2Ugd291 bGQgYmUgYWxsIGVuZ2luZXMpLiBUaGVyZSB3b3VsZAo+IAlwb3RlbnRpYWxseSBiZSBhcyBtYW55 IGhhbmcgY2hlY2tlciBhbmQgZXJyb3IgaGFuZGxpbmcgdGhyZWFkcyBnb2luZyBvbgo+IAljb25j dXJyZW50bHkgYXMgdGhlcmUgYXJlIGVuZ2luZXMgaW4gdGhlIGhhcmR3YXJlIGJ1dCB0aGV5IHdv dWxkIGFsbCBiZQo+IAlydW5uaW5nIGluIHBhcmFsbGVsIHdpdGhvdXQgYW55IHNpZ25pZmljYW50 IGxvY2tpbmcuIFRoZSBmaXJzdCB0aW1lCj4gCXdoZXJlIGFueSB0aHJlYWQgbmVlZHMgZXhjbHVz aXZlIGFjY2VzcyB0byB0aGUgZHJpdmVyIGlzIGF0IHRoZSBwb2ludAo+IAlvZiB0aGUgYWN0dWFs IGhhbmcgcmVjb3ZlcnkgYnV0IHRoZSB0aW1lIGl0IHRha2VzIHRvIGdldCB0aGVyZSB3b3VsZAo+ IAl0aGVvcmV0aWNhbGx5IGJlIGxvd2VyIGFuZCB0aGUgdGltZSBpdCBhY3R1YWxseSB0YWtlcyB0 byBkbyBwZXItZW5naW5lCj4gCWhhbmcgcmVjb3ZlcnkgaXMgcXVpdGUgYSBsb3QgbG93ZXIgdGhh biB0aGUgdGltZSBpdCB0YWtlcyB0byBhY3R1YWxseQo+IAlkZXRlY3QgYSBoYW5nIHJlbGlhYmx5 Lgo+IAo+IAlIb3cgbXVjaCB3ZSB3b3VsZCBzYXZlIGJ5IHN1Y2ggYSBjaGFuZ2Ugc3RpbGwgbmVl ZHMgdG8gYmUgYW5hbHlzZWQgYW5kCj4gCWNvbXBhcmVkIGFnYWluc3QgdGhlIGN1cnJlbnQgc2lu Z2xlLXRocmVhZCBtb2RlbCBidXQgaXQgbWFrZXMgc2Vuc2UKPiAJZnJvbSBhIHRoZW9yZXRpY2Fs IGRlc2lnbiBwb2ludCBvZiB2aWV3Lgo+IAo+IAkyLiBIb3cgZG9lcyBwZXItZW5naW5lIHJlc2V0 IGludGVncmF0ZSB3aXRoIHRoZSBwdWJsaWMgcmVzZXQgc3RhdHMKPiAJSU9DVEw/IFRoZXNlIHN0 YXRzIGFyZSB1c2VkIGZvciB0aGUgR0wgcm9idXN0bmVzcyBpbnRlcmZhY2UgYW5kCj4gCWN1cnJl bnRseSB0aGVzZSB0ZXN0cyBhcmUgZmFpbGluZyB3aGVuIHJ1bm5pbmcgcGVyLWVuZ2luZSBoYW5n IHJlY292ZXJ5Cj4gCXNpbmNlIHdlIHRyZWF0IHBlci1lbmdpbmUgcmVjb3ZlcnkgZGlmZmVyZW50 bHkgZnJvbSBmdWxsIEdQVSByZWNvdmVyeSwKPiAJd2hpY2ggaXMgbm90aGluZyB0aGF0IHVzZXJs YW5kIGtub3dzIGFueXRoaW5nIGFib3V0LiBXaGVuIHVzZXJsYW5kCj4gCWV4cGVjdHMgdG8gaGFu ZyB0aGUgaGFyZHdhcmUgaXQgZXhwZWN0cyB0aGUgcmVzZXQgc3RhdCBpbnRlcmZhY2UgdG8KPiAJ cmVmbGVjdCB0aGlzLCB3aGljaCBpcyBzb21ldGhpbmcgdGhhdCBoYXMgY2hhbmdlZCBhcyBwYXJ0 IG9mIHRoaXMgY29kZQo+IAlzdWJtaXNzaW9uLiBUaGVyZSdzIG1vcmUgdGhhbiBvbmUgd2F5IHRv IHNvbHZlIHRoaXMuIEhlcmUgYXJlIHR3byBvcHRpb25zOgo+IAo+IAkJMS4gRXhwb3NlIHBlci1l bmdpbmUgcmVzZXQgc3RhdGlzdGljcyBhbmQgc2V0IGNvbnRleHRzIGFzCj4gCQlndWlsdHkgdGhl IHNhbWUgd2F5IGZvciBwZXItZW5naW5lIHJlc2V0IGFzIGZvciBmdWxsIEdQVQo+IAkJcmVzZXRz Lgo+IAo+IAkJVGhhdCB3b3VsZCBtYWtlIHRoaXMgY2hhbmdlIHRvIHRoZSBoYW5nIHJlY292ZXJ5 IG1lY2hhbmlzbQo+IAkJdHJhbnNwYXJlbnQgdG8gdXNlcmxhbmQgYnV0IGl0IHdvdWxkIGNoYW5n ZSB0aGUgc2VtYW50aWNzIHNpbmNlCj4gCQlhbiBhY3RpdmUgY29udGV4dCBpbiB0aGUgcmVzZXQg c3RhdHMgbm8gbG9uZ2VyIGltcGxpZXMgdGhhdCB0aGUKPiAJCUdQVSB3YXMgZnVsbHkgcmVzZXQu Cj4gCj4gCQkyLiBBZGQgYSBuZXcgc2V0IG9mIHN0YXRpc3RpY3MgZm9yIHBlci1lbmdpbmUgcmVz ZXQgKG9uZSBncm91cAo+IAkJb2Ygc3RhdGlzdGljcyBmb3IgZWFjaCBlbmdpbmUpIHRvIHJlZmxl Y3QgdGhlIGV4dGVuZGVkCj4gCQljYXBhYmlsaXRpZXMgdGhhdCBwZXItZW5naW5lIGhhbmcgcmVj b3Zlcnkgb2ZmZXJzLgo+IAo+IAkJV291bGQgdGhhdCBiZSBicmVha2luZyB0aGUgQUJJPwo+IAo+ IAkJLi4uIE9yIGFyZSB0aGVyZSBhbnkgb3RoZXIgd2F5IG9mIGRvaW5nIHRoaXM/Cj4gCj4gKiBG ZWF0dXJlIDI6IFdhdGNoZG9nIFRpbWVvdXQgKGEuay5hICJtZWRpYSBlbmdpbmUgcmVzZXQiKSBm b3IgZ2VuOC4KPiAKPiBUaGlzIGZlYXR1cmUgYWxsb3dzIHVzZXJsYW5kIGFwcGxpY2F0aW9ucyB0 byBjb250cm9sIHdoZXRoZXIgb3Igbm90IGluZGl2aWR1YWwKPiBiYXRjaCBidWZmZXJzIHNob3Vs ZCBoYXZlIGEgZmlyc3QtbGV2ZWwsIGZpbmUtZ3JhaW5lZCwgaGFyZHdhcmUtYmFzZWQgaGFuZwo+ IGRldGVjdGlvbiBtZWNoYW5pc20gb24gdG9wIG9mIHRoZSBvcmRpbmFyeSwgc29mdHdhcmUtYmFz ZWQgcGVyaW9kaWMgaGFuZwo+IGNoZWNrZXIgdGhhdCBpcyBhbHJlYWR5IGluIHRoZSBkcml2ZXIu IFRoZSBhZHZhbnRhZ2Ugb3ZlciByZWx5aW5nIHNvbGVseSBvbiB0aGUKPiBjdXJyZW50IHNvZnR3 YXJlLWJhc2VkIGhhbmcgY2hlY2tlciBpcyB0aGF0IHRoZSB3YXRjaGRvZyB0aW1lb3V0IG1lY2hh bmlzbSBpcwo+IGFib3V0IDEwMDB4IHF1aWNrZXIgYW5kIG1vcmUgcHJlY2lzZS4gU2luY2UgaXQn cyBub3QgYSBmdWxsIGRyaXZlci1sZXZlbCBoYW5nCj4gZGV0ZWN0aW9uIG1lY2hhbmlzbSBidXQg b25seSB0YXJnZXR0aW5nIG9uZSBpbmRpdmlkdWFsIGJhdGNoIGJ1ZmZlciBhdCBhIHRpbWUKPiBp dCBjYW4gYWZmb3JkIHRvIGJlIHRoYXQgcXVpY2sgd2l0aG91dCByaXNraW5nIGFuIGluY3JlYXNl IGluIGZhbHNlIHBvc2l0aXZlCj4gaGFuZyBkZXRlY3Rpb24uCj4gCj4gVGhpcyBmZWF0dXJlIGlu Y2x1ZGVzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKPiAKPiBhKSBXYXRjaGRvZyB0aW1lb3V0IGlu dGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgZm9yIGhhbmRsaW5nIHdhdGNoZG9nIGludGVycnVwdHMK PiBhbmQgY29ubmVjdGluZyB0aGVzZSB0byBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCj4gCj4g YikgSW5qZWN0aW9uIG9mIHdhdGNoZG9nIHRpbWVyIGVuYWJsZW1lbnQvY2FuY2VsbGF0aW9uIGlu c3RydWN0aW9ucwo+IGJlZm9yZS9hZnRlciB0aGUgYmF0Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0 aW9uIGluIHRoZSByaW5nIGJ1ZmZlciBzbyB0aGF0Cj4gd2F0Y2hkb2cgdGltZW91dCBpcyBjb25u ZWN0ZWQgdG8gdGhlIHN1Ym1pc3Npb24gb2YgYW4gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIuCj4g Cj4gYykgRXh0ZW5zaW9uIG9mIHRoZSBEUk0gYmF0Y2ggYnVmZmVyIGludGVyZmFjZSwgZXhwb3Np bmcgdGhlIHdhdGNoZG9nIHRpbWVvdXQKPiBmZWF0dXJlIHRvIHVzZXJsYW5kLiBXZSd2ZSBnb3Qg dHdvIG9wZW4gc291cmNlIGdyb3VwcyBpbiBWUEcgY3VycmVudGx5IGluIHRoZQo+IHByb2Nlc3Mg b2YgaW50ZWdyYXRpbmcgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlLCB3aGljaCBzaG91bGQgbWFr ZSBpdAo+IHByaW5jaXBhbGx5IHBvc3NpYmxlIHRvIHVwc3RyZWFtIHRoaXMgZXh0ZW5zaW9uLgo+ IAo+IFRoZXJlIGlzIGN1cnJlbnRseSBmdWxsIHdhdGNoZG9nIHRpbWVvdXQgc3VwcG9ydCBmb3Ig Z2VuNyBpbiBHTUlOIGFuZCBpdCBpcwo+IHF1aXRlIHNpbWlsYXIgdG8gdGhlIGdlbjggaW1wbGVt ZW50YXRpb24gc28gdGhlcmUgaXMgbm90aGluZyBvYnZpb3VzIHRoYXQKPiBwcmV2ZW50cyB1cyBm cm9tIHVwc3RyZWFtaW5nIHRoYXQgY29kZSBhbG9uZyB3aXRoIHRoZSBnZW44IGNvZGUuIEhvd2V2 ZXIsCj4gd2F0Y2hkb2cgdGltZW91dCBpcyBmdWxseSBkZXBlbmRlbnQgb24gdGhlIHBlci1lbmdp bmUgaGFuZyByZWNvdmVyeSBwYXRoIGFuZAo+IHRoYXQgaXMgbm90IHBhcnQgb2YgdGhpcyBjb2Rl IHN1Ym1pc3Npb24gZm9yIGdlbjcuIFRoZXJlZm9yZSB3YXRjaGRvZyB0aW1lb3V0Cj4gc3VwcG9y dCBmb3IgZ2VuNyBoYXMgYmVlbiBleGNsdWRlZCB1bnRpbCBwZXItZW5naW5lIGhhbmcgcmVjb3Zl cnkgc3VwcG9ydCBmb3IKPiBnZW43IGhhcyBsYW5kZWQgdXBzdHJlYW0uCj4gCj4gQXMgcGFydCBv ZiB0aGlzIHN1Ym1pc3Npb24gd2UndmUgaGFkIHRvIHJlaW5zdGF0ZSB0aGUgd29yayBxdWV1ZSB0 aGF0IHdhcwo+IHByZXZpb3VzbHkgaW4gcGxhY2UgYmV0d2VlbiB0aGUgZXJyb3IgaGFuZGxlciBh bmQgdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aC4gVGhlCj4gcmVhc29uIGZvciB0aGlzIGlzIHRoYXQg dGhlIHBlci1lbmdpbmUgcmVjb3ZlcnkgcGF0aCBpcyBjYWxsZWQgZGlyZWN0bHkgZnJvbQo+IHRo ZSBpbnRlcnJ1cHQgaGFuZGxlciBpbiB0aGUgY2FzZSBvZiB3YXRjaGRvZyB0aW1lb3V0LiBJbiB0 aGF0IHNpdHVhdGlvbgo+IHRoZXJlJ3Mgbm8gd2F5IG9mIGdyYWJiaW5nIHRoZSBzdHJ1Y3RfbXV0 ZXgsIHdoaWNoIGlzIGEgcmVxdWlyZW1lbnQgZm9yIHRoZQo+IGhhbmcgcmVjb3ZlcnkgcGF0aC4g VGhlcmVmb3JlLCBieSByZWluc3RhdGluZyB0aGUgd29yayBxdWV1ZSB3ZSBwcm92aWRlIGEKPiB1 bmlmaWVkIGV4ZWN1dGlvbiBjb250ZXh0IGZvciB0aGUgaGFuZyByZWNvdmVyeSBjb2RlIHRoYXQg YWxsb3dzIHRoZSBoYW5nCj4gcmVjb3ZlcnkgY29kZSB0byBncmFiIHdoYXRldmVyIGxvY2tzIGl0 IG5lZWRzIHdpdGhvdXQgc2FjcmlmaWNpbmcgaW50ZXJydXB0Cj4gbGF0ZW5jeSB0b28gbXVjaCBv ciBzbGVlcGluZyBpbmRlZmluaXRlbHkgaW4gaGFyZCBpbnRlcnJ1cHQgY29udGV4dC4KPiAKPiAq IEZlYXR1cmUgMy4gQ29udGV4dCBTdWJtaXNzaW9uIFN0YXR1cyBDb25zaXN0ZW5jeSBjaGVja2lu Zwo+IAo+IFNvbWV0aGluZyB0aGF0IGJlY29tZXMgYXBwYXJlbnQgd2hlbiB5b3UgcnVuIGxvbmct ZHVyYXRpb24gb3BlcmF0aW9ucyB0ZXN0cwo+IHdpdGggY29uY3VycmVudCByZW5kZXJpbmcgcHJv Y2Vzc2VzIHdpdGggaW50ZXJtaXR0ZW50bHkgaW5qZWN0ZWQgaGFuZ3MgaXMgdGhhdAo+IGl0IHNl ZW1zIGxpa2UgdGhlIEdQVSBmb3JnZXRzIHRvIHNlbmQgY29udGV4dCBjb21wbGV0aW9uIGludGVy cnVwdHMgdG8gdGhlCj4gZHJpdmVyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcy4gV2hhdCB0aGlz IG1lYW5zIGlzIHRoYXQgdGhlIGRyaXZlciBzb21ldGltZXMKPiBnZXRzIHN0dWNrIG9uIGEgY29u dGV4dCB0aGF0IG5ldmVyIHNlZW1zIHRvIGZpbmlzaCwgYWxsIHRoZSB3aGlsZSB0aGUgaGFyZHdh cmUKPiBoYXMgY29tcGxldGVkIGFuZCBpcyB3YWl0aW5nIGZvciBtb3JlIHdvcmsuCj4gCj4gVGhl IHByb2JsZW0gd2l0aCB0aGlzIGlzIHRoYXQgdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBw YXRoIHJlbGllcyBvbgo+IGNvbnRleHQgcmVzdWJtaXNzaW9uIHRvIGtpY2sgb2ZmIHRoZSBoYXJk d2FyZSBhZ2FpbiBmb2xsb3dpbmcgYW4gZW5naW5lIHJlc2V0Lgo+IFRoaXMgY2FuIG9ubHkgYmUg ZG9uZSBzYWZlbHkgaWYgdGhlIGhhcmR3YXJlIGFuZCBkcml2ZXIgc2hhcmUgdGhlIHNhbWUgb3Bp bmlvbgo+IGFib3V0IHRoZSBjdXJyZW50IHN0YXRlLiBUaGVyZWZvcmUgd2UndmUgZXh0ZW5kZWQg dGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlciB0bwo+IGNoZWNrIGZvciBjb250ZXh0IHN1Ym1pc3Np b24gc3RhdGUgaW5jb25zaXN0ZW5jaWVzIGFzaWRlIGZyb20gdGhlIGhhbmcgY2hlY2tpbmcKPiBp dCBhbHJlYWR5IGRvZXMuCj4gCj4gSWYgc3VjaCBhIHN0YXRlIGlzIGRldGVjdGVkIGl0IGlzIGFz c3VtZWQgKGJhc2VkIG9uIGV4cGVyaWVuY2UpIHRoYXQgYSBjb250ZXh0Cj4gY29tcGxldGlvbiBp bnRlcnJ1cHQgaGFzIGJlZW4gbG9zdCBzb21laG93LiBJZiB0aGlzIHN0YXRlIHBlcnNpc3RzIGZv ciBzb21lCj4gdGltZSBhbiBhdHRlbXB0IHRvIGNvcnJlY3QgaXQgaXMgbWFkZSBieSBmYWtpbmcg dGhlIHByZXN1bWFibHkgbG9zdCBjb250ZXh0Cj4gY29tcGxldGlvbiBpbnRlcnJ1cHQgYnkgbWFu dWFsbHkgY2FsbGluZyB0aGUgZXhlY2xpc3QgaW50ZXJydXB0IGhhbmRsZXIsIHdoaWNoCj4gaXMg bm9ybWFsbHkgY2FsbGVkIGZyb20gdGhlIG1haW4gaW50ZXJydXB0IGhhbmRsZXIgY3VlZCBieSBh IHJlY2VpdmVkIGNvbnRleHQKPiBldmVudCBpbnRlcnJ1cHQuIEp1c3QgYmVjYXVzZSBhbiBpbnRl cnJ1cHQgZ29lcyBtaXNzaW5nIGRvZXMgbm90IG1lYW4gdGhhdCB0aGUKPiBjb250ZXh0IHN0YXR1 cyBidWZmZXIgKENTQikgZG9lcyBub3QgZ2V0IGFwcHJvcHJpYXRlbHkgdXBkYXRlZCBieSB0aGUg aGFyZHdhcmUsCj4gd2hpY2ggbWVhbnMgdGhhdCB3ZSBjYW4gZXhwZWN0IHRvIGZpbmQgYWxsIHRo ZSByZWNlbnQgY2hhbmdlcyB0byB0aGUgY29udGV4dAo+IHN0YXRlcyBmb3IgZWFjaCBlbmdpbmUg Y2FwdHVyZWQgdGhlcmUuIElmIHRoZXJlIGFyZSBvdXRzdGFuZGluZyBjb250ZXh0IHN0YXR1cwo+ IGNoYW5nZXMgaW4gc3RvcmUgdGhlcmUgdGhlbiB0aGUgZmFrZWQgY29udGV4dCBldmVudCBpbnRl cnJ1cHQgd2lsbCBhbGxvdyB0aGUKPiBpbnRlcnJ1cHQgaGFuZGxlciB0byBhY3Qgb24gdGhlbS4g SW4gdGhlIGNhc2Ugb2YgbG9zdCBjb250ZXh0IGNvbXBsZXRpb24KPiBpbnRlcnJ1cHRzIHRoaXMg d2lsbCBwcm9tcHQgdGhlIGRyaXZlciB0byByZW1vdmUgdGhlIGFscmVhZHkgY29tcGxldGVkIGNv bnRleHQKPiBmcm9tIHRoZSBleGVjbGlzdCBxdWV1ZSBhbmQgbW92ZSBvbiB0byB0aGUgbmV4dCBw ZW5kaW5nIHBpZWNlIG9mIHdvcmsgYW5kCj4gdGhlcmVieSBlbGltaW5hdGluZyB0aGUgaW5jb25z aXN0ZW5jeS4KPiAKPiAqIEZlYXR1cmUgNC4gRGVidWdmcyBleHRlbnNpb25zIGZvciBwZXItZW5n aW5lIGhhbmcgcmVjb3ZlcnkgYW5kIFREUi93YXRjaGRvZyB0cmFjZQo+IHBvaW50cy4KPiAKPiAK PiBUb21hcyBFbGYgKDExKToKPiAgIGRybS9pOTE1OiBFYXJseSBleGl0IGZyb20gc2VtYXBob3Jl X3dhaXRzX2ZvciBmb3IgZXhlY2xpc3QgbW9kZS4KPiAgIGRybS9pOTE1OiBJbnRyb2R1Y2UgdWV2 ZW50IGZvciBmdWxsIEdQVSByZXNldC4KPiAgIGRybS9pOTE1OiBBZGQgcmVzZXQgc3RhdHMgZW50 cnkgcG9pbnQgZm9yIHBlci1lbmdpbmUgcmVzZXQuCj4gICBkcm0vaTkxNTogQWRkaW5nIFREUiAv IHBlci1lbmdpbmUgcmVzZXQgc3VwcG9ydCBmb3IgZ2VuOC4KPiAgIGRybS9pOTE1OiBFeHRlbmRp bmcgaTkxNV9nZW1fY2hlY2tfd2VkZ2UgdG8gY2hlY2sgZW5naW5lIHJlc2V0IGluCj4gICAgIHBy b2dyZXNzCj4gICBkcm0vaTkxNTogRGlzYWJsZSB3YXJuaW5ncyBmb3IgVERSIGludGVycnVwdGlv bnMgaW4gdGhlIGRpc3BsYXkKPiAgICAgZHJpdmVyLgo+ICAgZHJtL2k5MTU6IFJlaW5zdGF0ZSBo YW5nIHJlY292ZXJ5IHdvcmsgcXVldWUuCj4gICBkcm0vaTkxNTogV2F0Y2hkb2cgdGltZW91dCBz dXBwb3J0IGZvciBnZW44Lgo+ICAgZHJtL2k5MTU6IEZha2UgbG9zdCBjb250ZXh0IGludGVycnVw dHMgdGhyb3VnaCBmb3JjZWQgQ1NCIGNoZWNrLgo+ICAgZHJtL2k5MTU6IERlYnVnZnMgaW50ZXJm YWNlIGZvciBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCj4gICBkcm0vaTkxNTogVERSL3dhdGNo ZG9nIHRyYWNlIHBvaW50cy4KPiAKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgICAgIHwgIDE0NiArKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAg ICAgICAgIHwgICA3OSArKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAg ICAgIHwgIDIwMSArKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgfCAgIDkxICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAg ICAgIHwgICA5MyArKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMg ICB8ICAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwg IDM3OCArKysrKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5j ICAgICAgfCAgIDEwICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAg IHwgICAxMyArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAgICAgICB8ICAy OTggKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAg IHwgICAxNiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCAg ODU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmggICAgICAgIHwgICAxNiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmNfdGRyLmggICAgfCAgIDQwICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYyB8ICAgODcgKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmggfCAgMTA5ICsrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5j b3JlLmMgICAgIHwgIDI0MSArKysrKysrKy0KPiAgaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5o ICAgICAgICAgICAgIHwgICAgNSArLQo+ICAxOCBmaWxlcyBjaGFuZ2VkLCAyNTg5IGluc2VydGlv bnMoKyksIDk0IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjX3Rkci5oCj4gCj4gLS0gCj4gMS43LjkuNQo+IAo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVsIFZl dHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3 bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK