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: Tue, 23 Jun 2015 11:47:16 +0100 Message-ID: <55893934.4080105@intel.com> References: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> <20150623100551.GT25769@phenom.ffwll.local> 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 396456E940 for ; Tue, 23 Jun 2015 03:47:19 -0700 (PDT) In-Reply-To: <20150623100551.GT25769@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: "Intel-GFX@Lists.FreeDesktop.Org" List-Id: intel-gfx@lists.freedesktop.org T24gMjMvMDYvMjAxNSAxMTowNSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBZb3VyIHBhdGNoZXMg ZG9uJ3QgYXBwbHkgY2xlYW5seSBhbnkgbW9yZSBhbmQgSSBjYW4ndCBmaW5kIGEgc3VpdGFibGUK PiBiYXNlbGluZSB3aGVyZSB0aGV5IHdvdWxkLiBCdXQgSSdkIGxpa2UgdG8gc2VlIGl0IGFsbCBp biBjb250ZXh0IHRvIGNoZWNrCj4gYSBmZXcgdGhpbmdzLgo+Cj4gQ2FuIHlvdSBwbHMgcHVzaCBh IGdpdCBicmFuY2ggd2l0aCB0aGVzZSBzb21ld2hlcmU/Cj4KCkhlcmUncyB0aGUgYmFzZWxpbmUg Zm9yIG15IGxvY2FsIHRyZWU6CmNkMDc2MzcgLSAgZHJtLWludGVsLW5pZ2h0bHk6IDIwMTV5LTA0 bS0xM2QtMDloLTQ2bS01OXMgVVRDIGludGVncmF0aW9uIAptYW5pZmVzdCA8ZGFuaWVsLnZldHRl ckBmZndsbC5jaD4KCkkgaGF2ZW4ndCB1cGRhdGVkIGl0IGluIGEgd2hpbGUgb2J2aW91c2x5IHNp bmNlIEkgdGhvdWdodCB0aGF0IGNvdWxkIAp3YWl0IHVudGlsIHdlJ2Qgd29ya2VkIG91ciB3YXkg dGhyb3VnaCB0aGUgUkZDIHNlcmllcyBhbmQgSSBjb3VsZCBnZXQgdG8gCndvcmsgb24gdGhlIGZp cnN0IHJlYWwgcGF0Y2ggc2VyaWVzLgoKSXMgaXQgcG9zc2libGUgZm9yIHlvdSB0byBzZXQgdXAg YSBsb2NhbCB0cmVlIG9mIHlvdXIgb3duIHdpdGggbXkgCmJhc2VsaW5lIGFuZCBteSBSRkMgcGF0 Y2hlcyBvbiB0b3Agb3Igd291bGQgeW91IHByZWZlciBpdCBpZiBJIHB1c2ggbXkgCmJyYW5jaCB0 byBkcm0tcHJpdmF0ZT8KClRoYW5rcywKVG9tYXMKCj4gVGhhbmtzLCBEYW5pZWwKPgo+IE9uIE1v biwgSnVuIDA4LCAyMDE1IGF0IDA2OjAzOjE4UE0gKzAxMDAsIFRvbWFzIEVsZiB3cm90ZToKPj4g VGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgo+Pgo+ PiAqIEZlYXR1cmUgMTogVERSIChUaW1lb3V0IERldGVjdGlvbiBhbmQgUmVjb3ZlcnkpIGZvciBn ZW44IGV4ZWNsaXN0IG1vZGUuCj4+Cj4+IFREUiBpcyBhbiB1bWJyZWxsYSB0ZXJtIGZvciBhbnl0 aGluZyB0aGF0IGdvZXMgaW50byBkZXRlY3RpbmcgYW5kIHJlY292ZXJpbmcKPj4gZnJvbSBHUFUg aGFuZ3MgYW5kIGlzIGEgdGVybSBtb3JlIHdpZGVseSB1c2VkIG91dHNpZGUgb2YgdGhlIHVwc3Ry ZWFtIGRyaXZlci4KPj4gVGhpcyBmZWF0dXJlIGludHJvZHVjZXMgYW4gZXh0ZW5zaWJsZSBmcmFt ZXdvcmsgdGhhdCBjdXJyZW50bHkgc3VwcG9ydHMgZ2VuOAo+PiBidXQgdGhhdCBjYW4gYmUgZWFz aWx5IGV4dGVuZGVkIHRvIHN1cHBvcnQgZ2VuNyBhcyB3ZWxsICh3aGljaCBpcyBhbHJlYWR5IHRo ZQo+PiBjYXNlIGluIEdNSU4gYnV0IHVuZm9ydHVuYXRlbHkgaW4gYSBub3QgcXVpdGUgdXBzdHJl YW1hYmxlIGZvcm0pLiBUaGUgY29kZQo+PiBjb250YWluZWQgaW4gdGhpcyBzdWJtaXNzaW9uIHJl cHJlc2VudHMgdGhlIGVzc2VudGlhbHMgb2Ygd2hhdCBpcyBjdXJyZW50bHkgaW4KPj4gR01JTiBt ZXJnZWQgd2l0aCB3aGF0IGlzIGN1cnJlbnRseSBpbiB1cHN0cmVhbSAoYXMgb2YgdGhlIHRpbWUg d2hlbiB0aGlzIHdvcmsKPj4gY29tbWVuY2VkIGEgZmV3IG1vbnRocyBiYWNrKS4KPj4KPj4gVGhp cyBmZWF0dXJlIGFkZHMgYSBuZXcgaGFuZyByZWNvdmVyeSBwYXRoIGFsb25nc2lkZSB0aGUgbGVn YWN5IEdQVSByZXNldCBwYXRoLAo+PiB3aGljaCB0YWtlcyBjYXJlIG9mIGVuZ2luZSByZWNvdmVy eSBvbmx5LiBBc2lkZSBmcm9tIGFkZGluZyBzdXBwb3J0IGZvcgo+PiBwZXItZW5naW5lIHJlY292 ZXJ5IHRoaXMgZmVhdHVyZSBhbHNvIGludHJvZHVjZXMgcnVsZXMgZm9yIGhvdyB0byBwcm9tb3Rl IGEKPj4gcG90ZW50aWFsIHBlci1lbmdpbmUgcmVzZXQgdG8gYSBsZWdhY3ksIGZ1bGwgR1BVIHJl c2V0Lgo+Pgo+PiBUaGUgaGFuZyBjaGVja2VyIG5vdyBpbnRlZ3JhdGVzIHdpdGggdGhlIGVycm9y IGhhbmRsZXIgaW4gYSBzbGlnaHRseSBkaWZmZXJlbnQKPj4gd2F5IGluIHRoYXQgaXQgYWxsb3dz IGhhbmcgcmVjb3Zlcnkgb24gbXVsdGlwbGUgZW5naW5lcyBhdCB0aGUgc2FtZSB0aW1lIGJ5Cj4+ IHBhc3NpbmcgYW4gZW5naW5lIGZsYWcgbWFzayB0byB0aGUgZXJyb3IgaGFuZGxlciB3aGVyZSBm bGFncyByZXByZXNlbnRpbmcgYWxsCj4+IG9mIHRoZSBodW5nIGVuZ2luZXMgYXJlIHNldC4gVGhp cyBhbGxvd3MgdXMgdG8gc2NoZWR1bGUgaGFuZyByZWNvdmVyeSBvbmNlIGZvcgo+PiBhbGwgY3Vy cmVudGx5IGh1bmcgZW5naW5lcyBpbnN0ZWFkIG9mIG9uZSBoYW5nIHJlY292ZXJ5IHBlciBkZXRl Y3RlZCBlbmdpbmUKPj4gaGFuZy4gUHJldmlvdXNseSwgd2hlbiBvbmx5IGZ1bGwgR1BVIHJlc2V0 IHdhcyBzdXBwb3J0ZWQgdGhpcyB3YXMgYWxsIHRoZSBzYW1lCj4+IHNpbmNlIGl0IHdvdWxkbid0 IG1hdHRlciBpZiBvbmUgb3IgZm91ciBlbmdpbmVzIHdlcmUgaHVuZyBhdCBhbnkgZ2l2ZW4gcG9p bnQKPj4gc2luY2UgaXQgd291bGQgYWxsIGFtb3VudCB0byB0aGUgc2FtZSB0aGluZyAtIHRoZSBH UFUgZ2V0dGluZyByZXNldC4gQXMgaXQKPj4gc3RhbmRzIG5vdyB0aGUgYmVoYXZpb3VyIGlzIGRp ZmZlcmVudCBkZXBlbmRpbmcgb24gd2hpY2ggZW5naW5lIGlzIGh1bmcgc2luY2UKPj4gZWFjaCBl bmdpbmUgaXMgcmVzZXQgc2VwYXJhdGVseSBmcm9tIGFsbCB0aGUgb3RoZXIgZW5naW5lcywgdGhl cmVmb3JlIHdlIGhhdmUKPj4gdG8gdGhpbmsgYWJvdXQgdGhpcyBpbiB0ZXJtcyBvZiBzY2hlZHVs aW5nIGNvc3QgYW5kIHJlY292ZXJ5IGxhdGVuY3kuIChzZWUKPj4gb3BlbiBxdWVzdGlvbiBiZWxv dykKPj4KPj4gT1BFTiBRVUVTVElPTlM6Cj4+Cj4+IAkxLiBEbyB3ZSB3YW50IHRvIGludmVzdGln YXRlIHRoZSBwb3NzaWJpbGl0eSBvZiBwZXItZW5naW5lIGhhbmcKPj4gCWRldGVjdGlvbj8gSW4g dGhlIGN1cnJlbnQgdXBzdHJlYW0gZHJpdmVyIHRoZXJlIGlzIG9ubHkgb25lIHdvcmsgcXVldWUK Pj4gCXRoYXQgaGFuZGxlcyB0aGUgaGFuZyBjaGVja2VyIGFuZCBldmVyeXRoaW5nIGZyb20gaW5p dGlhbCBoYW5nCj4+IAlkZXRlY3Rpb24gdG8gZmluYWwgaGFuZyByZWNvdmVyeSBydW5zIGluIHRo aXMgdGhyZWFkLiBUaGlzIG1ha2VzIHNlbnNlCj4+IAlpZiB5b3UncmUgb25seSBzdXBwb3J0aW5n IG9uZSBmb3JtIG9mIGhhbmcgcmVjb3ZlcnkgLSB1c2luZyBmdWxsIEdQVQo+PiAJcmVzZXQgYW5k IG5vdGhpbmcgdGllZCB0byBhbnkgcGFydGljdWxhciBlbmdpbmUuIEhvd2V2ZXIsIGFzIHBhcnQK Pj4gCW9mIHRoaXMgcGF0Y2ggc2VyaWVzIHdlJ3JlIGNoYW5naW5nIHRoYXQgYnkgaW50cm9kdWNp bmcgcGVyLWVuZ2luZQo+PiAJaGFuZyByZWNvdmVyeS4gSXQgY291bGQgbWFrZSBzZW5zZSB0byBp bnRyb2R1Y2UgbXVsdGlwbGUgd29yawo+PiAJcXVldWVzIC0gb25lIHBlciBlbmdpbmUgLSB0byBy dW4gbXVsdGlwbGUgaGFuZyBjaGVja2luZyB0aHJlYWRzIGluCj4+IAlwYXJhbGxlbC4KPj4KPj4g CVRoaXMgd291bGQgcG90ZW50aWFsbHkgYWxsb3cgc2F2aW5ncyBpbiB0ZXJtcyBvZiByZWNvdmVy eSBsYXRlbmN5IHNpbmNlCj4+IAl3ZSBkb24ndCBoYXZlIHRvIHNjYW4gYWxsIGVuZ2luZXMgZXZl cnkgdGltZSB0aGUgaGFuZyBjaGVja2VyIGlzCj4+IAlzY2hlZHVsZWQgYW5kIHRoZSBlcnJvciBo YW5kbGVyIGRvZXMgbm90IGhhdmUgdG8gc2NhbiBhbGwgZW5naW5lcyBldmVyeQo+PiAJdGltZSBp dCBpcyBzY2hlZHVsZWQuIEluc3RlYWQsIHdlIGNvdWxkIGltcGxlbWVudCBvbmUgd29yayBxdWV1 ZSBwZXIKPj4gCWVuZ2luZSB0aGF0IHdvdWxkIGludm9rZSB0aGUgaGFuZyBjaGVja2VyIHRoYXQg b25seSBjaGVja3MgX3RoYXRfCj4+IAlwYXJ0aWN1bGFyIGVuZ2luZSBhbmQgdGhlbiB0aGUgZXJy b3IgaGFuZGxlciBpcyBpbnZva2VkIGZvciBfdGhhdF8KPj4gCXBhcnRpY3VsYXIgZW5naW5lLiBJ ZiBvbmUgZW5naW5lIGhhcyBodW5nIHRoZSBsYXRlbmN5IGZvciBnZXR0aW5nIHRvCj4+IAl0aGUg aGFuZyByZWNvdmVyeSBwYXRoIGZvciB0aGF0IHBhcnRpY3VsYXIgZW5naW5lIHdvdWxkIGJlIChU aW1lIEZvcgo+PiAJSGFuZyBDaGVja2luZyBPbmUgRW5naW5lKSArIChUaW1lIEZvciBFcnJvciBI YW5kbGluZyBPbmUgRW5naW5lKSByYXRoZXIKPj4gCXRoYW4gdGhlIHRpbWUgaXQgdGFrZXMgdG8g ZG8gaGFuZyBjaGVja2luZyBmb3IgYWxsIGVuZ2luZXMgKyB0aGUgdGltZQo+PiAJaXQgdGFrZXMg dG8gZG8gZXJyb3IgaGFuZGxpbmcgZm9yIGFsbCBlbmdpbmVzIHRoYXQgaGF2ZSBiZWVuIGRldGVj dGVkCj4+IAlhcyBodW5nICh3aGljaCBpbiB0aGUgd29yc3QgY2FzZSB3b3VsZCBiZSBhbGwgZW5n aW5lcykuIFRoZXJlIHdvdWxkCj4+IAlwb3RlbnRpYWxseSBiZSBhcyBtYW55IGhhbmcgY2hlY2tl ciBhbmQgZXJyb3IgaGFuZGxpbmcgdGhyZWFkcyBnb2luZyBvbgo+PiAJY29uY3VycmVudGx5IGFz IHRoZXJlIGFyZSBlbmdpbmVzIGluIHRoZSBoYXJkd2FyZSBidXQgdGhleSB3b3VsZCBhbGwgYmUK Pj4gCXJ1bm5pbmcgaW4gcGFyYWxsZWwgd2l0aG91dCBhbnkgc2lnbmlmaWNhbnQgbG9ja2luZy4g VGhlIGZpcnN0IHRpbWUKPj4gCXdoZXJlIGFueSB0aHJlYWQgbmVlZHMgZXhjbHVzaXZlIGFjY2Vz cyB0byB0aGUgZHJpdmVyIGlzIGF0IHRoZSBwb2ludAo+PiAJb2YgdGhlIGFjdHVhbCBoYW5nIHJl Y292ZXJ5IGJ1dCB0aGUgdGltZSBpdCB0YWtlcyB0byBnZXQgdGhlcmUgd291bGQKPj4gCXRoZW9y ZXRpY2FsbHkgYmUgbG93ZXIgYW5kIHRoZSB0aW1lIGl0IGFjdHVhbGx5IHRha2VzIHRvIGRvIHBl ci1lbmdpbmUKPj4gCWhhbmcgcmVjb3ZlcnkgaXMgcXVpdGUgYSBsb3QgbG93ZXIgdGhhbiB0aGUg dGltZSBpdCB0YWtlcyB0byBhY3R1YWxseQo+PiAJZGV0ZWN0IGEgaGFuZyByZWxpYWJseS4KPj4K Pj4gCUhvdyBtdWNoIHdlIHdvdWxkIHNhdmUgYnkgc3VjaCBhIGNoYW5nZSBzdGlsbCBuZWVkcyB0 byBiZSBhbmFseXNlZCBhbmQKPj4gCWNvbXBhcmVkIGFnYWluc3QgdGhlIGN1cnJlbnQgc2luZ2xl LXRocmVhZCBtb2RlbCBidXQgaXQgbWFrZXMgc2Vuc2UKPj4gCWZyb20gYSB0aGVvcmV0aWNhbCBk ZXNpZ24gcG9pbnQgb2Ygdmlldy4KPj4KPj4gCTIuIEhvdyBkb2VzIHBlci1lbmdpbmUgcmVzZXQg aW50ZWdyYXRlIHdpdGggdGhlIHB1YmxpYyByZXNldCBzdGF0cwo+PiAJSU9DVEw/IFRoZXNlIHN0 YXRzIGFyZSB1c2VkIGZvciB0aGUgR0wgcm9idXN0bmVzcyBpbnRlcmZhY2UgYW5kCj4+IAljdXJy ZW50bHkgdGhlc2UgdGVzdHMgYXJlIGZhaWxpbmcgd2hlbiBydW5uaW5nIHBlci1lbmdpbmUgaGFu ZyByZWNvdmVyeQo+PiAJc2luY2Ugd2UgdHJlYXQgcGVyLWVuZ2luZSByZWNvdmVyeSBkaWZmZXJl bnRseSBmcm9tIGZ1bGwgR1BVIHJlY292ZXJ5LAo+PiAJd2hpY2ggaXMgbm90aGluZyB0aGF0IHVz ZXJsYW5kIGtub3dzIGFueXRoaW5nIGFib3V0LiBXaGVuIHVzZXJsYW5kCj4+IAlleHBlY3RzIHRv IGhhbmcgdGhlIGhhcmR3YXJlIGl0IGV4cGVjdHMgdGhlIHJlc2V0IHN0YXQgaW50ZXJmYWNlIHRv Cj4+IAlyZWZsZWN0IHRoaXMsIHdoaWNoIGlzIHNvbWV0aGluZyB0aGF0IGhhcyBjaGFuZ2VkIGFz IHBhcnQgb2YgdGhpcyBjb2RlCj4+IAlzdWJtaXNzaW9uLiBUaGVyZSdzIG1vcmUgdGhhbiBvbmUg d2F5IHRvIHNvbHZlIHRoaXMuIEhlcmUgYXJlIHR3byBvcHRpb25zOgo+Pgo+PiAJCTEuIEV4cG9z ZSBwZXItZW5naW5lIHJlc2V0IHN0YXRpc3RpY3MgYW5kIHNldCBjb250ZXh0cyBhcwo+PiAJCWd1 aWx0eSB0aGUgc2FtZSB3YXkgZm9yIHBlci1lbmdpbmUgcmVzZXQgYXMgZm9yIGZ1bGwgR1BVCj4+ IAkJcmVzZXRzLgo+Pgo+PiAJCVRoYXQgd291bGQgbWFrZSB0aGlzIGNoYW5nZSB0byB0aGUgaGFu ZyByZWNvdmVyeSBtZWNoYW5pc20KPj4gCQl0cmFuc3BhcmVudCB0byB1c2VybGFuZCBidXQgaXQg d291bGQgY2hhbmdlIHRoZSBzZW1hbnRpY3Mgc2luY2UKPj4gCQlhbiBhY3RpdmUgY29udGV4dCBp biB0aGUgcmVzZXQgc3RhdHMgbm8gbG9uZ2VyIGltcGxpZXMgdGhhdCB0aGUKPj4gCQlHUFUgd2Fz IGZ1bGx5IHJlc2V0Lgo+Pgo+PiAJCTIuIEFkZCBhIG5ldyBzZXQgb2Ygc3RhdGlzdGljcyBmb3Ig cGVyLWVuZ2luZSByZXNldCAob25lIGdyb3VwCj4+IAkJb2Ygc3RhdGlzdGljcyBmb3IgZWFjaCBl bmdpbmUpIHRvIHJlZmxlY3QgdGhlIGV4dGVuZGVkCj4+IAkJY2FwYWJpbGl0aWVzIHRoYXQgcGVy LWVuZ2luZSBoYW5nIHJlY292ZXJ5IG9mZmVycy4KPj4KPj4gCQlXb3VsZCB0aGF0IGJlIGJyZWFr aW5nIHRoZSBBQkk/Cj4+Cj4+IAkJLi4uIE9yIGFyZSB0aGVyZSBhbnkgb3RoZXIgd2F5IG9mIGRv aW5nIHRoaXM/Cj4+Cj4+ICogRmVhdHVyZSAyOiBXYXRjaGRvZyBUaW1lb3V0IChhLmsuYSAibWVk aWEgZW5naW5lIHJlc2V0IikgZm9yIGdlbjguCj4+Cj4+IFRoaXMgZmVhdHVyZSBhbGxvd3MgdXNl cmxhbmQgYXBwbGljYXRpb25zIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgaW5kaXZpZHVhbAo+ PiBiYXRjaCBidWZmZXJzIHNob3VsZCBoYXZlIGEgZmlyc3QtbGV2ZWwsIGZpbmUtZ3JhaW5lZCwg aGFyZHdhcmUtYmFzZWQgaGFuZwo+PiBkZXRlY3Rpb24gbWVjaGFuaXNtIG9uIHRvcCBvZiB0aGUg b3JkaW5hcnksIHNvZnR3YXJlLWJhc2VkIHBlcmlvZGljIGhhbmcKPj4gY2hlY2tlciB0aGF0IGlz IGFscmVhZHkgaW4gdGhlIGRyaXZlci4gVGhlIGFkdmFudGFnZSBvdmVyIHJlbHlpbmcgc29sZWx5 IG9uIHRoZQo+PiBjdXJyZW50IHNvZnR3YXJlLWJhc2VkIGhhbmcgY2hlY2tlciBpcyB0aGF0IHRo ZSB3YXRjaGRvZyB0aW1lb3V0IG1lY2hhbmlzbSBpcwo+PiBhYm91dCAxMDAweCBxdWlja2VyIGFu ZCBtb3JlIHByZWNpc2UuIFNpbmNlIGl0J3Mgbm90IGEgZnVsbCBkcml2ZXItbGV2ZWwgaGFuZwo+ PiBkZXRlY3Rpb24gbWVjaGFuaXNtIGJ1dCBvbmx5IHRhcmdldHRpbmcgb25lIGluZGl2aWR1YWwg YmF0Y2ggYnVmZmVyIGF0IGEgdGltZQo+PiBpdCBjYW4gYWZmb3JkIHRvIGJlIHRoYXQgcXVpY2sg d2l0aG91dCByaXNraW5nIGFuIGluY3JlYXNlIGluIGZhbHNlIHBvc2l0aXZlCj4+IGhhbmcgZGV0 ZWN0aW9uLgo+Pgo+PiBUaGlzIGZlYXR1cmUgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2Vz Ogo+Pgo+PiBhKSBXYXRjaGRvZyB0aW1lb3V0IGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgZm9y IGhhbmRsaW5nIHdhdGNoZG9nIGludGVycnVwdHMKPj4gYW5kIGNvbm5lY3RpbmcgdGhlc2UgdG8g cGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5Lgo+Pgo+PiBiKSBJbmplY3Rpb24gb2Ygd2F0Y2hkb2cg dGltZXIgZW5hYmxlbWVudC9jYW5jZWxsYXRpb24gaW5zdHJ1Y3Rpb25zCj4+IGJlZm9yZS9hZnRl ciB0aGUgYmF0Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0aW9uIGluIHRoZSByaW5nIGJ1ZmZlciBz byB0aGF0Cj4+IHdhdGNoZG9nIHRpbWVvdXQgaXMgY29ubmVjdGVkIHRvIHRoZSBzdWJtaXNzaW9u IG9mIGFuIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVyLgo+Pgo+PiBjKSBFeHRlbnNpb24gb2YgdGhl IERSTSBiYXRjaCBidWZmZXIgaW50ZXJmYWNlLCBleHBvc2luZyB0aGUgd2F0Y2hkb2cgdGltZW91 dAo+PiBmZWF0dXJlIHRvIHVzZXJsYW5kLiBXZSd2ZSBnb3QgdHdvIG9wZW4gc291cmNlIGdyb3Vw cyBpbiBWUEcgY3VycmVudGx5IGluIHRoZQo+PiBwcm9jZXNzIG9mIGludGVncmF0aW5nIHN1cHBv cnQgZm9yIHRoaXMgZmVhdHVyZSwgd2hpY2ggc2hvdWxkIG1ha2UgaXQKPj4gcHJpbmNpcGFsbHkg cG9zc2libGUgdG8gdXBzdHJlYW0gdGhpcyBleHRlbnNpb24uCj4+Cj4+IFRoZXJlIGlzIGN1cnJl bnRseSBmdWxsIHdhdGNoZG9nIHRpbWVvdXQgc3VwcG9ydCBmb3IgZ2VuNyBpbiBHTUlOIGFuZCBp dCBpcwo+PiBxdWl0ZSBzaW1pbGFyIHRvIHRoZSBnZW44IGltcGxlbWVudGF0aW9uIHNvIHRoZXJl IGlzIG5vdGhpbmcgb2J2aW91cyB0aGF0Cj4+IHByZXZlbnRzIHVzIGZyb20gdXBzdHJlYW1pbmcg dGhhdCBjb2RlIGFsb25nIHdpdGggdGhlIGdlbjggY29kZS4gSG93ZXZlciwKPj4gd2F0Y2hkb2cg dGltZW91dCBpcyBmdWxseSBkZXBlbmRlbnQgb24gdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVy eSBwYXRoIGFuZAo+PiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoaXMgY29kZSBzdWJtaXNzaW9uIGZv ciBnZW43LiBUaGVyZWZvcmUgd2F0Y2hkb2cgdGltZW91dAo+PiBzdXBwb3J0IGZvciBnZW43IGhh cyBiZWVuIGV4Y2x1ZGVkIHVudGlsIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBzdXBwb3J0IGZv cgo+PiBnZW43IGhhcyBsYW5kZWQgdXBzdHJlYW0uCj4+Cj4+IEFzIHBhcnQgb2YgdGhpcyBzdWJt aXNzaW9uIHdlJ3ZlIGhhZCB0byByZWluc3RhdGUgdGhlIHdvcmsgcXVldWUgdGhhdCB3YXMKPj4g cHJldmlvdXNseSBpbiBwbGFjZSBiZXR3ZWVuIHRoZSBlcnJvciBoYW5kbGVyIGFuZCB0aGUgaGFu ZyByZWNvdmVyeSBwYXRoLiBUaGUKPj4gcmVhc29uIGZvciB0aGlzIGlzIHRoYXQgdGhlIHBlci1l bmdpbmUgcmVjb3ZlcnkgcGF0aCBpcyBjYWxsZWQgZGlyZWN0bHkgZnJvbQo+PiB0aGUgaW50ZXJy dXB0IGhhbmRsZXIgaW4gdGhlIGNhc2Ugb2Ygd2F0Y2hkb2cgdGltZW91dC4gSW4gdGhhdCBzaXR1 YXRpb24KPj4gdGhlcmUncyBubyB3YXkgb2YgZ3JhYmJpbmcgdGhlIHN0cnVjdF9tdXRleCwgd2hp Y2ggaXMgYSByZXF1aXJlbWVudCBmb3IgdGhlCj4+IGhhbmcgcmVjb3ZlcnkgcGF0aC4gVGhlcmVm b3JlLCBieSByZWluc3RhdGluZyB0aGUgd29yayBxdWV1ZSB3ZSBwcm92aWRlIGEKPj4gdW5pZmll ZCBleGVjdXRpb24gY29udGV4dCBmb3IgdGhlIGhhbmcgcmVjb3ZlcnkgY29kZSB0aGF0IGFsbG93 cyB0aGUgaGFuZwo+PiByZWNvdmVyeSBjb2RlIHRvIGdyYWIgd2hhdGV2ZXIgbG9ja3MgaXQgbmVl ZHMgd2l0aG91dCBzYWNyaWZpY2luZyBpbnRlcnJ1cHQKPj4gbGF0ZW5jeSB0b28gbXVjaCBvciBz bGVlcGluZyBpbmRlZmluaXRlbHkgaW4gaGFyZCBpbnRlcnJ1cHQgY29udGV4dC4KPj4KPj4gKiBG ZWF0dXJlIDMuIENvbnRleHQgU3VibWlzc2lvbiBTdGF0dXMgQ29uc2lzdGVuY3kgY2hlY2tpbmcK Pj4KPj4gU29tZXRoaW5nIHRoYXQgYmVjb21lcyBhcHBhcmVudCB3aGVuIHlvdSBydW4gbG9uZy1k dXJhdGlvbiBvcGVyYXRpb25zIHRlc3RzCj4+IHdpdGggY29uY3VycmVudCByZW5kZXJpbmcgcHJv Y2Vzc2VzIHdpdGggaW50ZXJtaXR0ZW50bHkgaW5qZWN0ZWQgaGFuZ3MgaXMgdGhhdAo+PiBpdCBz ZWVtcyBsaWtlIHRoZSBHUFUgZm9yZ2V0cyB0byBzZW5kIGNvbnRleHQgY29tcGxldGlvbiBpbnRl cnJ1cHRzIHRvIHRoZQo+PiBkcml2ZXIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzLiBXaGF0IHRo aXMgbWVhbnMgaXMgdGhhdCB0aGUgZHJpdmVyIHNvbWV0aW1lcwo+PiBnZXRzIHN0dWNrIG9uIGEg Y29udGV4dCB0aGF0IG5ldmVyIHNlZW1zIHRvIGZpbmlzaCwgYWxsIHRoZSB3aGlsZSB0aGUgaGFy ZHdhcmUKPj4gaGFzIGNvbXBsZXRlZCBhbmQgaXMgd2FpdGluZyBmb3IgbW9yZSB3b3JrLgo+Pgo+ PiBUaGUgcHJvYmxlbSB3aXRoIHRoaXMgaXMgdGhhdCB0aGUgcGVyLWVuZ2luZSBoYW5nIHJlY292 ZXJ5IHBhdGggcmVsaWVzIG9uCj4+IGNvbnRleHQgcmVzdWJtaXNzaW9uIHRvIGtpY2sgb2ZmIHRo ZSBoYXJkd2FyZSBhZ2FpbiBmb2xsb3dpbmcgYW4gZW5naW5lIHJlc2V0Lgo+PiBUaGlzIGNhbiBv bmx5IGJlIGRvbmUgc2FmZWx5IGlmIHRoZSBoYXJkd2FyZSBhbmQgZHJpdmVyIHNoYXJlIHRoZSBz YW1lIG9waW5pb24KPj4gYWJvdXQgdGhlIGN1cnJlbnQgc3RhdGUuIFRoZXJlZm9yZSB3ZSd2ZSBl eHRlbmRlZCB0aGUgcGVyaW9kaWMgaGFuZyBjaGVja2VyIHRvCj4+IGNoZWNrIGZvciBjb250ZXh0 IHN1Ym1pc3Npb24gc3RhdGUgaW5jb25zaXN0ZW5jaWVzIGFzaWRlIGZyb20gdGhlIGhhbmcgY2hl Y2tpbmcKPj4gaXQgYWxyZWFkeSBkb2VzLgo+Pgo+PiBJZiBzdWNoIGEgc3RhdGUgaXMgZGV0ZWN0 ZWQgaXQgaXMgYXNzdW1lZCAoYmFzZWQgb24gZXhwZXJpZW5jZSkgdGhhdCBhIGNvbnRleHQKPj4g Y29tcGxldGlvbiBpbnRlcnJ1cHQgaGFzIGJlZW4gbG9zdCBzb21laG93LiBJZiB0aGlzIHN0YXRl IHBlcnNpc3RzIGZvciBzb21lCj4+IHRpbWUgYW4gYXR0ZW1wdCB0byBjb3JyZWN0IGl0IGlzIG1h ZGUgYnkgZmFraW5nIHRoZSBwcmVzdW1hYmx5IGxvc3QgY29udGV4dAo+PiBjb21wbGV0aW9uIGlu dGVycnVwdCBieSBtYW51YWxseSBjYWxsaW5nIHRoZSBleGVjbGlzdCBpbnRlcnJ1cHQgaGFuZGxl ciwgd2hpY2gKPj4gaXMgbm9ybWFsbHkgY2FsbGVkIGZyb20gdGhlIG1haW4gaW50ZXJydXB0IGhh bmRsZXIgY3VlZCBieSBhIHJlY2VpdmVkIGNvbnRleHQKPj4gZXZlbnQgaW50ZXJydXB0LiBKdXN0 IGJlY2F1c2UgYW4gaW50ZXJydXB0IGdvZXMgbWlzc2luZyBkb2VzIG5vdCBtZWFuIHRoYXQgdGhl Cj4+IGNvbnRleHQgc3RhdHVzIGJ1ZmZlciAoQ1NCKSBkb2VzIG5vdCBnZXQgYXBwcm9wcmlhdGVs eSB1cGRhdGVkIGJ5IHRoZSBoYXJkd2FyZSwKPj4gd2hpY2ggbWVhbnMgdGhhdCB3ZSBjYW4gZXhw ZWN0IHRvIGZpbmQgYWxsIHRoZSByZWNlbnQgY2hhbmdlcyB0byB0aGUgY29udGV4dAo+PiBzdGF0 ZXMgZm9yIGVhY2ggZW5naW5lIGNhcHR1cmVkIHRoZXJlLiBJZiB0aGVyZSBhcmUgb3V0c3RhbmRp bmcgY29udGV4dCBzdGF0dXMKPj4gY2hhbmdlcyBpbiBzdG9yZSB0aGVyZSB0aGVuIHRoZSBmYWtl ZCBjb250ZXh0IGV2ZW50IGludGVycnVwdCB3aWxsIGFsbG93IHRoZQo+PiBpbnRlcnJ1cHQgaGFu ZGxlciB0byBhY3Qgb24gdGhlbS4gSW4gdGhlIGNhc2Ugb2YgbG9zdCBjb250ZXh0IGNvbXBsZXRp b24KPj4gaW50ZXJydXB0cyB0aGlzIHdpbGwgcHJvbXB0IHRoZSBkcml2ZXIgdG8gcmVtb3ZlIHRo ZSBhbHJlYWR5IGNvbXBsZXRlZCBjb250ZXh0Cj4+IGZyb20gdGhlIGV4ZWNsaXN0IHF1ZXVlIGFu ZCBtb3ZlIG9uIHRvIHRoZSBuZXh0IHBlbmRpbmcgcGllY2Ugb2Ygd29yayBhbmQKPj4gdGhlcmVi eSBlbGltaW5hdGluZyB0aGUgaW5jb25zaXN0ZW5jeS4KPj4KPj4gKiBGZWF0dXJlIDQuIERlYnVn ZnMgZXh0ZW5zaW9ucyBmb3IgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IGFuZCBURFIvd2F0Y2hk b2cgdHJhY2UKPj4gcG9pbnRzLgo+Pgo+Pgo+PiBUb21hcyBFbGYgKDExKToKPj4gICAgZHJtL2k5 MTU6IEVhcmx5IGV4aXQgZnJvbSBzZW1hcGhvcmVfd2FpdHNfZm9yIGZvciBleGVjbGlzdCBtb2Rl Lgo+PiAgICBkcm0vaTkxNTogSW50cm9kdWNlIHVldmVudCBmb3IgZnVsbCBHUFUgcmVzZXQuCj4+ ICAgIGRybS9pOTE1OiBBZGQgcmVzZXQgc3RhdHMgZW50cnkgcG9pbnQgZm9yIHBlci1lbmdpbmUg cmVzZXQuCj4+ICAgIGRybS9pOTE1OiBBZGRpbmcgVERSIC8gcGVyLWVuZ2luZSByZXNldCBzdXBw b3J0IGZvciBnZW44Lgo+PiAgICBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5MTVfZ2VtX2NoZWNrX3dl ZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbgo+PiAgICAgIHByb2dyZXNzCj4+ICAgIGRybS9p OTE1OiBEaXNhYmxlIHdhcm5pbmdzIGZvciBURFIgaW50ZXJydXB0aW9ucyBpbiB0aGUgZGlzcGxh eQo+PiAgICAgIGRyaXZlci4KPj4gICAgZHJtL2k5MTU6IFJlaW5zdGF0ZSBoYW5nIHJlY292ZXJ5 IHdvcmsgcXVldWUuCj4+ICAgIGRybS9pOTE1OiBXYXRjaGRvZyB0aW1lb3V0IHN1cHBvcnQgZm9y IGdlbjguCj4+ICAgIGRybS9pOTE1OiBGYWtlIGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRocm91 Z2ggZm9yY2VkIENTQiBjaGVjay4KPj4gICAgZHJtL2k5MTU6IERlYnVnZnMgaW50ZXJmYWNlIGZv ciBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCj4+ICAgIGRybS9pOTE1OiBURFIvd2F0Y2hkb2cg dHJhY2UgcG9pbnRzLgo+Pgo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j ICAgICB8ICAxNDYgKysrKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAg ICAgICAgIHwgICA3OSArKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAg ICAgICAgfCAgMjAxICsrKysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICAgIHwgICA5MSArKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyAgICAgICAgIHwgICA5MyArKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVf ZXJyb3IuYyAgIHwgICAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMg ICAgICAgICB8ICAzNzggKysrKysrKysrKysrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BhcmFtcy5jICAgICAgfCAgIDEwICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oICAgICAgICAgfCAgIDEzICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Ry YWNlLmggICAgICAgfCAgMjk4ICsrKysrKysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jICAgIHwgICAxNiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jICAgICAgICB8ICA4NTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICB8ICAgMTYgKy0KPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmNfdGRyLmggICAgfCAgIDQwICsrCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgICA4NyArKystCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDEwOSArKysrCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgICAgIHwgIDI0MSArKysrKysrKy0K Pj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgfCAgICA1ICstCj4+ ICAgMTggZmlsZXMgY2hhbmdlZCwgMjU4OSBpbnNlcnRpb25zKCspLCA5NCBkZWxldGlvbnMoLSkK Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjX3Rk ci5oCj4+Cj4+IC0tCj4+IDEuNy45LjUKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK