From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Mon, 8 Jun 2015 18:03:18 +0100 Message-ID: <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 DC9E3898CE for ; Mon, 8 Jun 2015 10:04:01 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgoKKiBG ZWF0dXJlIDE6IFREUiAoVGltZW91dCBEZXRlY3Rpb24gYW5kIFJlY292ZXJ5KSBmb3IgZ2VuOCBl eGVjbGlzdCBtb2RlLgoKVERSIGlzIGFuIHVtYnJlbGxhIHRlcm0gZm9yIGFueXRoaW5nIHRoYXQg Z29lcyBpbnRvIGRldGVjdGluZyBhbmQgcmVjb3ZlcmluZwpmcm9tIEdQVSBoYW5ncyBhbmQgaXMg YSB0ZXJtIG1vcmUgd2lkZWx5IHVzZWQgb3V0c2lkZSBvZiB0aGUgdXBzdHJlYW0gZHJpdmVyLgpU aGlzIGZlYXR1cmUgaW50cm9kdWNlcyBhbiBleHRlbnNpYmxlIGZyYW1ld29yayB0aGF0IGN1cnJl bnRseSBzdXBwb3J0cyBnZW44CmJ1dCB0aGF0IGNhbiBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gc3Vw cG9ydCBnZW43IGFzIHdlbGwgKHdoaWNoIGlzIGFscmVhZHkgdGhlCmNhc2UgaW4gR01JTiBidXQg dW5mb3J0dW5hdGVseSBpbiBhIG5vdCBxdWl0ZSB1cHN0cmVhbWFibGUgZm9ybSkuIFRoZSBjb2Rl CmNvbnRhaW5lZCBpbiB0aGlzIHN1Ym1pc3Npb24gcmVwcmVzZW50cyB0aGUgZXNzZW50aWFscyBv ZiB3aGF0IGlzIGN1cnJlbnRseSBpbgpHTUlOIG1lcmdlZCB3aXRoIHdoYXQgaXMgY3VycmVudGx5 IGluIHVwc3RyZWFtIChhcyBvZiB0aGUgdGltZSB3aGVuIHRoaXMgd29yawpjb21tZW5jZWQgYSBm ZXcgbW9udGhzIGJhY2spLgoKVGhpcyBmZWF0dXJlIGFkZHMgYSBuZXcgaGFuZyByZWNvdmVyeSBw YXRoIGFsb25nc2lkZSB0aGUgbGVnYWN5IEdQVSByZXNldCBwYXRoLAp3aGljaCB0YWtlcyBjYXJl IG9mIGVuZ2luZSByZWNvdmVyeSBvbmx5LiBBc2lkZSBmcm9tIGFkZGluZyBzdXBwb3J0IGZvcgpw ZXItZW5naW5lIHJlY292ZXJ5IHRoaXMgZmVhdHVyZSBhbHNvIGludHJvZHVjZXMgcnVsZXMgZm9y IGhvdyB0byBwcm9tb3RlIGEKcG90ZW50aWFsIHBlci1lbmdpbmUgcmVzZXQgdG8gYSBsZWdhY3ks IGZ1bGwgR1BVIHJlc2V0LgoKVGhlIGhhbmcgY2hlY2tlciBub3cgaW50ZWdyYXRlcyB3aXRoIHRo ZSBlcnJvciBoYW5kbGVyIGluIGEgc2xpZ2h0bHkgZGlmZmVyZW50CndheSBpbiB0aGF0IGl0IGFs bG93cyBoYW5nIHJlY292ZXJ5IG9uIG11bHRpcGxlIGVuZ2luZXMgYXQgdGhlIHNhbWUgdGltZSBi eQpwYXNzaW5nIGFuIGVuZ2luZSBmbGFnIG1hc2sgdG8gdGhlIGVycm9yIGhhbmRsZXIgd2hlcmUg ZmxhZ3MgcmVwcmVzZW50aW5nIGFsbApvZiB0aGUgaHVuZyBlbmdpbmVzIGFyZSBzZXQuIFRoaXMg YWxsb3dzIHVzIHRvIHNjaGVkdWxlIGhhbmcgcmVjb3Zlcnkgb25jZSBmb3IKYWxsIGN1cnJlbnRs eSBodW5nIGVuZ2luZXMgaW5zdGVhZCBvZiBvbmUgaGFuZyByZWNvdmVyeSBwZXIgZGV0ZWN0ZWQg ZW5naW5lCmhhbmcuIFByZXZpb3VzbHksIHdoZW4gb25seSBmdWxsIEdQVSByZXNldCB3YXMgc3Vw cG9ydGVkIHRoaXMgd2FzIGFsbCB0aGUgc2FtZQpzaW5jZSBpdCB3b3VsZG4ndCBtYXR0ZXIgaWYg b25lIG9yIGZvdXIgZW5naW5lcyB3ZXJlIGh1bmcgYXQgYW55IGdpdmVuIHBvaW50CnNpbmNlIGl0 IHdvdWxkIGFsbCBhbW91bnQgdG8gdGhlIHNhbWUgdGhpbmcgLSB0aGUgR1BVIGdldHRpbmcgcmVz ZXQuIEFzIGl0CnN0YW5kcyBub3cgdGhlIGJlaGF2aW91ciBpcyBkaWZmZXJlbnQgZGVwZW5kaW5n IG9uIHdoaWNoIGVuZ2luZSBpcyBodW5nIHNpbmNlCmVhY2ggZW5naW5lIGlzIHJlc2V0IHNlcGFy YXRlbHkgZnJvbSBhbGwgdGhlIG90aGVyIGVuZ2luZXMsIHRoZXJlZm9yZSB3ZSBoYXZlCnRvIHRo aW5rIGFib3V0IHRoaXMgaW4gdGVybXMgb2Ygc2NoZWR1bGluZyBjb3N0IGFuZCByZWNvdmVyeSBs YXRlbmN5LiAoc2VlCm9wZW4gcXVlc3Rpb24gYmVsb3cpCgpPUEVOIFFVRVNUSU9OUzoKCgkxLiBE byB3ZSB3YW50IHRvIGludmVzdGlnYXRlIHRoZSBwb3NzaWJpbGl0eSBvZiBwZXItZW5naW5lIGhh bmcKCWRldGVjdGlvbj8gSW4gdGhlIGN1cnJlbnQgdXBzdHJlYW0gZHJpdmVyIHRoZXJlIGlzIG9u bHkgb25lIHdvcmsgcXVldWUKCXRoYXQgaGFuZGxlcyB0aGUgaGFuZyBjaGVja2VyIGFuZCBldmVy eXRoaW5nIGZyb20gaW5pdGlhbCBoYW5nCglkZXRlY3Rpb24gdG8gZmluYWwgaGFuZyByZWNvdmVy eSBydW5zIGluIHRoaXMgdGhyZWFkLiBUaGlzIG1ha2VzIHNlbnNlCglpZiB5b3UncmUgb25seSBz dXBwb3J0aW5nIG9uZSBmb3JtIG9mIGhhbmcgcmVjb3ZlcnkgLSB1c2luZyBmdWxsIEdQVQoJcmVz ZXQgYW5kIG5vdGhpbmcgdGllZCB0byBhbnkgcGFydGljdWxhciBlbmdpbmUuIEhvd2V2ZXIsIGFz IHBhcnQKCW9mIHRoaXMgcGF0Y2ggc2VyaWVzIHdlJ3JlIGNoYW5naW5nIHRoYXQgYnkgaW50cm9k dWNpbmcgcGVyLWVuZ2luZQoJaGFuZyByZWNvdmVyeS4gSXQgY291bGQgbWFrZSBzZW5zZSB0byBp bnRyb2R1Y2UgbXVsdGlwbGUgd29yawoJcXVldWVzIC0gb25lIHBlciBlbmdpbmUgLSB0byBydW4g bXVsdGlwbGUgaGFuZyBjaGVja2luZyB0aHJlYWRzIGluCglwYXJhbGxlbC4KCglUaGlzIHdvdWxk IHBvdGVudGlhbGx5IGFsbG93IHNhdmluZ3MgaW4gdGVybXMgb2YgcmVjb3ZlcnkgbGF0ZW5jeSBz aW5jZQoJd2UgZG9uJ3QgaGF2ZSB0byBzY2FuIGFsbCBlbmdpbmVzIGV2ZXJ5IHRpbWUgdGhlIGhh bmcgY2hlY2tlciBpcwoJc2NoZWR1bGVkIGFuZCB0aGUgZXJyb3IgaGFuZGxlciBkb2VzIG5vdCBo YXZlIHRvIHNjYW4gYWxsIGVuZ2luZXMgZXZlcnkKCXRpbWUgaXQgaXMgc2NoZWR1bGVkLiBJbnN0 ZWFkLCB3ZSBjb3VsZCBpbXBsZW1lbnQgb25lIHdvcmsgcXVldWUgcGVyCgllbmdpbmUgdGhhdCB3 b3VsZCBpbnZva2UgdGhlIGhhbmcgY2hlY2tlciB0aGF0IG9ubHkgY2hlY2tzIF90aGF0XwoJcGFy dGljdWxhciBlbmdpbmUgYW5kIHRoZW4gdGhlIGVycm9yIGhhbmRsZXIgaXMgaW52b2tlZCBmb3Ig X3RoYXRfCglwYXJ0aWN1bGFyIGVuZ2luZS4gSWYgb25lIGVuZ2luZSBoYXMgaHVuZyB0aGUgbGF0 ZW5jeSBmb3IgZ2V0dGluZyB0bwoJdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aCBmb3IgdGhhdCBwYXJ0 aWN1bGFyIGVuZ2luZSB3b3VsZCBiZSAoVGltZSBGb3IKCUhhbmcgQ2hlY2tpbmcgT25lIEVuZ2lu ZSkgKyAoVGltZSBGb3IgRXJyb3IgSGFuZGxpbmcgT25lIEVuZ2luZSkgcmF0aGVyCgl0aGFuIHRo ZSB0aW1lIGl0IHRha2VzIHRvIGRvIGhhbmcgY2hlY2tpbmcgZm9yIGFsbCBlbmdpbmVzICsgdGhl IHRpbWUKCWl0IHRha2VzIHRvIGRvIGVycm9yIGhhbmRsaW5nIGZvciBhbGwgZW5naW5lcyB0aGF0 IGhhdmUgYmVlbiBkZXRlY3RlZAoJYXMgaHVuZyAod2hpY2ggaW4gdGhlIHdvcnN0IGNhc2Ugd291 bGQgYmUgYWxsIGVuZ2luZXMpLiBUaGVyZSB3b3VsZAoJcG90ZW50aWFsbHkgYmUgYXMgbWFueSBo YW5nIGNoZWNrZXIgYW5kIGVycm9yIGhhbmRsaW5nIHRocmVhZHMgZ29pbmcgb24KCWNvbmN1cnJl bnRseSBhcyB0aGVyZSBhcmUgZW5naW5lcyBpbiB0aGUgaGFyZHdhcmUgYnV0IHRoZXkgd291bGQg YWxsIGJlCglydW5uaW5nIGluIHBhcmFsbGVsIHdpdGhvdXQgYW55IHNpZ25pZmljYW50IGxvY2tp bmcuIFRoZSBmaXJzdCB0aW1lCgl3aGVyZSBhbnkgdGhyZWFkIG5lZWRzIGV4Y2x1c2l2ZSBhY2Nl c3MgdG8gdGhlIGRyaXZlciBpcyBhdCB0aGUgcG9pbnQKCW9mIHRoZSBhY3R1YWwgaGFuZyByZWNv dmVyeSBidXQgdGhlIHRpbWUgaXQgdGFrZXMgdG8gZ2V0IHRoZXJlIHdvdWxkCgl0aGVvcmV0aWNh bGx5IGJlIGxvd2VyIGFuZCB0aGUgdGltZSBpdCBhY3R1YWxseSB0YWtlcyB0byBkbyBwZXItZW5n aW5lCgloYW5nIHJlY292ZXJ5IGlzIHF1aXRlIGEgbG90IGxvd2VyIHRoYW4gdGhlIHRpbWUgaXQg dGFrZXMgdG8gYWN0dWFsbHkKCWRldGVjdCBhIGhhbmcgcmVsaWFibHkuCgoJSG93IG11Y2ggd2Ug d291bGQgc2F2ZSBieSBzdWNoIGEgY2hhbmdlIHN0aWxsIG5lZWRzIHRvIGJlIGFuYWx5c2VkIGFu ZAoJY29tcGFyZWQgYWdhaW5zdCB0aGUgY3VycmVudCBzaW5nbGUtdGhyZWFkIG1vZGVsIGJ1dCBp dCBtYWtlcyBzZW5zZQoJZnJvbSBhIHRoZW9yZXRpY2FsIGRlc2lnbiBwb2ludCBvZiB2aWV3LgoK CTIuIEhvdyBkb2VzIHBlci1lbmdpbmUgcmVzZXQgaW50ZWdyYXRlIHdpdGggdGhlIHB1YmxpYyBy ZXNldCBzdGF0cwoJSU9DVEw/IFRoZXNlIHN0YXRzIGFyZSB1c2VkIGZvciB0aGUgR0wgcm9idXN0 bmVzcyBpbnRlcmZhY2UgYW5kCgljdXJyZW50bHkgdGhlc2UgdGVzdHMgYXJlIGZhaWxpbmcgd2hl biBydW5uaW5nIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeQoJc2luY2Ugd2UgdHJlYXQgcGVyLWVu Z2luZSByZWNvdmVyeSBkaWZmZXJlbnRseSBmcm9tIGZ1bGwgR1BVIHJlY292ZXJ5LAoJd2hpY2gg aXMgbm90aGluZyB0aGF0IHVzZXJsYW5kIGtub3dzIGFueXRoaW5nIGFib3V0LiBXaGVuIHVzZXJs YW5kCglleHBlY3RzIHRvIGhhbmcgdGhlIGhhcmR3YXJlIGl0IGV4cGVjdHMgdGhlIHJlc2V0IHN0 YXQgaW50ZXJmYWNlIHRvCglyZWZsZWN0IHRoaXMsIHdoaWNoIGlzIHNvbWV0aGluZyB0aGF0IGhh cyBjaGFuZ2VkIGFzIHBhcnQgb2YgdGhpcyBjb2RlCglzdWJtaXNzaW9uLiBUaGVyZSdzIG1vcmUg dGhhbiBvbmUgd2F5IHRvIHNvbHZlIHRoaXMuIEhlcmUgYXJlIHR3byBvcHRpb25zOgoKCQkxLiBF eHBvc2UgcGVyLWVuZ2luZSByZXNldCBzdGF0aXN0aWNzIGFuZCBzZXQgY29udGV4dHMgYXMKCQln dWlsdHkgdGhlIHNhbWUgd2F5IGZvciBwZXItZW5naW5lIHJlc2V0IGFzIGZvciBmdWxsIEdQVQoJ CXJlc2V0cy4KCgkJVGhhdCB3b3VsZCBtYWtlIHRoaXMgY2hhbmdlIHRvIHRoZSBoYW5nIHJlY292 ZXJ5IG1lY2hhbmlzbQoJCXRyYW5zcGFyZW50IHRvIHVzZXJsYW5kIGJ1dCBpdCB3b3VsZCBjaGFu Z2UgdGhlIHNlbWFudGljcyBzaW5jZQoJCWFuIGFjdGl2ZSBjb250ZXh0IGluIHRoZSByZXNldCBz dGF0cyBubyBsb25nZXIgaW1wbGllcyB0aGF0IHRoZQoJCUdQVSB3YXMgZnVsbHkgcmVzZXQuCgoJ CTIuIEFkZCBhIG5ldyBzZXQgb2Ygc3RhdGlzdGljcyBmb3IgcGVyLWVuZ2luZSByZXNldCAob25l IGdyb3VwCgkJb2Ygc3RhdGlzdGljcyBmb3IgZWFjaCBlbmdpbmUpIHRvIHJlZmxlY3QgdGhlIGV4 dGVuZGVkCgkJY2FwYWJpbGl0aWVzIHRoYXQgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IG9mZmVy cy4KCgkJV291bGQgdGhhdCBiZSBicmVha2luZyB0aGUgQUJJPwoKCQkuLi4gT3IgYXJlIHRoZXJl IGFueSBvdGhlciB3YXkgb2YgZG9pbmcgdGhpcz8KCiogRmVhdHVyZSAyOiBXYXRjaGRvZyBUaW1l b3V0IChhLmsuYSAibWVkaWEgZW5naW5lIHJlc2V0IikgZm9yIGdlbjguCgpUaGlzIGZlYXR1cmUg YWxsb3dzIHVzZXJsYW5kIGFwcGxpY2F0aW9ucyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IGlu ZGl2aWR1YWwKYmF0Y2ggYnVmZmVycyBzaG91bGQgaGF2ZSBhIGZpcnN0LWxldmVsLCBmaW5lLWdy YWluZWQsIGhhcmR3YXJlLWJhc2VkIGhhbmcKZGV0ZWN0aW9uIG1lY2hhbmlzbSBvbiB0b3Agb2Yg dGhlIG9yZGluYXJ5LCBzb2Z0d2FyZS1iYXNlZCBwZXJpb2RpYyBoYW5nCmNoZWNrZXIgdGhhdCBp cyBhbHJlYWR5IGluIHRoZSBkcml2ZXIuIFRoZSBhZHZhbnRhZ2Ugb3ZlciByZWx5aW5nIHNvbGVs eSBvbiB0aGUKY3VycmVudCBzb2Z0d2FyZS1iYXNlZCBoYW5nIGNoZWNrZXIgaXMgdGhhdCB0aGUg d2F0Y2hkb2cgdGltZW91dCBtZWNoYW5pc20gaXMKYWJvdXQgMTAwMHggcXVpY2tlciBhbmQgbW9y ZSBwcmVjaXNlLiBTaW5jZSBpdCdzIG5vdCBhIGZ1bGwgZHJpdmVyLWxldmVsIGhhbmcKZGV0ZWN0 aW9uIG1lY2hhbmlzbSBidXQgb25seSB0YXJnZXR0aW5nIG9uZSBpbmRpdmlkdWFsIGJhdGNoIGJ1 ZmZlciBhdCBhIHRpbWUKaXQgY2FuIGFmZm9yZCB0byBiZSB0aGF0IHF1aWNrIHdpdGhvdXQgcmlz a2luZyBhbiBpbmNyZWFzZSBpbiBmYWxzZSBwb3NpdGl2ZQpoYW5nIGRldGVjdGlvbi4KClRoaXMg ZmVhdHVyZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CgphKSBXYXRjaGRvZyB0aW1l b3V0IGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgZm9yIGhhbmRsaW5nIHdhdGNoZG9nIGludGVy cnVwdHMKYW5kIGNvbm5lY3RpbmcgdGhlc2UgdG8gcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5LgoK YikgSW5qZWN0aW9uIG9mIHdhdGNoZG9nIHRpbWVyIGVuYWJsZW1lbnQvY2FuY2VsbGF0aW9uIGlu c3RydWN0aW9ucwpiZWZvcmUvYWZ0ZXIgdGhlIGJhdGNoIGJ1ZmZlciBzdGFydCBpbnN0cnVjdGlv biBpbiB0aGUgcmluZyBidWZmZXIgc28gdGhhdAp3YXRjaGRvZyB0aW1lb3V0IGlzIGNvbm5lY3Rl ZCB0byB0aGUgc3VibWlzc2lvbiBvZiBhbiBpbmRpdmlkdWFsIGJhdGNoIGJ1ZmZlci4KCmMpIEV4 dGVuc2lvbiBvZiB0aGUgRFJNIGJhdGNoIGJ1ZmZlciBpbnRlcmZhY2UsIGV4cG9zaW5nIHRoZSB3 YXRjaGRvZyB0aW1lb3V0CmZlYXR1cmUgdG8gdXNlcmxhbmQuIFdlJ3ZlIGdvdCB0d28gb3BlbiBz b3VyY2UgZ3JvdXBzIGluIFZQRyBjdXJyZW50bHkgaW4gdGhlCnByb2Nlc3Mgb2YgaW50ZWdyYXRp bmcgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlLCB3aGljaCBzaG91bGQgbWFrZSBpdApwcmluY2lw YWxseSBwb3NzaWJsZSB0byB1cHN0cmVhbSB0aGlzIGV4dGVuc2lvbi4KClRoZXJlIGlzIGN1cnJl bnRseSBmdWxsIHdhdGNoZG9nIHRpbWVvdXQgc3VwcG9ydCBmb3IgZ2VuNyBpbiBHTUlOIGFuZCBp dCBpcwpxdWl0ZSBzaW1pbGFyIHRvIHRoZSBnZW44IGltcGxlbWVudGF0aW9uIHNvIHRoZXJlIGlz IG5vdGhpbmcgb2J2aW91cyB0aGF0CnByZXZlbnRzIHVzIGZyb20gdXBzdHJlYW1pbmcgdGhhdCBj b2RlIGFsb25nIHdpdGggdGhlIGdlbjggY29kZS4gSG93ZXZlciwKd2F0Y2hkb2cgdGltZW91dCBp cyBmdWxseSBkZXBlbmRlbnQgb24gdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIGFu ZAp0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoaXMgY29kZSBzdWJtaXNzaW9uIGZvciBnZW43LiBUaGVy ZWZvcmUgd2F0Y2hkb2cgdGltZW91dApzdXBwb3J0IGZvciBnZW43IGhhcyBiZWVuIGV4Y2x1ZGVk IHVudGlsIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBzdXBwb3J0IGZvcgpnZW43IGhhcyBsYW5k ZWQgdXBzdHJlYW0uCgpBcyBwYXJ0IG9mIHRoaXMgc3VibWlzc2lvbiB3ZSd2ZSBoYWQgdG8gcmVp bnN0YXRlIHRoZSB3b3JrIHF1ZXVlIHRoYXQgd2FzCnByZXZpb3VzbHkgaW4gcGxhY2UgYmV0d2Vl biB0aGUgZXJyb3IgaGFuZGxlciBhbmQgdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aC4gVGhlCnJlYXNv biBmb3IgdGhpcyBpcyB0aGF0IHRoZSBwZXItZW5naW5lIHJlY292ZXJ5IHBhdGggaXMgY2FsbGVk IGRpcmVjdGx5IGZyb20KdGhlIGludGVycnVwdCBoYW5kbGVyIGluIHRoZSBjYXNlIG9mIHdhdGNo ZG9nIHRpbWVvdXQuIEluIHRoYXQgc2l0dWF0aW9uCnRoZXJlJ3Mgbm8gd2F5IG9mIGdyYWJiaW5n IHRoZSBzdHJ1Y3RfbXV0ZXgsIHdoaWNoIGlzIGEgcmVxdWlyZW1lbnQgZm9yIHRoZQpoYW5nIHJl Y292ZXJ5IHBhdGguIFRoZXJlZm9yZSwgYnkgcmVpbnN0YXRpbmcgdGhlIHdvcmsgcXVldWUgd2Ug cHJvdmlkZSBhCnVuaWZpZWQgZXhlY3V0aW9uIGNvbnRleHQgZm9yIHRoZSBoYW5nIHJlY292ZXJ5 IGNvZGUgdGhhdCBhbGxvd3MgdGhlIGhhbmcKcmVjb3ZlcnkgY29kZSB0byBncmFiIHdoYXRldmVy IGxvY2tzIGl0IG5lZWRzIHdpdGhvdXQgc2FjcmlmaWNpbmcgaW50ZXJydXB0CmxhdGVuY3kgdG9v IG11Y2ggb3Igc2xlZXBpbmcgaW5kZWZpbml0ZWx5IGluIGhhcmQgaW50ZXJydXB0IGNvbnRleHQu CgoqIEZlYXR1cmUgMy4gQ29udGV4dCBTdWJtaXNzaW9uIFN0YXR1cyBDb25zaXN0ZW5jeSBjaGVj a2luZwoKU29tZXRoaW5nIHRoYXQgYmVjb21lcyBhcHBhcmVudCB3aGVuIHlvdSBydW4gbG9uZy1k dXJhdGlvbiBvcGVyYXRpb25zIHRlc3RzCndpdGggY29uY3VycmVudCByZW5kZXJpbmcgcHJvY2Vz c2VzIHdpdGggaW50ZXJtaXR0ZW50bHkgaW5qZWN0ZWQgaGFuZ3MgaXMgdGhhdAppdCBzZWVtcyBs aWtlIHRoZSBHUFUgZm9yZ2V0cyB0byBzZW5kIGNvbnRleHQgY29tcGxldGlvbiBpbnRlcnJ1cHRz IHRvIHRoZQpkcml2ZXIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzLiBXaGF0IHRoaXMgbWVhbnMg aXMgdGhhdCB0aGUgZHJpdmVyIHNvbWV0aW1lcwpnZXRzIHN0dWNrIG9uIGEgY29udGV4dCB0aGF0 IG5ldmVyIHNlZW1zIHRvIGZpbmlzaCwgYWxsIHRoZSB3aGlsZSB0aGUgaGFyZHdhcmUKaGFzIGNv bXBsZXRlZCBhbmQgaXMgd2FpdGluZyBmb3IgbW9yZSB3b3JrLgoKVGhlIHByb2JsZW0gd2l0aCB0 aGlzIGlzIHRoYXQgdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIHJlbGllcyBvbgpj b250ZXh0IHJlc3VibWlzc2lvbiB0byBraWNrIG9mZiB0aGUgaGFyZHdhcmUgYWdhaW4gZm9sbG93 aW5nIGFuIGVuZ2luZSByZXNldC4KVGhpcyBjYW4gb25seSBiZSBkb25lIHNhZmVseSBpZiB0aGUg aGFyZHdhcmUgYW5kIGRyaXZlciBzaGFyZSB0aGUgc2FtZSBvcGluaW9uCmFib3V0IHRoZSBjdXJy ZW50IHN0YXRlLiBUaGVyZWZvcmUgd2UndmUgZXh0ZW5kZWQgdGhlIHBlcmlvZGljIGhhbmcgY2hl Y2tlciB0bwpjaGVjayBmb3IgY29udGV4dCBzdWJtaXNzaW9uIHN0YXRlIGluY29uc2lzdGVuY2ll cyBhc2lkZSBmcm9tIHRoZSBoYW5nIGNoZWNraW5nCml0IGFscmVhZHkgZG9lcy4KCklmIHN1Y2gg YSBzdGF0ZSBpcyBkZXRlY3RlZCBpdCBpcyBhc3N1bWVkIChiYXNlZCBvbiBleHBlcmllbmNlKSB0 aGF0IGEgY29udGV4dApjb21wbGV0aW9uIGludGVycnVwdCBoYXMgYmVlbiBsb3N0IHNvbWVob3cu IElmIHRoaXMgc3RhdGUgcGVyc2lzdHMgZm9yIHNvbWUKdGltZSBhbiBhdHRlbXB0IHRvIGNvcnJl Y3QgaXQgaXMgbWFkZSBieSBmYWtpbmcgdGhlIHByZXN1bWFibHkgbG9zdCBjb250ZXh0CmNvbXBs ZXRpb24gaW50ZXJydXB0IGJ5IG1hbnVhbGx5IGNhbGxpbmcgdGhlIGV4ZWNsaXN0IGludGVycnVw dCBoYW5kbGVyLCB3aGljaAppcyBub3JtYWxseSBjYWxsZWQgZnJvbSB0aGUgbWFpbiBpbnRlcnJ1 cHQgaGFuZGxlciBjdWVkIGJ5IGEgcmVjZWl2ZWQgY29udGV4dApldmVudCBpbnRlcnJ1cHQuIEp1 c3QgYmVjYXVzZSBhbiBpbnRlcnJ1cHQgZ29lcyBtaXNzaW5nIGRvZXMgbm90IG1lYW4gdGhhdCB0 aGUKY29udGV4dCBzdGF0dXMgYnVmZmVyIChDU0IpIGRvZXMgbm90IGdldCBhcHByb3ByaWF0ZWx5 IHVwZGF0ZWQgYnkgdGhlIGhhcmR3YXJlLAp3aGljaCBtZWFucyB0aGF0IHdlIGNhbiBleHBlY3Qg dG8gZmluZCBhbGwgdGhlIHJlY2VudCBjaGFuZ2VzIHRvIHRoZSBjb250ZXh0CnN0YXRlcyBmb3Ig ZWFjaCBlbmdpbmUgY2FwdHVyZWQgdGhlcmUuIElmIHRoZXJlIGFyZSBvdXRzdGFuZGluZyBjb250 ZXh0IHN0YXR1cwpjaGFuZ2VzIGluIHN0b3JlIHRoZXJlIHRoZW4gdGhlIGZha2VkIGNvbnRleHQg ZXZlbnQgaW50ZXJydXB0IHdpbGwgYWxsb3cgdGhlCmludGVycnVwdCBoYW5kbGVyIHRvIGFjdCBv biB0aGVtLiBJbiB0aGUgY2FzZSBvZiBsb3N0IGNvbnRleHQgY29tcGxldGlvbgppbnRlcnJ1cHRz IHRoaXMgd2lsbCBwcm9tcHQgdGhlIGRyaXZlciB0byByZW1vdmUgdGhlIGFscmVhZHkgY29tcGxl dGVkIGNvbnRleHQKZnJvbSB0aGUgZXhlY2xpc3QgcXVldWUgYW5kIG1vdmUgb24gdG8gdGhlIG5l eHQgcGVuZGluZyBwaWVjZSBvZiB3b3JrIGFuZAp0aGVyZWJ5IGVsaW1pbmF0aW5nIHRoZSBpbmNv bnNpc3RlbmN5LgoKKiBGZWF0dXJlIDQuIERlYnVnZnMgZXh0ZW5zaW9ucyBmb3IgcGVyLWVuZ2lu ZSBoYW5nIHJlY292ZXJ5IGFuZCBURFIvd2F0Y2hkb2cgdHJhY2UKcG9pbnRzLgoKClRvbWFzIEVs ZiAoMTEpOgogIGRybS9pOTE1OiBFYXJseSBleGl0IGZyb20gc2VtYXBob3JlX3dhaXRzX2ZvciBm b3IgZXhlY2xpc3QgbW9kZS4KICBkcm0vaTkxNTogSW50cm9kdWNlIHVldmVudCBmb3IgZnVsbCBH UFUgcmVzZXQuCiAgZHJtL2k5MTU6IEFkZCByZXNldCBzdGF0cyBlbnRyeSBwb2ludCBmb3IgcGVy LWVuZ2luZSByZXNldC4KICBkcm0vaTkxNTogQWRkaW5nIFREUiAvIHBlci1lbmdpbmUgcmVzZXQg c3VwcG9ydCBmb3IgZ2VuOC4KICBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5MTVfZ2VtX2NoZWNrX3dl ZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbgogICAgcHJvZ3Jlc3MKICBkcm0vaTkxNTogRGlz YWJsZSB3YXJuaW5ncyBmb3IgVERSIGludGVycnVwdGlvbnMgaW4gdGhlIGRpc3BsYXkKICAgIGRy aXZlci4KICBkcm0vaTkxNTogUmVpbnN0YXRlIGhhbmcgcmVjb3Zlcnkgd29yayBxdWV1ZS4KICBk cm0vaTkxNTogV2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0IGZvciBnZW44LgogIGRybS9pOTE1OiBG YWtlIGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRocm91Z2ggZm9yY2VkIENTQiBjaGVjay4KICBk cm0vaTkxNTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeS4K ICBkcm0vaTkxNTogVERSL3dhdGNoZG9nIHRyYWNlIHBvaW50cy4KCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgfCAgMTQ2ICsrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kbWEuYyAgICAgICAgIHwgICA3OSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMgICAgICAgICB8ICAyMDEgKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICB8ICAgOTEgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYyAgICAgICAgIHwgICA5MyArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9l cnJvci5jICAgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAg ICAgfCAgMzc4ICsrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFt cy5jICAgICAgfCAgIDEwICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAg ICB8ICAgMTMgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oICAgICAgIHwgIDI5 OCArKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwg ICAxNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgIDg1OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuaCAgICAgICAgfCAgIDE2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmNf dGRyLmggICAgfCAgIDQwICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMgfCAgIDg3ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8 ICAxMDkgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgICAgIHwgIDI0 MSArKysrKysrKy0KIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICB8ICAg IDUgKy0KIDE4IGZpbGVzIGNoYW5nZWQsIDI1ODkgaW5zZXJ0aW9ucygrKSwgOTQgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjX3Rk ci5oCgotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK