From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Date: Tue, 24 Apr 2018 10:40:29 +0200 Message-ID: <6089d701-5221-75b4-38eb-b23bc5dc30cd__27710.2169734009$1524559178$gmane$org@suse.com> References: <5d8fec7f-956c-378f-be90-f45029385740@gmail.com> <20180416192905.GA18096@downor-Z87X-UD5H> <20180417075928.GT31310@phenom.ffwll.local> <20180417205744.GA15930@downor-Z87X-UD5H> <41487acb-a67a-8933-d0c3-702c19b0938e@gmail.com> <20180418073508.ptvntwedczpvl7bx@MacBook-Pro-de-Roger.local> <20180418101058.hyqk3gr3b2ibxswu@MacBook-Pro-de-Roger.local> <20180420071914.GG31310@phenom.ffwll.local> <76cdc65a-7bb1-9377-7bc5-6164e32f7b5d@gmail.com> <20180423115242.ywdwqblj2aseu3fr@citrix.com> <61105351-8896-072b-abf0-757c7f6c0edf@gmail.com> <30ddb005-96c8-f47c-2e23-4e0d354e5842@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fAtV3-0001Ew-7I for xen-devel@lists.xenproject.org; Tue, 24 Apr 2018 08:40:33 +0000 In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Oleksandr Andrushchenko , Boris Ostrovsky , Wei Liu Cc: Artem Mygaiev , Dongwon Kim , "Oleksandr_Andrushchenko@epam.com" , airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, "Potrola, MateuszX" , daniel.vetter@intel.com, xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= List-Id: xen-devel@lists.xenproject.org T24gMjQvMDQvMTggMTA6MDcsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+IE9uIDA0 LzI0LzIwMTggMTA6NTEgQU0sIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+IE9uIDI0LzA0LzE4IDA3 OjQzLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToKPj4+IE9uIDA0LzI0LzIwMTggMDE6 NDEgQU0sIEJvcmlzIE9zdHJvdnNreSB3cm90ZToKPj4+PiBPbiAwNC8yMy8yMDE4IDA4OjEwIEFN LCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToKPj4+Pj4gT24gMDQvMjMvMjAxOCAwMjo1 MiBQTSwgV2VpIExpdSB3cm90ZToKPj4+Pj4+IE9uIEZyaSwgQXByIDIwLCAyMDE4IGF0IDAyOjI1 OjIwUE0gKzAzMDAsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvCj4+Pj4+PiB3cm90ZToKPj4+Pj4+ Pj4+IMKgwqDCoMKgwqDCoCB0aGUgZ250ZGV2Lgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEkgdGhpbmsg dGhpcyBpcyBnZW5lcmljIGVub3VnaCB0aGF0IGl0IGNvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGEK Pj4+Pj4+Pj4+IGRldmljZSBub3QgdGllZCB0byBYZW4uIEFGQUlDVCB0aGUgaHlwZXJfZG1hIGd1 eXMgYWxzbyB3YW50ZWQKPj4+Pj4+Pj4+IHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoaXMuCj4+Pj4+ Pj4+IFlvdSBjYW4ndCBqdXN0IHdyYXAgcmFuZG9tIHVzZXJzcGFjZSBtZW1vcnkgaW50byBhIGRt YS1idWYuIFdlJ3ZlCj4+Pj4+Pj4+IGp1c3QgaGFkCj4+Pj4+Pj4+IHRoaXMgZGlzY3Vzc2lvbiB3 aXRoIGt2bS9xZW11IGZvbGtzLCB3aG8gcHJvcG9zZWQganVzdCB0aGF0LCBhbmQKPj4+Pj4+Pj4g YWZ0ZXIgYQo+Pj4+Pj4+PiBiaXQgb2YgZGlzY3Vzc2lvbiB0aGV5J2xsIG5vdyB0cnkgdG8gaGF2 ZSBhIGRyaXZlciB3aGljaCBqdXN0Cj4+Pj4+Pj4+IHdyYXBzIGEKPj4+Pj4+Pj4gbWVtZmQgaW50 byBhIGRtYS1idWYuCj4+Pj4+Pj4gU28sIHdlIGhhdmUgdG8gZGVjaWRlIGVpdGhlciB3ZSBpbnRy b2R1Y2UgYSBuZXcgZHJpdmVyCj4+Pj4+Pj4gKHNheSwgdW5kZXIgZHJpdmVycy94ZW4veGVuLWRt YS1idWYpIG9yIGV4dGVuZCB0aGUgZXhpc3RpbmcKPj4+Pj4+PiBnbnRkZXYvYmFsbG9vbiB0byBz dXBwb3J0IGRtYS1idWYgdXNlLWNhc2VzLgo+Pj4+Pj4+Cj4+Pj4+Pj4gQ2FuIGFueWJvZHkgZnJv bSBYZW4gY29tbXVuaXR5IGV4cHJlc3MgdGhlaXIgcHJlZmVyZW5jZSBoZXJlPwo+Pj4+Pj4+Cj4+ Pj4+PiBPbGVrc2FuZHIgdGFsa2VkIHRvIG1lIG9uIElSQyBhYm91dCB0aGlzLCBoZSBzYWlkIGEg ZmV3IElPQ1RMcwo+Pj4+Pj4gbmVlZCB0bwo+Pj4+Pj4gYmUgYWRkZWQgdG8gZWl0aGVyIGV4aXN0 aW5nIGRyaXZlcnMgb3IgYSBuZXcgZHJpdmVyLgo+Pj4+Pj4KPj4+Pj4+IEkgd2VudCB0aHJvdWdo IHRoaXMgdGhyZWFkIHR3aWNlIGFuZCBza2ltbWVkIHRocm91Z2ggdGhlIHJlbGV2YW50Cj4+Pj4+ PiBkb2N1bWVudHMsIGJ1dCBJIGNvdWxkbid0IHNlZSBhbnkgb2J2aW91cyBwcm9zIGFuZCBjb25z IGZvciBlaXRoZXIKPj4+Pj4+IGFwcHJvYWNoLiBTbyBJIGRvbid0IHJlYWxseSBoYXZlIGFuIG9w aW5pb24gb24gdGhpcy4KPj4+Pj4+Cj4+Pj4+PiBCdXQsIGFzc3VtaW5nIGlmIGltcGxlbWVudGVk IGluIGV4aXN0aW5nIGRyaXZlcnMsIHRob3NlIElPQ1RMcwo+Pj4+Pj4gbmVlZCB0bwo+Pj4+Pj4g YmUgYWRkZWQgdG8gZGlmZmVyZW50IGRyaXZlcnMsIHdoaWNoIG1lYW5zIHVzZXJzcGFjZSBwcm9n cmFtIG5lZWRzIHRvCj4+Pj4+PiB3cml0ZSBtb3JlIGNvZGUgYW5kIGdldCBtb3JlIGhhbmRsZXMs IGl0IHdvdWxkIGJlIHNsaWdodGx5IGJldHRlciB0bwo+Pj4+Pj4gaW1wbGVtZW50IGEgbmV3IGRy aXZlciBmcm9tIHRoYXQgcGVyc3BlY3RpdmUuCj4+Pj4+IElmIGdudGRldi9iYWxsb29uIGV4dGVu c2lvbiBpcyBzdGlsbCBjb25zaWRlcmVkOgo+Pj4+Pgo+Pj4+PiBBbGwgdGhlIElPQ1RMcyB3aWxs IGJlIGluIGdudGRldiBkcml2ZXIgKGluIGN1cnJlbnQgeGVuLXpjb3B5Cj4+Pj4+IHRlcm1pbm9s b2d5KToKPj4+Pj4gwqDCoMKgLSBEUk1fSUNPVExfWEVOX1pDT1BZX0RVTUJfRlJPTV9SRUZTCj4+ Pj4+IMKgwqDCoC0gRFJNX0lPQ1RMX1hFTl9aQ09QWV9EVU1CX1RPX1JFRlMKPj4+Pj4gwqDCoMKg LSBEUk1fSU9DVExfWEVOX1pDT1BZX0RVTUJfV0FJVF9GUkVFCj4+Pj4+Cj4+Pj4+IEJhbGxvb24g ZHJpdmVyIGV4dGVuc2lvbiwgd2hpY2ggaXMgbmVlZGVkIGZvciBjb250aWd1b3VzL0RNQQo+Pj4+ PiBidWZmZXJzLCB3aWxsIGJlIHRvIHByb3ZpZGUgbmV3ICprZXJuZWwgQVBJKiwgbm8gVUFQSSBp cyBuZWVkZWQuCj4+Pj4+Cj4+Pj4gU28gSSBhbSBvYnZpb3VzbHkgYSBiaXQgbGF0ZSB0byB0aGlz IHRocmVhZCwgYnV0IHdoeSBkbyB5b3UgbmVlZCB0byBhZGQKPj4+PiBuZXcgaW9jdGxzIHRvIGdu dGRldiBhbmQgYmFsbG9vbj8gRG9lc24ndCB0aGlzIGRyaXZlciBtYW5hZ2UgdG8gZG8gd2hhdAo+ Pj4+IHlvdSB3YW50IHdpdGhvdXQgYW55IGV4dGVuc2lvbnM/Cj4+PiAxLiBJIG9ubHkgKG1heSkg bmVlZCB0byBhZGQgSU9DVExzIHRvIGdudGRldgo+Pj4gMi4gYmFsbG9vbiBkcml2ZXIgbmVlZHMg dG8gYmUgZXh0ZW5kZWQsIHNvIGl0IGNhbiBhbGxvY2F0ZQo+Pj4gY29udGlndW91cyAoRE1BKSBt ZW1vcnksIG5vdCBJT0NUTHMvVUFQSSBoZXJlLCBhbGwgbGl2ZXMKPj4+IGluIHRoZSBrZXJuZWwu Cj4+PiAzLiBUaGUgcmVhc29uIEkgbmVlZCB0byBleHRlbmQgZ250dGFiIHdpdGggbmV3IElPQ1RM cyBpcyB0bwo+Pj4gcHJvdmlkZSBuZXcgZnVuY3Rpb25hbGl0eSB0byBjcmVhdGUgYSBkbWEtYnVm IGZyb20gZ3JhbnQgcmVmZXJlbmNlcwo+Pj4gYW5kIHRvIHByb2R1Y2UgZ3JhbnQgcmVmZXJlbmNl cyBmb3IgYSBkbWEtYnVmLiBUaGlzIGlzIHdoYXQgSSBoYXZlIGFzCj4+PiBVQVBJCj4+PiBkZXNj cmlwdGlvbiBmb3IgeGVuLXpjb3B5IGRyaXZlcjoKPj4+Cj4+PiAxLiBEUk1fSU9DVExfWEVOX1pD T1BZX0RVTUJfRlJPTV9SRUZTCj4+PiBUaGlzIHdpbGwgY3JlYXRlIGEgRFJNIGR1bWIgYnVmZmVy IGZyb20gZ3JhbnQgcmVmZXJlbmNlcyBwcm92aWRlZAo+Pj4gYnkgdGhlIGZyb250ZW5kLiBUaGUg aW50ZW5kZWQgdXNhZ2UgaXM6Cj4+PiDCoMKgIC0gRnJvbnRlbmQKPj4+IMKgwqDCoMKgIC0gY3Jl YXRlcyBhIGR1bWIvZGlzcGxheSBidWZmZXIgYW5kIGFsbG9jYXRlcyBtZW1vcnkKPj4+IMKgwqDC oMKgIC0gZ3JhbnRzIGZvcmVpZ24gYWNjZXNzIHRvIHRoZSBidWZmZXIgcGFnZXMKPj4+IMKgwqDC oMKgIC0gcGFzc2VzIGdyYW50ZWQgcmVmZXJlbmNlcyB0byB0aGUgYmFja2VuZAo+Pj4gwqDCoCAt IEJhY2tlbmQKPj4+IMKgwqDCoMKgIC0gaXNzdWVzIERSTV9YRU5fWkNPUFlfRFVNQl9GUk9NX1JF RlMgaW9jdGwgdG8gbWFwCj4+PiDCoMKgwqDCoMKgwqAgZ3JhbnRlZCByZWZlcmVuY2VzIGFuZCBj cmVhdGUgYSBkdW1iIGJ1ZmZlcgo+Pj4gwqDCoMKgwqAgLSByZXF1ZXN0cyBoYW5kbGUgdG8gZmQg Y29udmVyc2lvbiB2aWEgRFJNX0lPQ1RMX1BSSU1FX0hBTkRMRV9UT19GRAo+Pj4gwqDCoMKgwqAg LSByZXF1ZXN0cyByZWFsIEhXIGRyaXZlci9jb25zdW1lciB0byBpbXBvcnQgdGhlIFBSSU1FIGJ1 ZmZlciB3aXRoCj4+PiDCoMKgwqDCoMKgwqAgRFJNX0lPQ1RMX1BSSU1FX0ZEX1RPX0hBTkRMRQo+ Pj4gwqDCoMKgwqAgLSB1c2VzIGhhbmRsZSByZXR1cm5lZCBieSB0aGUgcmVhbCBIVyBkcml2ZXIK Pj4+IMKgwqAgLSBhdCB0aGUgZW5kOgo+Pj4gwqDCoMKgwqAgbyBjbG9zZXMgcmVhbCBIVyBkcml2 ZXIncyBoYW5kbGUgd2l0aCBEUk1fSU9DVExfR0VNX0NMT1NFCj4+PiDCoMKgwqDCoCBvIGNsb3Nl cyB6ZXJvLWNvcHkgZHJpdmVyJ3MgaGFuZGxlIHdpdGggRFJNX0lPQ1RMX0dFTV9DTE9TRQo+Pj4g wqDCoMKgwqAgbyBjbG9zZXMgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBleHBvcnRlZCBidWZmZXIK Pj4+Cj4+PiAyLiBEUk1fSU9DVExfWEVOX1pDT1BZX0RVTUJfVE9fUkVGUwo+Pj4gVGhpcyB3aWxs IGdyYW50IHJlZmVyZW5jZXMgdG8gYSBkdW1iL2Rpc3BsYXkgYnVmZmVyJ3MgbWVtb3J5IHByb3Zp ZGVkIGJ5Cj4+PiB0aGUKPj4+IGJhY2tlbmQuIFRoZSBpbnRlbmRlZCB1c2FnZSBpczoKPj4+IMKg wqAgLSBGcm9udGVuZAo+Pj4gwqDCoMKgwqAgLSByZXF1ZXN0cyBiYWNrZW5kIHRvIGFsbG9jYXRl IGR1bWIvZGlzcGxheSBidWZmZXIgYW5kIGdyYW50Cj4+PiByZWZlcmVuY2VzCj4+PiDCoMKgwqDC oMKgwqAgdG8gaXRzIHBhZ2VzCj4+PiDCoMKgIC0gQmFja2VuZAo+Pj4gwqDCoMKgwqAgLSByZXF1 ZXN0cyByZWFsIEhXIGRyaXZlciB0byBjcmVhdGUgYSBkdW1iIHdpdGgKPj4+IERSTV9JT0NUTF9N T0RFX0NSRUFURV9EVU1CCj4+PiDCoMKgwqDCoCAtIHJlcXVlc3RzIGhhbmRsZSB0byBmZCBjb252 ZXJzaW9uIHZpYSBEUk1fSU9DVExfUFJJTUVfSEFORExFX1RPX0ZECj4+PiDCoMKgwqDCoCAtIHJl cXVlc3RzIHplcm8tY29weSBkcml2ZXIgdG8gaW1wb3J0IHRoZSBQUklNRSBidWZmZXIgd2l0aAo+ Pj4gwqDCoMKgwqDCoMKgIERSTV9JT0NUTF9QUklNRV9GRF9UT19IQU5ETEUKPj4+IMKgwqDCoMKg IC0gaXNzdWVzIERSTV9YRU5fWkNPUFlfRFVNQl9UT19SRUZTIGlvY3RsIHRvCj4+PiDCoMKgwqDC oMKgwqAgZ3JhbnQgcmVmZXJlbmNlcyB0byB0aGUgYnVmZmVyJ3MgbWVtb3J5Lgo+Pj4gwqDCoMKg wqAgLSBwYXNzZXMgZ3JhbnQgcmVmZXJlbmNlcyB0byB0aGUgZnJvbnRlbmQKPj4+IMKgwqAtIGF0 IHRoZSBlbmQ6Cj4+PiDCoMKgwqDCoCAtIGNsb3NlcyB6ZXJvLWNvcHkgZHJpdmVyJ3MgaGFuZGxl IHdpdGggRFJNX0lPQ1RMX0dFTV9DTE9TRQo+Pj4gwqDCoMKgwqAgLSBjbG9zZXMgcmVhbCBIVyBk cml2ZXIncyBoYW5kbGUgd2l0aCBEUk1fSU9DVExfR0VNX0NMT1NFCj4+PiDCoMKgwqDCoCAtIGNs b3NlcyBmaWxlIGRlc2NyaXB0b3Igb2YgdGhlIGltcG9ydGVkIGJ1ZmZlcgo+Pj4KPj4+IDMuIERS TV9YRU5fWkNPUFlfRFVNQl9XQUlUX0ZSRUUKPj4+IFRoaXMgd2lsbCBibG9jayB1bnRpbCB0aGUg ZHVtYiBidWZmZXIgd2l0aCB0aGUgd2FpdCBoYW5kbGUgcHJvdmlkZWQgYmUKPj4+IGZyZWVkOgo+ Pj4gdGhpcyBpcyBuZWVkZWQgZm9yIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIGZyb250ZW5kIGFu ZCBiYWNrZW5kIGluIGNhc2UKPj4+IGZyb250ZW5kIHByb3ZpZGVzIGdyYW50IHJlZmVyZW5jZXMg b2YgdGhlIGJ1ZmZlciB2aWEKPj4+IERSTV9YRU5fWkNPUFlfRFVNQl9GUk9NX1JFRlMgSU9DVEwg YW5kIHdoaWNoIG11c3QgYmUgcmVsZWFzZWQgYmVmb3JlCj4+PiBiYWNrZW5kIHJlcGxpZXMgd2l0 aCBYRU5ESVNQTF9PUF9EQlVGX0RFU1RST1kgcmVzcG9uc2UuCj4+PiB3YWl0X2hhbmRsZSBtdXN0 IGJlIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIHdoaWxlIGNhbGxpbmcKPj4+IERSTV9YRU5fWkNP UFlfRFVNQl9GUk9NX1JFRlMgSU9DVEwuCj4+Pgo+Pj4gU28sIGFzIHlvdSBjYW4gc2VlIHRoZSBh Ym92ZSBmdW5jdGlvbmFsaXR5IGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZQo+Pj4gZXhpc3RpbmcgVUFQ SQo+Pj4gb2YgdGhlIGdudGRldiBkcml2ZXIuCj4+PiBOb3csIGlmIHdlIGNoYW5nZSBkdW1iIC0+ IGRtYS1idWYgYW5kIHJlbW92ZSBEUk0gY29kZSAod2hpY2ggaXMgb25seSBhCj4+PiB3cmFwcGVy Cj4+PiBoZXJlIG9uIHRvcCBvZiBkbWEtYnVmKSB3ZSBnZXQgbmV3IGRyaXZlciBmb3IgZG1hLWJ1 ZiBmb3IgWGVuLgo+Pj4KPj4+IFRoaXMgaXMgd2h5IEkgaGF2ZSAyIG9wdGlvbnMgaGVyZTogZWl0 aGVyIGNyZWF0ZSBhIGRlZGljYXRlZCBkcml2ZXIgZm9yCj4+PiB0aGlzCj4+PiAoZS5nLiByZS13 b3JrIHhlbi16Y29weSB0byBiZSBEUk0gaW5kZXBlbmRlbnQgYW5kIHB1dCBpdCB1bmRlcgo+Pj4g ZHJpdmVycy94ZW4veGVuLWRtYS1idWYsIGZvciBleGFtcGxlKSBvciBleHRlbmQgdGhlIGV4aXN0 aW5nIGdudGRldgo+Pj4gZHJpdmVyCj4+PiB3aXRoIHRoZSBhYm92ZSBVQVBJICsgbWFrZSBjaGFu Z2VzIHRvIHRoZSBiYWxsb29uIGRyaXZlciB0byBwcm92aWRlCj4+PiBrZXJuZWwKPj4+IEFQSSBm b3IgRE1BIGJ1ZmZlciBhbGxvY2F0aW9ucy4KPj4gV2hpY2ggdXNlciBjb21wb25lbnQgd291bGQg dXNlIHRoZSBuZXcgaW9jdGxzPwo+IEl0IGlzIGN1cnJlbnRseSB1c2VkIGJ5IHRoZSBkaXNwbGF5 IGJhY2tlbmQgWzFdIGFuZCB3aWxsCj4gcHJvYmFibHkgYmUgdXNlZCBieSB0aGUgaHlwZXItZG1h YnVmIGZyb250ZW5kL2JhY2tlbmQKPiAoRG9uZ3dvbiBmcm9tIEludGVsIGNhbiBwcm92aWRlIG1v cmUgaW5mbyBvbiB0aGlzKS4KPj4KPj4gSSdtIGFza2luZyBiZWNhdXNlIEknbSBub3QgdmVyeSBm b25kIG9mIGFkZGluZyBtb3JlIGxpbnV4IHNwZWNpZmljCj4+IGZ1bmN0aW9ucyB0byBsaWJnbnR0 YWIgd2hpY2ggYXJlIG5vdCByZWxhdGVkIHRvIGEgc3BlY2lmaWMgWGVuIHZlcnNpb24sCj4+IGJ1 dCB0byBhIGtlcm5lbCB2ZXJzaW9uLgo+IEhtLCBJIHdhcyBub3QgdGhpbmtpbmcgYWJvdXQgdGhp cyBVQVBJIHRvIGJlIGFkZGVkIHRvIGxpYmdudHRhYi4KPiBJdCBzZWVtcyBpdCBjYW4gYmUgdXNl ZCBkaXJlY3RseSB3L28gd3JhcHBlcnMgaW4gdXNlci1zcGFjZQoKV291bGQgdGhpcyBwcm9ncmFt IHVzZSBsaWJnbnR0YWIgaW4gcGFyYWxsZWw/IElmIHllcyBob3cgd291bGQgdGhlIHR3bwp1c2Fn ZSBwYXRocyBiZSBjb21iaW5lZCAoc2FtZSBhcHBsaWVzIHRvIHRoZSBzZXBhcmF0ZSBkcml2ZXIs IGJ0dyk/IFRoZQpnbnRkZXYgZHJpdmVyIG1hbmFnZXMgcmVzb3VyY2VzIHBlciBmaWxlIGRlc2Ny aXB0b3IgYW5kIGxpYmdudHRhYiBpcwpoaWRpbmcgdGhlIGZpbGUgZGVzY3JpcHRvciBpdCBpcyB1 c2luZyBmb3IgYSBjb25uZWN0aW9uLiBPciB3b3VsZCB0aGUKdXNlciBwcm9ncmFtIHVzZSBvbmx5 IHRoZSBuZXcgZHJpdmVyIGZvciBjb21tdW5pY2F0aW5nIHdpdGggdGhlIGdudGRldgpkcml2ZXI/ IEluIHRoaXMgY2FzZSBpdCBtaWdodCBiZSBhbiBvcHRpb24gdG8gZXh0ZW5kIHRoZSBnbnRkZXYg ZHJpdmVyCnRvIHByZXNlbnQgYSBuZXcgZGV2aWNlIChlLmcuICJnbnRkbWFkZXYiKSBmb3IgdGhh dCBwdXJwb3NlLgoKPj4KPj4gU28gZG9pbmcgdGhpcyBpbiBhIHNlcGFyYXRlIGRyaXZlciBzZWVt cyB0byBiZSB0aGUgYmV0dGVyIG9wdGlvbiBpbgo+PiB0aGlzIHJlZ2FyZC4KPiBXZWxsLCBmcm9t IG1haW50ZW5hbmNlIFBPViBpdCBpcyBlYXNpZXIgZm9yIG1lIHRvIGhhdmUgaXQgYWxsIGluCj4g YSBzZXBhcmF0ZSBkcml2ZXIgYXMgYWxsIGRtYS1idWYgcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHdp bGwKPiByZXNpZGUgYXQgb25lIHBsYWNlLiBUaGlzIGFsc28gbWVhbnMgdGhhdCBubyBjaGFuZ2Vz IHRvIGV4aXN0aW5nCj4gZHJpdmVycyB3aWxsIGJlIG5lZWRlZCAoaWYgaXQgaXMgb2sgdG8gaGF2 ZSBiYWxsb29uaW5nIGluL291dAo+IGNvZGUgZm9yIERNQSBidWZmZXJzIChhbGxvY2F0ZWQgd2l0 aCBkbWFfYWxsb2NfeHh4KSBub3QgaW4gdGhlIGJhbGxvb24KPiBkcml2ZXIpCgpJIHRoaW5rIGlu IHRoZSBlbmQgdGhpcyByZWFsbHkgZGVwZW5kcyBvbiBob3cgdGhlIGNvbXBsZXRlIHNvbHV0aW9u CndpbGwgbG9vayBsaWtlLiBnbnRkZXYgaXMgYSBzcGVjaWFsIHdyYXBwZXIgZm9yIHRoZSBnbnR0 YWIgZHJpdmVyLgpJbiBjYXNlIHRoZSBuZXcgZG1hLWJ1ZiBkcml2ZXIgbmVlZHMgdG8gdXNlIHBh cnRzIG9mIGdudGRldiBJJ2QgcmF0aGVyCmhhdmUgYSBuZXcgZHJpdmVyIGFib3ZlIGdudHRhYiAo ImdudHVzZXIiPykgdXNlZCBieSBnbnRkZXYgYW5kIGRtYS1idWYuCgoKSnVlcmdlbgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==