From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [PATCH 00/20] TDR/watchdog support for gen8 Date: Fri, 23 Oct 2015 02:32:22 +0100 Message-ID: <1445563962-20753-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 7D21B88CFA for ; Thu, 22 Oct 2015 18:32:50 -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 YSB0ZXJtIG1vcmUgd2lkZWx5IHVzZWQgb3V0c2lkZSBvZiB0aGUgaTkxNSBkcml2ZXIuCgpUaGlz IGZlYXR1cmUgaW50cm9kdWNlcyBhbiBleHRlbnNpYmxlIGZyYW1ld29yayB0aGF0IGN1cnJlbnRs eSBzdXBwb3J0cyBnZW44CmJ1dCB0aGF0IGNhbiBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gc3VwcG9y dCBnZW43IGFzIHdlbGwgKHdoaWNoIGlzIGFscmVhZHkgdGhlCmNhc2UgaW4gQW5kcm9pZCBidXQg dW5mb3J0dW5hdGVseSBpbiBhIG5vdCBxdWl0ZSB1cHN0cmVhbWFibGUgZm9ybSkuIFRoZSBjb2Rl CmNvbnRhaW5lZCBpbiB0aGlzIHN1Ym1pc3Npb24gcmVwcmVzZW50cyB0aGUgZXNzZW50aWFscyBv ZiB3aGF0IGlzIGN1cnJlbnRseSBpbgpBbmRyb2lkIG1lcmdlZCB3aXRoIHdoYXQgaXMgY3VycmVu dGx5IGluIHVwc3RyZWFtIChhcyBvZiB0aGUgdGltZSB3aGVuIHRoaXMKd29yayBjb21tZW5jZWQg YSBmZXcgbW9udGhzIGJhY2spLgoKQSBuZXcgaGFuZyByZWNvdmVyeSBwYXRoIGhhcyBiZWVuIGFk ZGVkIGFsb25nc2lkZSB0aGUgbGVnYWN5IEdQVSByZXNldCBwYXRoLAp3aGljaCB0YWtlcyBjYXJl IG9mIGVuZ2luZSByZWNvdmVyeSBvbmx5LiBBc2lkZSBmcm9tIGFkZGluZyBzdXBwb3J0IGZvcgpw ZXItZW5naW5lIHJlY292ZXJ5IHRoaXMgZmVhdHVyZSBhbHNvIGludHJvZHVjZXMgcnVsZXMgZm9y IGhvdyB0byBwcm9tb3RlIGEKcG90ZW50aWFsIHBlci1lbmdpbmUgcmVzZXQgdG8gYSBsZWdhY3ks IGZ1bGwgR1BVIHJlc2V0LgoKVGhlIGhhbmcgY2hlY2tlciBub3cgaW50ZWdyYXRlcyB3aXRoIHRo ZSBlcnJvciBoYW5kbGVyIGluIGEgc2xpZ2h0bHkgZGlmZmVyZW50CndheSBpbiB0aGF0IGl0IGFs bG93cyBoYW5nIHJlY292ZXJ5IG9uIG11bHRpcGxlIGVuZ2luZXMgYXQgdGhlIHNhbWUgdGltZSBi eQpwYXNzaW5nIGFuIGVuZ2luZSBmbGFnIG1hc2sgdG8gdGhlIGVycm9yIGhhbmRsZXIgd2hlcmUg ZmxhZ3MgcmVwcmVzZW50aW5nIGFsbApvZiB0aGUgaHVuZyBlbmdpbmVzIGFyZSBzZXQuIFRoaXMg YWxsb3dzIHVzIHRvIHNjaGVkdWxlIGhhbmcgcmVjb3Zlcnkgb25jZSBmb3IKYWxsIGN1cnJlbnRs eSBodW5nIGVuZ2luZXMgaW5zdGVhZCBvZiBvbmUgaGFuZyByZWNvdmVyeSBwZXIgZGV0ZWN0ZWQg ZW5naW5lCmhhbmcuIFByZXZpb3VzbHksIHdoZW4gb25seSBmdWxsIEdQVSByZXNldCB3YXMgc3Vw cG9ydGVkIHRoaXMgd2FzIGFsbCB0aGUgc2FtZQpzaW5jZSBpdCB3b3VsZG4ndCBtYXR0ZXIgaWYg b25lIG9yIGZvdXIgZW5naW5lcyB3ZXJlIGh1bmcgYXQgYW55IGdpdmVuIHBvaW50CnNpbmNlIGl0 IHdvdWxkIGFsbCBhbW91bnQgdG8gdGhlIHNhbWUgdGhpbmcgLSB0aGUgR1BVIGdldHRpbmcgcmVz ZXQuIEFzIGl0CnN0YW5kcyBub3cgdGhlIGJlaGF2aW91ciBpcyBkaWZmZXJlbnQgZGVwZW5kaW5n IG9uIHdoaWNoIGVuZ2luZSBpcyBodW5nIHNpbmNlCmVhY2ggZW5naW5lIGlzIHJlc2V0IGluZGVw ZW5kZW50bHkgb2YgYWxsIHRoZSBvdGhlciBlbmdpbmVzLCB0aGVyZWZvcmUgd2UgaGF2ZQp0byB0 aGluayBhYm91dCB0aGlzIGluIHRlcm1zIG9mIHNjaGVkdWxpbmcgY29zdCBhbmQgcmVjb3Zlcnkg bGF0ZW5jeS4gIChzZWUgdGhlCm9wZW4gcXVlc3Rpb25zIHNlY3Rpb24gYmVsb3cpCgoqIEZlYXR1 cmUgMjogV2F0Y2hkb2cgVGltZW91dCAoYS5rLmEgIm1lZGlhIGVuZ2luZSByZXNldCIpIGZvciBn ZW44LgoKVGhpcyBmZWF0dXJlIGFsbG93cyB1c2VybGFuZCBhcHBsaWNhdGlvbnMgdG8gY29udHJv bCB3aGV0aGVyIG9yIG5vdCBpbmRpdmlkdWFsCmJhdGNoIGJ1ZmZlcnMgc2hvdWxkIGhhdmUgYSBm aXJzdC1sZXZlbCwgZmluZS1ncmFpbmVkLCBoYXJkd2FyZS1iYXNlZCBoYW5nCmRldGVjdGlvbiBt ZWNoYW5pc20gb24gdG9wIG9mIHRoZSBvcmRpbmFyeSwgc29mdHdhcmUtYmFzZWQgcGVyaW9kaWMg aGFuZwpjaGVja2VyIHRoYXQgaXMgYWxyZWFkeSBpbiB0aGUgZHJpdmVyLiBUaGUgYWR2YW50YWdl IG92ZXIgcmVseWluZyBzb2xlbHkgb24gdGhlCmN1cnJlbnQgc29mdHdhcmUtYmFzZWQgaGFuZyBj aGVja2VyIGlzIHRoYXQgdGhlIHdhdGNoZG9nIHRpbWVvdXQgbWVjaGFuaXNtIGlzCmFib3V0IDEw MDB4IHF1aWNrZXIgYW5kIG1vcmUgcHJlY2lzZS4gU2luY2UgaXQncyBub3QgYSBmdWxsIGRyaXZl ci1sZXZlbCBoYW5nCmRldGVjdGlvbiBtZWNoYW5pc20gYnV0IG9ubHkgdGFyZ2V0dGluZyBvbmUg aW5kaXZpZHVhbCBiYXRjaCBidWZmZXIgYXQgYSB0aW1lCml0IGNhbiBhZmZvcmQgdG8gYmUgdGhh dCBxdWljayB3aXRob3V0IHJpc2tpbmcgYW4gaW5jcmVhc2UgaW4gZmFsc2UgcG9zaXRpdmUKaGFu ZyBkZXRlY3Rpb25zLgoKVGhpcyBmZWF0dXJlIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgY2hhbmdl czoKCmEpIElSUSBzZXJ2aWNlIHJvdXRpbmUgZm9yIGhhbmRsaW5nIHdhdGNoZG9nIHRpbWVvdXQg aW50ZXJydXB0cyBhbmQgY29ubmVjdGluZwp0aGVzZSBkaXJlY3RseSB0byB0aGUgcGVyLWVuZ2lu ZSBoYW5nIHJlY292ZXJ5IHBhdGggdmlhIHRoZSBkcml2ZXIgZXJyb3IKaGFuZGxlci4KCmIpIElu amVjdGlvbiBvZiB3YXRjaGRvZyB0aW1lciBlbmFibGVtZW50L2NhbmNlbGxhdGlvbiBpbnN0cnVj dGlvbnMKYmVmb3JlL2FmdGVyIHRoZSBiYXRjaCBidWZmZXIgc3RhcnQgaW5zdHJ1Y3Rpb24gaW4g dGhlIHJpbmcgYnVmZmVyIHNvIHRoYXQKd2F0Y2hkb2cgdGltZW91dCBpcyBjb25uZWN0ZWQgdG8g dGhlIHN1Ym1pc3Npb24gb2YgYW4gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIuCgpjKSBFeHRlbnNp b24gb2YgdGhlIERSTSBiYXRjaCBidWZmZXIgaW50ZXJmYWNlLCBleHBvc2luZyB0aGUgd2F0Y2hk b2cgdGltZW91dApmZWF0dXJlIHRvIHVzZXJsYW5kLgoKVGhlcmUgaXMgY3VycmVudGx5IGZ1bGwg d2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0IGZvciBnZW43IGluIEFuZHJvaWQgYW5kIGl0IGlzCnF1 aXRlIHNpbWlsYXIgdG8gdGhlIGdlbjggaW1wbGVtZW50YXRpb24gc28gdGhlcmUgaXMgbm90aGlu ZyBvYnZpb3VzIHRoYXQKcHJldmVudHMgdXMgZnJvbSB1cHN0cmVhbWluZyB0aGF0IGNvZGUgYWxv bmcgd2l0aCB0aGUgZ2VuOCBjb2RlLiBIb3dldmVyLAp3YXRjaGRvZyB0aW1lb3V0IGlzIGZ1bGx5 IGRlcGVuZGVudCBvbiB0aGUgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHBhdGggYW5kCnRoYXQg aXMgbm90IHBhcnQgb2YgdGhpcyBjb2RlIHN1Ym1pc3Npb24gZm9yIGdlbjcuIFRoZXJlZm9yZSB3 YXRjaGRvZyB0aW1lb3V0CnN1cHBvcnQgZm9yIGdlbjcgaGFzIGJlZW4gZXhjbHVkZWQgdW50aWwg cGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHN1cHBvcnQgZm9yCmdlbjcgaGFzIGxhbmRlZCB1cHN0 cmVhbS4KCkFzIHBhcnQgb2YgdGhpcyBzdWJtaXNzaW9uIHdlJ3ZlIGhhZCB0byByZWluc3RhdGUg dGhlIHdvcmsgcXVldWUgdGhhdCB3YXMKcHJldmlvdXNseSBpbiBwbGFjZSBiZXR3ZWVuIHRoZSBl cnJvciBoYW5kbGVyIGFuZCB0aGUgaGFuZyByZWNvdmVyeSBwYXRoLiBUaGUKcmVhc29uIGZvciB0 aGlzIGlzIHRoYXQgdGhlIHBlci1lbmdpbmUgcmVjb3ZlcnkgcGF0aCBpcyBjYWxsZWQgZGlyZWN0 bHkgZnJvbQp0aGUgaW50ZXJydXB0IGhhbmRsZXIgaW4gdGhlIGNhc2Ugb2Ygd2F0Y2hkb2cgdGlt ZW91dC4gSW4gdGhhdCBzaXR1YXRpb24KdGhlcmUncyBubyB3YXkgb2YgZ3JhYmJpbmcgdGhlIHN0 cnVjdF9tdXRleCwgd2hpY2ggaXMgYSByZXF1aXJlbWVudCBmb3IgdGhlCmhhbmcgcmVjb3Zlcnkg cGF0aC4gVGhlcmVmb3JlLCBieSByZWluc3RhdGluZyB0aGUgd29yayBxdWV1ZSB3ZSBwcm92aWRl IGEKdW5pZmllZCBleGVjdXRpb24gY29udGV4dCBmb3IgdGhlIGhhbmcgcmVjb3ZlcnkgY29kZSB0 aGF0IGFsbG93cyB0aGUgaGFuZwpyZWNvdmVyeSBjb2RlIHRvIGdyYWIgd2hhdGV2ZXIgbG9ja3Mg aXQgbmVlZHMgd2l0aG91dCBzYWNyaWZpY2luZyBpbnRlcnJ1cHQKbGF0ZW5jeSB0b28gbXVjaCBv ciBzbGVlcGluZyBpbmRlZmluaXRlbHkgaW4gaGFyZCBpbnRlcnJ1cHQgY29udGV4dC4KCiogRmVh dHVyZSAzLiBDb250ZXh0IFN1Ym1pc3Npb24gU3RhdHVzIENvbnNpc3RlbmN5IChDU1NDKSBjaGVj a2luZwoKU29tZXRoaW5nIHRoYXQgYmVjb21lcyBhcHBhcmVudCB3aGVuIHlvdSBydW4gbG9uZy1k dXJhdGlvbiBvcGVyYXRpb25zIHRlc3RzCndpdGggY29uY3VycmVudCByZW5kZXJpbmcgcHJvY2Vz c2VzIHdpdGggaW50ZXJtaXR0ZW50bHkgaW5qZWN0ZWQgaGFuZ3MgaXMgdGhhdAppdCBzZWVtcyBs aWtlIHRoZSBHUFUgZmFpbHMgdG8gc2VuZCBjb250ZXh0IGV2ZW50IGludGVycnVwdHMgdG8gdGhl IGRyaXZlcgp1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKGluIHBhcnRpY3VsYXIgY29udGV4dCBj b21wbGV0aW9uIGFuZCBlbGVtZW50IHN3aXRjaApldmVudHMgdGhhdCB3b3VsZCBub3JtYWxseSBs ZWFkIHRvIHRoZSBjb250ZXh0IGV2ZW50IElSUSBoYW5kbGVyIHJlbW92aW5nCmNvbXBsZXRlZCBj b250ZXh0cyBmcm9tIHRoZSBleGVjbGlzdCBxdWV1ZSBhbmQgc3VibWl0IG5ldyBjb250ZXh0cyB0 byB0aGUKaGFyZHdhcmUsIHRodXMgZHJpdmluZyB3b3JrIHN1Ym1pc3Npb24gZm9yd2FyZCkuIFdo YXQgdGhpcyBtZWFucyBpcyB0aGF0IHRoZQpkcml2ZXIgc29tZXRpbWVzIGdldHMgc3R1Y2sgb24g YSBjb250ZXh0IHRoYXQgbmV2ZXIgc2VlbXMgdG8gZmluaXNoLCBhbGwgdGhlCndoaWxlIHRoZSBo YXJkd2FyZSBoYXMgY29tcGxldGVkIGFuZCBpcyB3YWl0aW5nIGZvciBtb3JlIHdvcmsuCgpOb3Jt YWxseSBzdWNoIGhhbmdzIHdvdWxkIGJlIGRlYWx0IHdpdGggYnkgdGhlIGhhbmcgZGV0ZWN0aW9u IC8gaGFuZyByZWNvdmVyeQpmdW5jdGlvbmFsaXR5IGluIHRoZSBkcml2ZXIuICBUaGUgcHJvYmxl bSB3aXRoIHRoaXMgaW4gYSBwZXItZW5naW5lIGhhbmcKcmVjb3Zlcnkgc2l0dWF0aW9uIGlzIHRo YXQgdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIHJlbGllcyBvbiBjb250ZXh0CnJl c3VibWlzc2lvbiBpbiBvcmRlciB0byBraWNrIG9mZiB0aGUgaGFyZHdhcmUgYWdhaW4gZm9sbG93 aW5nIGFuIGVuZ2luZSByZXNldC4KVGhpcyBjYW4gb25seSBiZSBkb25lIHNhZmVseSBpZiB0aGUg aGFyZHdhcmUgYW5kIGRyaXZlciBzaGFyZSB0aGUgc2FtZSBvcGluaW9uCmFib3V0IHRoZSBjdXJy ZW50IHN0YXRlLiBUaGVyZWZvcmUsIHVubGVzcyBzdGVwcyBhcmUgdGFrZW4gdGhlIHBlci1lbmdp bmUgaGFuZwpyZWNvdmVyeSBwYXRoIGlzIGluZWZmZWN0aXZlIGluIHRoaXMgdHlwZSBvZiBzaXR1 YXRpb24uCgpPbmUgc3RlcCB0aGF0IGNhbiBiZSB0YWtlbiB0byBkZWFsIHdpdGggdGhpcyBraW5k IG9mIHN0YXRlIGluY29uc2lzdGVuY3kgaXMgdG8sCmFmdGVyIGhhdmluZyBkZXRlY3RlZCBzdWNo IGFuIGluY29uc2lzdGVuY3kgYXQgdGhlIHN0YXJ0IG9mIHRoZSBwZXItZW5naW5lIGhhbmcKcmVj b3ZlcnkgcGF0aCwgZmFrZSB0aGUgcHJlc3VtZWQgbG9zdCBjb250ZXh0IGV2ZW50IGludGVycnVw dCBieSBtYW51YWxseQpjYWxsaW5nIHRoZSBjb250ZXh0IGV2ZW50IElSUSBoYW5kbGVyIGZyb20g dGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoLgpUaGUgaW1wb3J0YW50IHRoaW5nIHRv IG5vdGUgaGVyZSBpcyB0aGF0IGV2ZW4gaWYgdGhlIGhhcmR3YXJlIHdvdWxkIGZhaWwgdG8Kc2Vu ZCBhbiBJUlEgdG8gdGhlIGRyaXZlciBpdCBkb2Vzbid0IG1lYW4gdGhhdCBpdCB3b3VsZCBhbHNv IGZhaWwgdG8gc3RvcmUgdGhlCnByb3BlciBjb250ZXh0IHN0YXRlIHRyYW5zaXRpb24gZXZlbnRz IGluIHRoZSBDU0IgYnVmZmVyLiBUaGVzZSBldmVudHMgd291bGQgYmUKdGhlcmUsIHdhaXRpbmcg dG8gYmUgcHJvY2Vzc2VkLCBpbiB0aGUgZXZlbnQgb2YgYSBsb3N0IGNvbnRleHQgZXZlbnQgSVJR LiBCeQpmYWtpbmcgdGhlIElSUSB0aGVzZSBldmVudHMgd291bGQgYmUgZm91bmQgYW5kIGFjdGVk IHVwb24gYW5kIGhvcGVmdWxseSBURFIKd291bGQgdGhlbiBmaW5kIHRoZSB1bnByb2Nlc3NlZCBj b250ZXh0IGNvbXBsZXRpb24gZXZlbnQgdGhhdCB3b3VsZCBjYXVzZSB0aGUKYmxvY2tpbmcgY29u dGV4dCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGV4ZWNsaXN0IHF1ZXVlLCB0aHVzIGFsbG93aW5n IHdvcmsKc3VibWlzc2lvbiB0byByZXN1bWUuCgpJbiBvcmRlciB0byBmYWNpbGl0YXRlIHZhbGlk YXRpb24gb2YgdGhpcyBmZWF0dXJlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgZW1iZWRkZWQKaW4gdGhl IGNvbnRleHQgZXZlbnQgSVJRIGhhbmRsZXIgaGFzIGJlZW4gaW5jbHVkZWQgZm9yIGluZHVjaW5n IHN0YXRlCmluY29uc2lzdGVuY2llcyBieSBmYWtpbmcgdGhlIGxvc3Mgb2YgSVJRcy4gQnkgYWN0 aXZlbHkgbG9zaW5nIElSUXMgdGhlCmhhcmR3YXJlIGdvZXMgaW50byBvbmUgc3RhdGUgd2hpbGUg dGhlIGRyaXZlciBpcyBoZWxkIGJhY2sgd2FpdGluZyBmb3IgdGhlCnN0YXRlIHRyYW5zaXRpb24g dG8gaGFwcGVuLiBUaGlzIHRoZW4gY2F1c2VzIHRoZSBjb250ZXh0IHN1Ym1pc3Npb24gc3RhdGUK Y29uc2lzdGVuY3kgY2hlY2tlciB0byBraWNrIGluLCBkZXRlY3QgdGhlIGluY29uc2lzdGVuY3kg YW5kIGF0dGVtcHQgdG8gcmVjdGlmeQppdC4gRmFpbGluZyB0byBkbyBzbyB3b3VsZCBwcm9tb3Rl IHRoZSBoYW5nIHRvIGxlZ2FjeSBmdWxsIEdQVSByZXNldCBsaWtlIGFueQpvdGhlciBwZXItZW5n aW5lIGhhbmcgcmVjb3ZlcnkgZmFpbHVyZXMuCgpPUEVOIFFVRVNUSU9OUzoKCgkxLiBGb3IgdGhl IGZ1dHVyZSwgZG8gd2Ugd2FudCB0byBpbnZlc3RpZ2F0ZSB0aGUgcG9zc2liaWxpdHkgb2YKCWNv bmN1cnJlbnQgcGVyLWVuZ2luZSBoYW5nIGRldGVjdGlvbj8gSW4gdGhlIGN1cnJlbnQgdXBzdHJl YW0gZHJpdmVyCgl0aGVyZSBpcyBvbmx5IG9uZSB3b3JrIHF1ZXVlIHRoYXQgaGFuZGxlcyB0aGUg aGFuZyBjaGVja2VyIGFuZAoJZXZlcnl0aGluZyBmcm9tIGluaXRpYWwgaGFuZyBkZXRlY3Rpb24g dG8gZmluYWwgaGFuZyByZWNvdmVyeSBydW5zIGluCgl0aGlzIHRocmVhZC4gVGhpcyBtYWtlcyBz ZW5zZSBpZiB5b3UncmUgb25seSBzdXBwb3J0aW5nIG9uZSBmb3JtIG9mCgloYW5nIHJlY292ZXJ5 IC0gdXNpbmcgZnVsbCBHUFUgcmVzZXQgYW5kIG5vdGhpbmcgdGllZCB0byBhbnkgcGFydGljdWxh cgoJZW5naW5lLiBIb3dldmVyLCBhcyBwYXJ0IG9mIHRoaXMgcGF0Y2ggc2VyaWVzIHdlJ3JlIGNo YW5naW5nIHRoYXQgYnkKCWludHJvZHVjaW5nIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeS4gSXQg Y291bGQgbWFrZSBzZW5zZSB0byBpbnRyb2R1Y2UKCW11bHRpcGxlIHdvcmsgcXVldWVzIC0gb25l IHBlciBlbmdpbmUgLSB0byBydW4gbXVsdGlwbGUgaGFuZyBjaGVja2luZwoJdGhyZWFkcyBpbiBw YXJhbGxlbC4KCglUaGlzIHdvdWxkIHBvdGVudGlhbGx5IGFsbG93IHNhdmluZ3MgaW4gdGVybXMg b2YgcmVjb3ZlcnkgbGF0ZW5jeSBzaW5jZQoJd2UgZG9uJ3QgaGF2ZSB0byBzY2FuIGFsbCBlbmdp bmVzIGV2ZXJ5IHRpbWUgdGhlIGhhbmcgY2hlY2tlciBpcwoJc2NoZWR1bGVkIGFuZCB0aGUgZXJy b3IgaGFuZGxlciBkb2VzIG5vdCBoYXZlIHRvIHNjYW4gYWxsIGVuZ2luZXMgZXZlcnkKCXRpbWUg aXQgaXMgc2NoZWR1bGVkLiBJbnN0ZWFkLCB3ZSBjb3VsZCBpbXBsZW1lbnQgb25lIHdvcmsgcXVl dWUgcGVyCgllbmdpbmUgdGhhdCB3b3VsZCBpbnZva2UgdGhlIGhhbmcgY2hlY2tlciB0aGF0IG9u bHkgY2hlY2tzIF90aGF0XwoJcGFydGljdWxhciBlbmdpbmUgYW5kIHRoZW4gdGhlIGVycm9yIGhh bmRsZXIgaXMgaW52b2tlZCBmb3IgX3RoYXRfCglwYXJ0aWN1bGFyIGVuZ2luZS4gSWYgb25lIGVu Z2luZSBoYXMgaHVuZyB0aGUgbGF0ZW5jeSBmb3IgZ2V0dGluZyB0bwoJdGhlIGhhbmcgcmVjb3Zl cnkgcGF0aCBmb3IgdGhhdCBwYXJ0aWN1bGFyIGVuZ2luZSB3b3VsZCBiZSAoVGltZSBGb3IKCUhh bmcgQ2hlY2tpbmcgT25lIEVuZ2luZSkgKyAoVGltZSBGb3IgRXJyb3IgSGFuZGxpbmcgT25lIEVu Z2luZSkgcmF0aGVyCgl0aGFuIHRoZSB0aW1lIGl0IHRha2VzIHRvIGRvIGhhbmcgY2hlY2tpbmcg Zm9yIGFsbCBlbmdpbmVzICsgdGhlIHRpbWUKCWl0IHRha2VzIHRvIGRvIGVycm9yIGhhbmRsaW5n IGZvciBhbGwgZW5naW5lcyB0aGF0IGhhdmUgYmVlbiBkZXRlY3RlZAoJYXMgaHVuZyAod2hpY2gg aW4gdGhlIHdvcnN0IGNhc2Ugd291bGQgYmUgYWxsIGVuZ2luZXMpLiBUaGVyZSB3b3VsZAoJcG90 ZW50aWFsbHkgYmUgYXMgbWFueSBoYW5nIGNoZWNrZXIgYW5kIGVycm9yIGhhbmRsaW5nIHRocmVh ZHMgZ29pbmcgb24KCWNvbmN1cnJlbnRseSBhcyB0aGVyZSBhcmUgZW5naW5lcyBpbiB0aGUgaGFy ZHdhcmUgYnV0IHRoZXkgd291bGQgYWxsIGJlCglydW5uaW5nIGluIHBhcmFsbGVsIHdpdGhvdXQg YW55IHNpZ25pZmljYW50IGxvY2tpbmcuIFRoZSBmaXJzdCB0aW1lCgl3aGVyZSBhbnkgdGhyZWFk IG5lZWRzIGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gdGhlIGRyaXZlciBpcyBhdCB0aGUgcG9pbnQKCW9m IHRoZSBhY3R1YWwgaGFuZyByZWNvdmVyeSBidXQgdGhlIHRpbWUgaXQgdGFrZXMgdG8gZ2V0IHRo ZXJlIHdvdWxkCgl0aGVvcmV0aWNhbGx5IGJlIGxvd2VyIGFuZCB0aGUgdGltZSBpdCBhY3R1YWxs eSB0YWtlcyB0byBkbyBwZXItZW5naW5lCgloYW5nIHJlY292ZXJ5IGlzIHF1aXRlIGEgbG90IGxv d2VyIHRoYW4gdGhlIHRpbWUgaXQgdGFrZXMgdG8gYWN0dWFsbHkKCWRldGVjdCBhIGhhbmcgcmVs aWFibHkuCgoJSG93IG11Y2ggd2Ugd291bGQgc2F2ZSBieSBzdWNoIGEgY2hhbmdlIHN0aWxsIG5l ZWRzIHRvIGJlIGFuYWx5c2VkIGFuZAoJY29tcGFyZWQgYWdhaW5zdCB0aGUgY3VycmVudCBzaW5n bGUtdGhyZWFkIG1vZGVsIGJ1dCBpdCBtYWtlcyBzZW5zZQoJZnJvbSBhIHRoZW9yZXRpY2FsIGRl c2lnbiBwb2ludCBvZiB2aWV3LgoKCTIuIEluIEFuZHJvaWQgaXQgaGFzIGJlY29tZSBhcHBhcmVu dCB0aGF0IGlmIGhhbmcgcmVjb3ZlcnkgdGFrZXMgdG9vCglsb25nIHRoZXJlIGlzIGEgZGlzdGlu Y3QgcmlzayB0aGF0IHVzZXJsYW5kIHdpbGwgZmFpbCBpbiBzdWNoIGEgd2F5Cgl0aGF0IHRoZSBk aXNwbGF5IG1pZ2h0IGZyZWV6ZSB1bnRpbCByZWJvb3QgKFN1cmZhY2VGbGluZ2VyL0hXQyBmYWls cyB0bwoJZmxpcCB0aGUgZGlzcGxheSBmb3IgYSBsb25nIGVub3VnaCB0aW1lIHdoaWxlIHRoZSBo YW5nIGlzIGJlaW5nCgloYW5kbGVkLCB3aGljaCBsZWFkcyB0byBpdCBnaXZpbmcgdXAgYW55IGZ1 cnRoZXIgYXR0ZW1wdHMpLiBJbiBzdWNoCgl0aW1lLWNvbnN0cmFpbmVkIHNjZW5hcmlvcyBpdCBt aWdodCBiZSBhIHByb2JsZW0gdG8gd2FpdCB1bnRpbCB0aGUKCXN0YXJ0IG9mIHRoZSBlbmdpbmUg cmVjb3ZlcnkgcGF0aCB0byByZWN0aWZ5IGFueSBjb250ZXh0IHN1Ym1pc3Npb24KCXN0YXRlIGlu Y29uc2lzdGVuY2llcyBzaW5jZSBpdCB3b3VsZCB0eXBpY2FsbHkgdGFrZSBhcm91bmQgMyBzZWNv bmRzIHRvCglnZXQgdGhlcmUgYXNzdW1pbmcgYSBkZWZhdWx0IGhhbmcgY2hlY2sgc2FtcGxlIHBl cmlvZCBvZiAxIHNlY29uZC4gSW4KCUFuZHJvaWQgaXQgdHVybmVkIG91dCB0aGF0IHdlIG5lZWRl ZCByZWN0aWZpY2F0aW9uIHRvIGhhcHBlbiBhZnRlcgoJYWJvdXQgMiBzZWNvbmRzLCB3aGljaCBp cyBjb25zaWRlcmFibHkgbGVzcyB0aW1lIHRoYW4gd2hhdCBpdCBub3JtYWxseQoJdGFrZXMgdG8g cmVjb3ZlciBmcm9tIGhhbmdzLiBUaGlzIG1pZ2h0IGJlY29tZSBhIHByb2JsZW0gaWYgdGhpcyBU RFIKCWltcGxlbWVudGF0aW9uIHdlcmUgZXZlciB0byBiZSBwb3J0ZWQgdG8gQW5kcm9pZCBvciBv dGhlciBzaW1pbGFyCgl0aW1lLWNvbnN0cmFpbmVkIGVudmlyb25tZW50cy4gSXNzdWVzIGxpa2Ug dGhpcyBoYXMgeWV0IHRvIHNob3cgdXAgaW4gWAoJb3IgZWxzZXdoZXJlIGFuZCBpdCBpcyBhbiBv cGVuIHF1ZXN0aW9uIGhvdyB0aGlzIFREUiBpbXBsZW1lbnRhdGlvbgoJd291bGQgYmVoYXZlIHdl cmUgaXQgZXZlciB0byBiZSBwb3J0ZWQgYmFjayB0byBBbmRyb2lkLgoKCVdvcnRoIGtlZXBpbmcg aW4gbWluZCBmb3IgdGhlIGZ1dHVyZSEKCkdJVEhVQiBSRVBPU0lUT1JZOgpodHRwczovL2dpdGh1 Yi5jb20vdGVsZi9URFJfcGF0Y2hfc2VyaWVzXzEuZ2l0CgpUaW0gR29yZSAoMSk6CiAgZHJtL2k5 MTU6IGRybS9pOTE1IGNoYW5nZXMgdG8gc2ltdWxhdGVkIGhhbmdzCgpUb21hcyBFbGYgKDE5KToK ICBkcm0vaTkxNTogTWFrZSBpOTE1X2dlbV9yZXNldF9yaW5nX3N0YXR1cygpIHB1YmxpYwogIGRy bS9pOTE1OiBHZW5lcmFsaXNlIGNvbW1vbiBHUFUgZW5naW5lIHJlc2V0IHJlcXVlc3QvdW5yZXF1 ZXN0IGNvZGUKICBkcm0vaTkxNTogVERSIC8gcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHN1cHBv cnQgZm9yIGdlbjguCiAgZHJtL2k5MTU6IFREUiAvIHBlci1lbmdpbmUgaGFuZyBkZXRlY3Rpb24K ICBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5MTVfZ2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2lu ZSByZXNldCBpbgogICAgcHJvZ3Jlc3MKICBkcm0vaTkxNTogUmVpbnN0YXRlIGhhbmcgcmVjb3Zl cnkgd29yayBxdWV1ZS4KICBkcm0vaTkxNTogV2F0Y2hkb2cgdGltZW91dDogSGFuZyBkZXRlY3Rp b24gaW50ZWdyYXRpb24gaW50byBlcnJvcgogICAgaGFuZGxlcgogIGRybS9pOTE1OiBXYXRjaGRv ZyB0aW1lb3V0OiBJUlEgaGFuZGxlciBmb3IgZ2VuOAogIGRybS9pOTE1OiBXYXRjaGRvZyB0aW1l b3V0OiBSaW5nYnVmZmVyIGNvbW1hbmQgZW1pc3Npb24gZm9yIGdlbjgKICBkcm0vaTkxNTogV2F0 Y2hkb2cgdGltZW91dDogRFJNIGtlcm5lbCBpbnRlcmZhY2UgZW5hYmxlbWVudAogIGRybS9pOTE1 OiBGYWtlIGxvc3QgY29udGV4dCBldmVudCBpbnRlcnJ1cHRzIHRocm91Z2ggZm9yY2VkIENTQgog ICAgY2hlY2tpbmcuCiAgZHJtL2k5MTU6IERlYnVnZnMgaW50ZXJmYWNlIGZvciBwZXItZW5naW5l IGhhbmcgcmVjb3ZlcnkuCiAgZHJtL2k5MTU6IFRlc3QgaW5mcmFzdHJ1Y3R1cmUgZm9yIGNvbnRl eHQgc3RhdGUgaW5jb25zaXN0ZW5jeQogICAgc2ltdWxhdGlvbgogIGRybS9pOTE1OiBURFIvd2F0 Y2hkb2cgdHJhY2UgcG9pbnRzLgogIGRybS9pOTE1OiBQb3J0IG9mIEFkZGVkIHNjaGVkdWxlciBz dXBwb3J0IHRvIF9fd2FpdF9yZXF1ZXN0KCkgY2FsbHMKICBkcm0vaTkxNTogRml4IF9faTkxNV93 YWl0X3JlcXVlc3QoKSBiZWhhdmlvdXIgZHVyaW5nIGhhbmcgZGV0ZWN0aW9uLgogIGRybS9pOTE1 OiBFeHRlbmRlZCBlcnJvciBzdGF0ZSB3aXRoIFREUiBjb3VudCwgd2F0Y2hkb2cgY291bnQgYW5k CiAgICBlbmdpbmUgcmVzZXQgY291bnQKICBkcm0vaTkxNTogVERSIC8gcGVyLWVuZ2luZSBoYW5n IHJlY292ZXJ5IGtlcm5lbCBkb2NzCiAgZHJtL2k5MTU6IEVuYWJsZSBURFIgLyBwZXItZW5naW5l IGhhbmcgcmVjb3ZlcnkKCiBEb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwgICAgICAgICAg fCA0NzYgKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyAgICAgfCAxNjMgKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jICAg ICAgICAgfCAgODAgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAg fCAzMjggKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgfCAgOTIgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwg MTUyICsrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgIHwgICA4 ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCAyODYgKysrKysr KysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgICAgICB8ICAxOSArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgfCAgIDkgKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oICAgICAgIHwgMzU0ICsrKysrKysrKysrKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8ICAgMyArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgODU3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgICAgfCAgMTYg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyY190ZHIuaCAgICB8ICAzOSArKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgIDkwICsrKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICA5NSArKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91bmNvcmUuYyAgICAgfCAxOTcgKysrKysrKy0KIGluY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaCAgICAgICAgICAgICB8ICAgNSArLQogMTkgZmlsZXMgY2hhbmdlZCwgMzE0 NCBpbnNlcnRpb25zKCspLCAxMjUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjX3Rkci5oCgotLSAKMS45LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==