From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pekka Paalanen Subject: Re: KMS timings (Re: [PATCH 6/8] drm/bochs: phase 3: provide a custom ->atomic_commit implementation) Date: Tue, 21 Jul 2015 10:06:09 +0300 Message-ID: <20150721100609.4c4d7f37@gmail.com> References: <1437049241-11972-1-git-send-email-zhjwpku@gmail.com> <1437049241-11972-7-git-send-email-zhjwpku@gmail.com> <20150717090809.6c9d7d02@gmail.com> <20150720104609.10c01e4a@gmail.com> <20150720123548.0d9b6472@gmail.com> <20150720142100.GH16722@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-la0-f54.google.com (mail-la0-f54.google.com [209.85.215.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 51C8D6E70A for ; Tue, 21 Jul 2015 00:06:16 -0700 (PDT) Received: by lahh5 with SMTP id h5so111409119lah.2 for ; Tue, 21 Jul 2015 00:06:14 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?U3TDqXBoYW5l?= Marchesin Cc: Daniel Vetter , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMCBKdWwgMjAxNSAxMDozMjozMSAtMDcwMApTdMOpcGhhbmUgTWFyY2hlc2luIDxz dGVwaGFuZS5tYXJjaGVzaW5AZ21haWwuY29tPiB3cm90ZToKCj4gT24gTW9uLCBKdWwgMjAsIDIw MTUgYXQgNzoyMSBBTSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPiA+ IE9uIE1vbiwgSnVsIDIwLCAyMDE1IGF0IDEyOjM1OjQ4UE0gKzAzMDAsIFBla2thIFBhYWxhbmVu IHdyb3RlOgo+ID4+IE9uIE1vbiwgMjAgSnVsIDIwMTUgMDE6NTg6MzMgLTA3MDAKPiA+PiBTdMOp cGhhbmUgTWFyY2hlc2luIDxzdGVwaGFuZS5tYXJjaGVzaW5AZ21haWwuY29tPiB3cm90ZToKPiA+ Pgo+ID4+ID4gT24gTW9uLCBKdWwgMjAsIDIwMTUgYXQgMTI6NDYgQU0sIFBla2thIFBhYWxhbmVu IDxwcGFhbGFuZW5AZ21haWwuY29tPiB3cm90ZToKPiA+PiA+ID4gT24gU3VuLCAxOSBKdWwgMjAx NSAxNzoyMDozMiAtMDcwMAo+ID4+ID4gPiBTdMOpcGhhbmUgTWFyY2hlc2luIDxzdGVwaGFuZS5t YXJjaGVzaW5AZ21haWwuY29tPiB3cm90ZToKPiA+PiA+ID4KPiA+PiA+ID4+IE9uIFRodSwgSnVs IDE2LCAyMDE1IGF0IDExOjA4IFBNLCBQZWtrYSBQYWFsYW5lbiA8cHBhYWxhbmVuQGdtYWlsLmNv bT4gd3JvdGU6Cj4gPj4gPiA+PiA+Cj4gPj4gPiA+PiA+IE9uIFRodSwgMTYgSnVsIDIwMTUgMjA6 MjA6MzkgKzA4MDAKPiA+PiA+ID4+ID4gSm9obiBIdW50ZXIgPHpoandwa3VAZ21haWwuY29tPiB3 cm90ZToKPiA+PiA+ID4+ID4KPiA+PiA+ID4+ID4gPiBGcm9tOiBaaGFvIEp1bndhbmcgPHpoandw a3VAZ21haWwuY29tPgo+ID4+ID4gPj4gPiA+Cj4gPj4gPiA+PiA+ID4gVGhpcyBzdXBwb3J0cyB0 aGUgYXN5bmNocm9ub3VzIGNvbW1pdHMsIHJlcXVpcmVkIGZvciBwYWdlLWZsaXBwaW5nCj4gPj4g PiA+PiA+ID4gU2luY2UgaXQncyB2aXJ0dWFsIGh3IGl0J3Mgb2sgdG8gY29tbWl0IGFzeW5jIHN0 dWZmIHJpZ2h0IGF3YXksIHdlCj4gPj4gPiA+PiA+ID4gbmV2ZXIgaGF2ZSB0byB3YWl0IGZvciB2 YmxhbmsuCj4gPj4gPiA+PiA+Cj4gPj4gPiA+PiA+IEhpLAo+ID4+ID4gPj4gPgo+ID4+ID4gPj4g PiBpbiB0aGVvcnksIHllcy4gVGhpcyBpcyB3aGF0IGEgcGF0Y2ggdG8gYm9jaHMgaW1wbGVtZW50 ZWQgbm90IHRvbyBsb25nCj4gPj4gPiA+PiA+IGFnbywgc28gQUZBSUsgeW91IGFyZSBvbmx5IHJl cGxpY2F0aW5nIHRoZSBleGlzdGluZyBiZWhhdmlvdXIuCj4gPj4gPiA+PiA+Cj4gPj4gPiA+PiA+ IEhvd2V2ZXIsIGlmIHVzZXJzcGFjZSBkb2luZyBhbiBhc3luYyBjb21taXQgKG9yIHN5bmMsIEkg c3VwcG9zZSkgZG9lcwo+ID4+ID4gPj4gPiBub3QgaW5jdXIgYW55IHdhaXRzIGluIHRoZSBrZXJu ZWwgaW4gZS5nLiBzZW5kaW5nIHRoZSBwYWdlIGZsaXAgZXZlbnQsCj4gPj4gPiA+PiA+IHRoZW4g ZmxpcCBkcml2ZW4gcHJvZ3JhbXMgKGUuZy4gYSBXYXlsYW5kIGNvbXBvc2l0b3IsIHNheSwgV2Vz dG9uKQo+ID4+ID4gPj4gPiB3aWxsIGJlIHJ1bm5pbmcgaXRzIHJlbmRlcmluZyBsb29wIGFzIGEg YnVzeS1sb29wLCBiZWNhdXNlIHRoZSBrZXJuZWwKPiA+PiA+ID4+ID4gZG9lcyBub3QgdGhyb3R0 bGUgaXQgdG8gdGhlICh2aXJ0dWFsKSBkaXNwbGF5IHJlZnJlc2ggcmF0ZS4KPiA+PiA+ID4+ID4K PiA+PiA+ID4+ID4gVGhpcyB3aWxsIGNhdXNlIG1heGltYWwgQ1BVIHVzYWdlIGFuZCBwb29yIHVz ZXIgZXhwZXJpZW5jZSBhcwo+ID4+ID4gPj4gPiBldmVyeXRoaW5nIGVsc2UgbmVlZHMgdG8gZmln aHQgZm9yIENQVSB0aW1lIGFuZCBldmVudCBkaXNwYXRjaCB0byBnZXQKPiA+PiA+ID4+ID4gdGhy b3VnaCwgbGlrZSBpbnB1dC4KPiA+PiA+ID4+ID4KPiA+PiA+ID4+ID4gSSB3b3VsZCBob3BlIHNv bWVvbmUgY291bGQgZG8gYSBmb2xsb3ctdXAgdG8gaW1wbGVtZW50IGEgcmVmcmVzaCBjeWNsZQo+ ID4+ID4gPj4gPiBlbXVsYXRpb24gYmFzZWQgb24gYSBjbG9jay4gVXNlcnNwYWNlIGV4cGVjdHMg cGFnZSBmbGlwcyB0byBoYXBwZW4gYXQKPiA+PiA+ID4+ID4gbW9zdCBhdCByZWZyZXNoIHJhdGUg d2hlbiBhc2tpbmcgZm9yIHZibGFuay1zeW5jZWQgZmxpcHMuIEl0J3Mgb25seQo+ID4+ID4gPj4g PiBuYXR1cmFsIGZvciB1c2Vyc3BhY2UgdG8gZHJpdmUgaXRzIHJlbmRlcmluZyBsb29wIGJhc2Vk IG9uIHRoZSB2YmxhbmsKPiA+PiA+ID4+ID4gY3ljbGUuCj4gPj4gPiA+Pgo+ID4+ID4gPj4KPiA+ PiA+ID4+IEkndmUgYmVlbiBhc2tpbmcgbXlzZWxmIHRoZSBzYW1lIHF1ZXN0aW9uIChmb3IgdGhl IFVETCBkcml2ZXIpIGFuZCBJJ20KPiA+PiA+ID4+IG5vdCBzdXJlIGlmIHRoaXMgcG9saWN5IHNo b3VsZCBnbyBpbiB0aGUga2VybmVsLiBBZnRlciBhbGwsIHRoZXJlCj4gPj4gPiA+PiBjb3VsZCBi ZSBsZWdpdGltYXRlIHJlYXNvbnMgZm9yIHVzZXIgc3BhY2UgdG8gcmVuZGVyIGxvdHMgb2YgZnJh bWVzCj4gPj4gPiA+PiBwZXIgc2Vjb25kLiBJdCBzZWVtcyB0byBtZSB0aGF0IGlmIHVzZXIgc3Bh Y2UgZG9lc24ndCB3YW50IHRvbyBtYW55Cj4gPj4gPiA+PiBmcHMsIGl0IHNob3VsZCBqdXN0IHRo cm90dGxlIGl0c2VsZi4KPiA+PiA+ID4KPiA+PiA+ID4gSWYgdXNlcnNwYWNlIHdhbnRzIHRvIHJl bmRlciBsb3RzIG9mIGZyYW1lcyBwZXIgc2Vjb25kLCBJTU8gaXQgc2hvdWxkCj4gPj4gPiA+IG5v dCBiZSB1c2luZyB2Ymxhbmstc3luY2VkIG9wZXJhdGlvbnMgaW4gYSB3YXkgdGhhdCBtYXkgdGhy b3R0bGUgaXQuCj4gPj4gPiA+IFRoZSBsb3RzIG9mIGZyYW1lcyB1c2UgY2FzZSBpcyBhbHJlYWR5 IG5vbi13b3JraW5nIGZvciB0aGUgbWFqb3JpdHkgb2YKPiA+PiA+ID4gdGhlIGRyaXZlcnMgd2l0 aG91dCBEUk1fTU9ERV9QQUdFX0ZMSVBfQVNZTkMsIHJpZ2h0Pwo+ID4+ID4gPgo+ID4+ID4gPiBU aGUgcHJvYmxlbSBoZXJlIEkgc2VlIGlzIHRoYXQgb25lIERSTSBkcml2ZXIgZGVjaWRlcyB0byB3 b3JrIGRpZmZlcmVudAo+ID4+ID4gPiB0byBvdGhlciBEUk0gZHJpdmVycy4gQWxsIHJlYWwtaGFy ZHdhcmUgRFJNIGRyaXZlcnMsIHdoZW4gYXNrZWQgdG8gZG8KPiA+PiA+ID4gdmJsYW5rLXN5bmNl ZCB1cGRhdGUsIGFjdHVhbGx5IGRvIHRocm90dGxlIHRvIHRoZSB2YmxhbmsgQUZBSUsuCj4gPj4g Pgo+ID4+ID4gdWRsIGlzIGFuIGV4Y2VwdGlvbiBoZXJlLiBJdCBpcyAoYXJndWFibHkpIHJlYWwg aGFyZHdhcmUgYnV0IGRvZXNuJ3QgdGhyb3R0bGUuCj4gPj4gPgo+ID4+ID4gPiBJcyBpdAo+ID4+ ID4gPiB0b28gbXVjaCB0byBhc3N1bWUsIHRoYXQgdGhlIHZpZGVvIG1vZGUgc2V0IGluIGEgZHJp dmVyIChyZWZyZXNoIHJhdGUpCj4gPj4gPiA+IGNvcnJlc3BvbmRzIHRvIHRoZSB2YmxhbmsgcmF0 ZSB3aGljaCBpbXBsaWNpdGx5IGRlbGF5cyB0aGUgY29tcGxldGlvbgo+ID4+ID4gPiBvZiB2Ymxh bmstc3luYydkIG9wZXJhdGlvbnMgdG8gYXQgbGVhc3QgdGhlIG5leHQgdmJsYW5rIGJvdW5kYXJ5 Pwo+ID4+ID4KPiA+PiA+IEkgdGhpbmsgaXQncyB3cm9uZyB0byBtYWtlIHVzZXIgc3BhY2UgdGhp bmsgdGhhdCBhIHZzeW5jZWQgZGlzcGxheQo+ID4+ID4gYWx3YXlzIG1hdGNoZXMgdGhlIHJlZnJl c2ggcmF0ZSBpbiBhIHdvcmxkIHdoZXJlOgo+ID4+ID4KPiA+PiA+IC0gc29tZSBkaXNwbGF5cyBo YXZlIHZhcmlhYmxlIHJlZnJlc2ggcmF0ZXMgKG5vdCBqdXN0IHRoZSBmYW5jeSBuZXcKPiA+PiA+ IHN0dWZmIGxpa2UgZy1zeW5jLCBsb29rIGZvciBsdmRzX2Rvd25jbG9jayBpbiB0aGUgaW50ZWwg ZHJpdmVyIGZvcgo+ID4+ID4gZXhhbXBsZSwgYWxzbyBjb25zaWRlciBEU0kgZGlzcGxheXMpCj4g Pj4gPgo+ID4+ID4gLSBzb21lIGRpc3BsYXlzIGhhdmUgbm8gcmVmcmVzaCByYXRlICh0aGUgb25l cyB3ZSBhcmUgdGFsa2luZyBhYm91dAo+ID4+ID4gaGVyZTogdWRsLCBib2Nocy4uLikKCj4gPiBJ bW8gYWltaW5nIGZvciB2cmVmcmVzaCB0byBiZSBhY2N1cmF0ZSBpcyBnb29kLiBGb3IgZ3N5bmMg YW5kIGZyaWVuZHMgSQo+ID4gdGhpbmsgd2Ugc2hvdWxkIGhhdmUgYW4gZXhwbGljaXQgcmFuZ2Ug b3IgZmxhZyB0byBtYWtlIHVzZXJzcGFjZSBhd2FyZSBvZgo+ID4gd2hhdCdzIGdvaW5nIG9uLgo+ IAo+IEkgdGhpbmsgdGhlIGNvbmNlcHQgb2YgdnJlZnJlc2ggaXMgZmxhd2VkIGFuZCBub3QgcmVh bGx5IGZ1dHVyZS1wcm9vZgo+IChJIGdhdmUgYSBmZXcgZXhhbXBsZXMgaW4gbXkgcHJldmlvdXMg ZW1haWwpLiBJIGFncmVlIHdlIHNob3VsZCBrZWVwCj4gaXQgYXMgbGVnYWN5LCBidXQgd2Ugc2hv dWxkIGFkZCBzb21ldGhpbmcgZWxzZSBmb3IgdGhlIG1vcmUgYWR2YW5jZWQKPiBjYXNlcy4KClJp Z2h0LCBzbyBsZXQncyBhZGQgc29tZXRoaW5nIG5ldyBmb3IgbmV3IGhhcmR3YXJlIGZlYXR1cmVz IGFuZCBrZWVwCnRoZSBleGlzdGluZyBiZWhhdmlvciBleGlzdGluZy4KCkkgc3VwcG9zZSB0aGUg cHJvYmxlbSBpcyB0aGF0IHRoZSBleGlzdGluZyBiZWhhdmlvciBpcyBub3QgcmVhbGx5CmRvY3Vt ZW50ZWQgc28gd2UgaGF2ZSB0byByZXNvcnQgdG8gc2NyZWFtaW5nIHVzZXJzPwoKSWYgb25lIGRv ZXMgbm90IGFzayBmb3IgQVNZTkMgd2l0aCBhIHBhZ2UgZmxpcCwgZG9lcyBpdCBtZWFuIGZsaXBw aW5nCm9uIHRoZSBuZXh0IHZibGFuaywgb3IgZmxpcHBpbmcgc3VjaCB0aGF0IGl0IGNhbm5vdCB0 ZWFyIGJ1dCBhbGxvd2luZwp0ZWNoaXF1ZXMgbGlrZSBzY2FubGluZSB3YWl0cz8KCkl0IHVzZWQg dG8gYmUgcmVhc29uYWJsZSB0byBhc3N1bWUgYSBjb25zdGFudCByZWZyZXNoIHJhdGUgYXBhcnQg ZnJvbQpleHBsaWNpdCBtb2RlIGNoYW5nZXMuIFNob3VsZCB3ZSBrZWVwIHRoaXMgYXNzdW1wdGlv biB0aGUgZGVmYXVsdCBhbmQKYWRkIEFQSSB0byBzYXkgZGlmZmVyZW50PwoKPiA+PiA+ID4gSSB0 aGluaywgaWYgdGhlIGRyaXZlciBjYW5ub3QgaW1wbGVtZW50IHByb3BlciBzZW1hbnRpY3MgKHdo aWNoIElNTwo+ID4+ID4gPiBpbmNsdWRlcyB0aGUgdGhyb3R0bGluZykgZm9yIHZibGFuay1zeW5j J2Qgb3BlcmF0aW9ucyBhbmQgaXQgZG9lcyBub3QKPiA+PiA+ID4gd2FudCB0byBmYWtlIHRoZW0g d2l0aCBhIGNsb2NrLCBpdCBzaG91bGQganVzdCByZWZ1c2UgdmJsYW5rLXN5bmNlZAo+ID4+ID4g PiBvcGVyYXRpb25zLgo+ID4+ID4KPiA+PiA+IFllcyByZWZ1c2luZyB2c3luY2VkIGZsaXBzIGZv ciB0aGVzZSBkcml2ZXJzIHNvdW5kcyByZWFzb25hYmxlLiBCdXQKPiA+PiA+IHBsZWFzZSBsZXQn cyBub3QgYmFrZSBpbiBhbm90aGVyIGFzc3VtcHRpb24gaW4gdGhlIEFQSSAob3IgcmF0aGVyLAo+ ID4+ID4gbGV0J3MgdHJ5IHRvIHVuLWJha2UgaXQpLgo+ID4+Cj4gPj4gQ291bGQgeW91IGJlIG1v cmUgc3BlY2lmaWMgb24gZXZlcnl0aGluZywgcGxlYXNlPwo+ID4+Cj4gPj4gV2hhdCBzaG91bGQg ZHJpdmVycyBkbyBpbiBkaWZmZXJlbnQgc2l0dWF0aW9ucywgd2hhdCBndWFyYW50ZWVzIHdlIGRv Cj4gPj4gaGF2ZSwgYW5kIGhvdyBkb2VzIHVzZXJzcGFjZSBwcmVkaWN0IHRoZSBlYXJsaWVzdCBw b3NzaWJsZSBmbGlwIHRpbWU/Cj4gPj4gSG93IGRvIHlvdSBkZWZpbmUgZmxpcCB0aW1lIHRvIGJl Z2luIHdpdGgsIGlmIGl0J3Mgbm90IHRpZWQgdG8gdGhlCj4gPj4gc2Nhbm91dCBjeWNsZSAodmJs YW5rKT8KPiA+Pgo+ID4+IEhvdyBzaG91bGQgYSBjb21wb3NpdG9yIHNjaGVkdWxlIGV2ZXl0aGlu ZywgYW5kIHdoYXQgY2FuIGl0IHRlbGwgdG8gdGhlCj4gPj4gY2xpZW50cyBhYm91dCB0aGUgdGlt aW5ncyBpbiB0aGUgaW1tZWRpYXRlIGZ1dHVyZT8KPiA+Pgo+ID4+IFlvdSBnYXZlIG1lIHRoZSBm ZWVsaW5nIHRoYXQgZXZlcnl0aGluZyBJIHRob3VnaHQgSSBrbmV3IGFuZCByZWxpZWQgb24KPiA+ PiBpcyB3cm9uZy4KPiA+Cj4gPiBJIGd1ZXNzIHdlIGVpdGhlciBraWNrIG91dCBwYWdlX2ZsaXAg Zm9yIGFsbCBkcml2ZXJzIHdobyBmYWtlIGl0LiBBbmQgaWYKPiA+IHRoYXQncyBjYXVzaW5nIHJl Z3Jlc3Npb25zIHRoZW4gd2UgcHJvYmFibHkgd2FudCB0byBmYWtlIGl0IHdpdGggYSB0aW1lci4K PiA+IFVucHJldHR5LCBidXQgc3VjaCBpcyB0aGUgZ2FtZSBvZiBiYWNrd2FyZHMgY29tcGF0IGZv cmV2ZXIuIEJ1dCBJJ20gbm90Cj4gPiBzdXJlIHdoZXRoZXIgd2UgZXN0YWJsaXNoZWQgdGhhdCB3 ZSBoYXZlIGEgcHJvYmxlbSBhbHJlYWR5LCBhdCBsZWFzdCBJJ20KPiA+IG1pc3NpbmcgdXNlcnMg c2NyZWFtaW5nIGFib3V0IHVkbC9ib2NocyAmIGZyaWVuZHMuCgpJIHN1cHBvc2Ugbm90IGhlYXJp bmcgdXNlcnMgc2NyZWFtIGlzIHRoYXQgWC5vcmcgaXMgbm90IGFmZmVjdGVkLApiZWNhdXNlIGl0 IHNpbXBseSBkb2Vzbid0IHdvcmsgaW4gYSB3YXkgaXQgd291bGQgYmUgYWZmZWN0ZWQ/IE9yIHRo ZQp2YXJpb3VzIEREWCdlbi4gVGhlIGNvbWJpbmF0aW9uIG9mIGFmZmVjdGVkIHVzZXJzcGFjZSB3 aXRoIGRyaXZlcnMgbGlrZQpib2NocyBpcyBldmVuIG1vcmUgcmFyZS4KCkkgZmlyc3QgaGVhcmQg YWJvdXQgV2VzdG9uIGhhdmluZyBhbiBhYnlzbWFsIHVzZXIgZXhwZXJpZW5jZSBvbgpkcm0vYm9j aHMgd2hlbiBhIGNvLXdvcmtlciB3YXMgbG9va2luZyBhdCB0ZXN0aW5nIFdlc3RvbiBpbgpRRU1V L3N0ZHZnYSwgd2hpY2ggYWNjb3JkaW5nIHRvIG90aGVycyB3YXMgc3VwcG9zZWQgdG8gYmUgdGhl IGJlc3QKd29ya2luZyBRRU1VIG91dHB1dCAvIERSTSBLTVMgZHJpdmVyIGNvbWJpbmF0aW9uLiBN aWdodCBoYXZlIHNvbWV0aGluZwp0byBkbyB3aXRoIG5lZWRpbmcgaXQgb24gYSB2aXJ0dWFsIEFS TSBjcHUuCgpXZXN0b24gaW4gYSBWTSBoYXMgbm90IGJlZW4gdG9vIGF0dHJhY3RpdmUgYmVmb3Jl LCBiZWNhdXNlIG9mIHRoZQptaXNzaW5nIEVHTCBwbGF0Zm9ybSBzdXBwb3J0IGZvciBzd3Jhc3Qs IGJ1dCB0aGF0IGhhcyBiZWVuIGZpeGVkCnJlY2VudGx5LiBJJ3ZlIGFsc28gaGVhcmQgdXNlcnMg KFJlYmVjY2FCbGFja09TKSB0byBqdXN0IHJldmVydCB0bwpXZXN0b24ncyBmYmRldiBiYWNrZW5k LCB3aGVuIHRoZSBEUk0gYmFja2VuZCBqdXN0IGRvZXNuJ3Qgd29yayByaWdodCBpbgphIFZNLgoK U28gSSB3b3VsZCBzYXkgaXQgaXMgYSBrbm93biBwcm9ibGVtIHdpdGggV2VzdG9uLCBidXQgdXNl cnMgdGVuZCB0bwpqdXN0IGRpc21pc3MgaXQgcmF0aGVyIHRoYW4gc3RhcnQgcHVzaGluZyBpdCBm b3J3YXJkLiBXaGV0aGVyIHlvdSBjb3VudApXZXN0b24gYXMgYW4gZXhpc3RpbmcgdXNlciBpbiB0 aGUgZmlyc3QgcGxhY2UgaXMgdXAgdG8geW91LCBJIHN1cHBvc2UuCgpJIGFza2VkIEphc3BlciBh Ym91dCBNdXR0ZXI6CjwgcHE+IEphc3BlciwgdHJ5aW5nIHRvIGZpbmQgdXNlcnMgb2YgdGhlIEtN UyBBUEkgd2hvIHdvdWxkIHdvcmsgYmFkbHksCiAgICAgIGlmIHBhZ2UgZmxpcHMgd2VyZSBzaWdu YWxsZWQgYWx3YXlzIGltbWVkaWF0ZWx5CjwgSmFzcGVyPiBwcSwgb2gsIGdvZCwgdXMuCjwgSmFz cGVyPiBwcSwgd2UnZCBzcGluIG91cnNlbHZlcyBpbiBhIHBhaW50IGxvb3AgdG8gZGVhdGgKCkkg dGhpbmsgdGhlcmUgbWlnaHQgYmUgdHdvIGRpZmZlcmVudCBwcm9ibGVtcyBoZXJlOiBhKSBzaWdu YWxsaW5nIHBhZ2UKZmxpcHMgaW1tZWRpYXRlbHksIGFuZCBiKSAidmFyaWFibGUgcmVmcmVzaCBy YXRlIiBzeXN0ZW1zIC8gb24tZGVtYW5kCnVwZGF0ZXMgbGlrZSBnLXN5bmMsIFVETCwgZXRjLgoK TXkgaW1tZWRpYXRlIGNvbmNlcm4gaXMgdG8gb3V0bGF3IGltbWVkaWF0ZSBzaWduYWxsaW5nIG9m IG9wZXJhdGlvbnMKdGhhdCBhcmUgaW50ZW5kZWQgdG8gYmUgdmJsYW5rLXN5bmNlZCAodGhvc2Ug dGhhdCBoYXZlCnRyYWRpdGlvbmFsbHkgdGFrZW4gdGltZSB0byBjb21wbGV0ZSBvbiByZWFsIGhh cmR3YXJlLCBpZiB5b3UgZG9uJ3QKbGlrZSB0aGUgZGVmaW5pdGlvbiBvZiB2Ymxhbmstc3luY2Vk KS4KClRoZSBwcm9ibGVtIHdpdGggdmFyaWFibGUgcmVmcmVzaCByYXRlIHN5c3RlbXMgaXMgdW5w cmVkaWN0YWJpbGl0eSwKd2hpY2ggaXMgZGlmZmVyZW50LiBTdWJtaXR0aW5nIHVwZGF0ZXMgd2ls bCB0YWtlIHNvbWUgdGltZSBpbiBhbnkgY2FzZSwKc28geW91IGNhbm5vdCByZWFsbHkgbG9vcCB0 byBkZWF0aCAoSSBob3BlKS4gVGhlcmUgSSB3b3VsZCBiZSBoYXBweSB0bwpqdXN0IGtub3cgdGhh dCBwcmVkaWN0aW9ucyBiYXNlZCBvbiBwZXJwZXR1YWwgcmVmcmVzaCByYXRlIGFyZSBpbnZhbGlk LgpUaGF0IHdvdWxkIGJlIGVub3VnaCBmb3IgV2F5bGFuZCBhdCBmaXJzdC4KClN0w6lwaGFuZSBh bHNvIHJhaXNlZCB0aGUgY29uY2VybiB0aGF0IHNjYW5vdXQgZG93bmNsb2NraW5nIGV0Yy4gbWF5 CmNhdXNlIGZsaXBzIHRvIGJlIHF1aXRlIGxhdGUgZnJvbSBwcmVkaWN0ZWQuIFRoaXMgaXMgbGVz cyBvZiBhIHByb2JsZW0sCnJlbmRlcmluZyBjYW4gYWxzbyB0YWtlIGFyYml0cmFyeSB0aW1lcyBh bmQgc29mdHdhcmUgaXMgdXN1YWxseSB3cml0dGVuCnRvIGRlYWwgd2l0aCBtaXNzaW5nIGRlYWRs aW5lcy4gSXQncyBhIHByb2JsZW0gdGhhdCBoYXBwZW5zIGFsbCB0aGUKdGltZSBhbnl3YXkuIEFz IGl0IGlzIGEgcHJvYmxlbSB3aXRoIHByZWRpY3Rpb24gYWNjdXJhY3ksIHdlIGNvdWxkIGp1c3QK d2F2ZSBpdCBvZmYgYnkgc2V0dGluZyB0aGUgaW1hZ2luYXJ5ICJubyBjb25zdGFudCByZWZyZXNo IHJhdGUiIGZsYWcuCklNSE8gdGhpcyBpcyBhIHByb2JsZW0gdGhhdCBzaG91bGQgYmUgc29sdmVk IGF0IGFub3RoZXIgb2NjYXNpb24sIGlmCm5lY2Vzc2FyeS4KCj4gWWVhaCBJIGRvbid0IHRoaW5r IEkgY2FyZSBhYm91dCB0aGUgb2xkIGludGVyZmFjZSwgaXQgaXMgd2hhdCBpdCBpcy4KPiBCdXQg d2Ugc2hvdWxkIGRlc2lnbiBzb21ldGhpbmcgd2hpY2ggd29ya3Mgd2VsbCBmb3IgdGhlIGZ1dHVy ZSB1c2UKPiBjYXNlcy4KCkFyZSB5b3UgcmVmZXJyaW5nIHRvIHRoZSBhdG9taWMgQVBJIGFzIHRo ZSBvbGQgdGhpbmc/CgpJbiB0aGUgZW5kLCB0aGUgcXVlc3Rpb24gaXMgaG93IHBhcmFub2lkIHNo b3VsZCBkaXNwbGF5IHNlcnZlcnMgYmUKYWJvdXQgdGhlIHRpbWluZ3M/IERvIHdlIG5lZWQgdG8g Zml4IFdlc3RvbiwgTXV0dGVyIGFuZCBsaWtlbHkgb3RoZXJzCnRvIGRlYWwgd2l0aCBwYWdlIGZs aXBzIGJlaW5nIHNpZ25hbGxlZCBpbW1lZGlhdGVseSwgb3IgaXMgaXQgbW9yZQphcHByb3ByaWF0 ZSB0byBmaXggdGhlIERSTSBkcml2ZXJzIHRvIGtlZXAgdXAgdGhlIGlsbHVzaW9uIG9mIHByb3Zp ZGluZwp3aGF0IHRoZSBBUEkgYXBwZWFycyB0byBzdWdnZXN0PwoKClRoYW5rcywKcHEKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK