Received: by 10.192.165.156 with SMTP id m28csp1060436imm; Wed, 18 Apr 2018 03:25:23 -0700 (PDT) X-Google-Smtp-Source: AIpwx48XkAkhYgaxj9gih3TAM0WhDQijSCrpu/6l1XGX6CDJCkYPpseWynkmmx/7BioaM6aVATFD X-Received: by 2002:a17:902:d20b:: with SMTP id t11-v6mr1511651ply.381.1524047123438; Wed, 18 Apr 2018 03:25:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524047123; cv=none; d=google.com; s=arc-20160816; b=XRvu72Pl1oATjk0biF1uAlDoKohsUVfT5N+nBiyre2sMu5ZVamkz5CGDyHD4hWSl6O HnjqVMV5Dgmpyne8bpE2wEQhw9ChNSR/nz359okYyUUeRZNu+IqVs11S4npI9JFp4Pz2 X5YBytIxZlTy/CHByEI2PWABsVPeUhvK3Blj76zYbEaoWRj53futxEHmpmYBUoNcW5JO bkorGVWaZIt6YYi5d6pcyV5Iag9FnGaJ8BYvQC5q7XWmdY9Qbq7bRo+9Lel9+66bQXW2 id1YIrpYpxQWbi8rbtIcJGf9wUW9ZP+0884jnjhYkqxGrzvQLvEAiHpXunZgtA3dZtLX VW0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from :arc-authentication-results; bh=2XmBGpL6555qgMsFLjzglDr9DuyJH9FXRYyumqwrEFM=; b=VLS0PS0UWVb7yyVaXeLYD2i2FZ98naoiG75CzAPHV1YP8OmwirAZv50JWzsEYtjC9u jAHR2WtL0M46NBPWs+i97fiJslwr2ZLQZuCY/1+M1IMkci7vayKVz4QPqI/kU689eriS 4wyr/HMBK/kh/NqWJpabYqZh7KrY5GRl8cm8+bJGYDdK0vbU1CsStuK14wY1Uud1JV6/ trW8O6DfSq6ZGrRlCnG7LU1zt2Lb1kOKwc3Ym0ZXmKGe3vzf7UFBgvl4ufMvFZJ1WV4/ l+bYxlB7YEdLHhlnSUdCSXPVNsOVdS7gx4M6nWjPiMaiuUdEWjXp7xvk/yiANL/Y/sKt A0GQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n9si908231pfb.166.2018.04.18.03.25.08; Wed, 18 Apr 2018 03:25:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753250AbeDRKXx (ORCPT + 99 others); Wed, 18 Apr 2018 06:23:53 -0400 Received: from smtp.ctxuk.citrix.com ([185.25.65.24]:27292 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753153AbeDRKXw (ORCPT ); Wed, 18 Apr 2018 06:23:52 -0400 X-IronPort-AV: E=Sophos;i="5.48,464,1517875200"; d="scan'208";a="71737910" From: Paul Durrant To: 'Oleksandr Andrushchenko' , Roger Pau Monne CC: "jgross@suse.com" , Artem Mygaiev , Dongwon Kim , "airlied@linux.ie" , "Oleksandr_Andrushchenko@epam.com" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Potrola, MateuszX" , "xen-devel@lists.xenproject.org" , "daniel.vetter@intel.com" , "boris.ostrovsky@oracle.com" , Matt Roper Subject: RE: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Thread-Topic: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Thread-Index: AQHT1ZBFZFTlMYYSZ0+T898rRourpKQDpbWAgADRqACAANlxAIAAok+AgAAPyACAAAdIAIAAJEIAgAAi7tD//9/7gIAAIb1Q Date: Wed, 18 Apr 2018 10:23:51 +0000 Message-ID: References: <20180329131931.29957-1-andr2000@gmail.com> <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> <7d6710a76b9a42299139d7914358ed52@AMSPEX02CL03.citrite.net> <3c56505c-8f03-e49b-a995-a2118d255164@gmail.com> In-Reply-To: <3c56505c-8f03-e49b-a995-a2118d255164@gmail.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNo ZW5rbyBbbWFpbHRvOmFuZHIyMDAwQGdtYWlsLmNvbV0NCj4gU2VudDogMTggQXByaWwgMjAxOCAx MToyMQ0KPiBUbzogUGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT47IFJvZ2Vy IFBhdSBNb25uZQ0KPiA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+IENjOiBqZ3Jvc3NAc3VzZS5j b207IEFydGVtIE15Z2FpZXYgPEFydGVtX015Z2FpZXZAZXBhbS5jb20+Ow0KPiBEb25nd29uIEtp bSA8ZG9uZ3dvbi5raW1AaW50ZWwuY29tPjsgYWlybGllZEBsaW51eC5pZTsNCj4gT2xla3NhbmRy X0FuZHJ1c2hjaGVua29AZXBhbS5jb207IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGRy aS0NCj4gZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBQb3Ryb2xhLCBNYXRldXN6WA0KPiA8 bWF0ZXVzengucG90cm9sYUBpbnRlbC5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmc7DQo+IGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tOyBib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNv bTsgTWF0dCBSb3Blcg0KPiA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4NCj4gU3ViamVjdDog UmU6IFtYZW4tZGV2ZWxdIFtQQVRDSCAwLzFdIGRybS94ZW4temNvcHk6IEFkZCBYZW4gemVyby1j b3B5DQo+IGhlbHBlciBEUk0gZHJpdmVyDQo+IA0KPiBPbiAwNC8xOC8yMDE4IDAxOjE4IFBNLCBQ YXVsIER1cnJhbnQgd3JvdGU6DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ IEZyb206IFhlbi1kZXZlbCBbbWFpbHRvOnhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2pl Y3Qub3JnXSBPbg0KPiBCZWhhbGYNCj4gPj4gT2YgUm9nZXIgUGF1IE1vbm7DqQ0KPiA+PiBTZW50 OiAxOCBBcHJpbCAyMDE4IDExOjExDQo+ID4+IFRvOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8 YW5kcjIwMDBAZ21haWwuY29tPg0KPiA+PiBDYzogamdyb3NzQHN1c2UuY29tOyBBcnRlbSBNeWdh aWV2IDxBcnRlbV9NeWdhaWV2QGVwYW0uY29tPjsNCj4gPj4gRG9uZ3dvbiBLaW0gPGRvbmd3b24u a2ltQGludGVsLmNvbT47IGFpcmxpZWRAbGludXguaWU7DQo+ID4+IE9sZWtzYW5kcl9BbmRydXNo Y2hlbmtvQGVwYW0uY29tOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOw0KPiBkcmktDQo+ ID4+IGRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgUG90cm9sYSwgTWF0ZXVzelgNCj4gPj4g PG1hdGV1c3p4LnBvdHJvbGFAaW50ZWwuY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnOw0KPiA+PiBkYW5pZWwudmV0dGVyQGludGVsLmNvbTsgYm9yaXMub3N0cm92c2t5QG9yYWNs ZS5jb207IE1hdHQgUm9wZXINCj4gPj4gPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+DQo+ID4+ IFN1YmplY3Q6IFJlOiBbWGVuLWRldmVsXSBbUEFUQ0ggMC8xXSBkcm0veGVuLXpjb3B5OiBBZGQg WGVuIHplcm8tY29weQ0KPiA+PiBoZWxwZXIgRFJNIGRyaXZlcg0KPiA+Pg0KPiA+PiBPbiBXZWQs IEFwciAxOCwgMjAxOCBhdCAxMTowMToxMkFNICswMzAwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5r bw0KPiA+PiB3cm90ZToNCj4gPj4+IE9uIDA0LzE4LzIwMTggMTA6MzUgQU0sIFJvZ2VyIFBhdSBN b25uw6kgd3JvdGU6DQo+ID4+Pj4gT24gV2VkLCBBcHIgMTgsIDIwMTggYXQgMDk6Mzg6MzlBTSAr MDMwMCwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28NCj4gPj4gd3JvdGU6DQo+ID4+Pj4+IE9uIDA0 LzE3LzIwMTggMTE6NTcgUE0sIERvbmd3b24gS2ltIHdyb3RlOg0KPiA+Pj4+Pj4gT24gVHVlLCBB cHIgMTcsIDIwMTggYXQgMDk6NTk6MjhBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToNCj4g Pj4+Pj4+PiBPbiBNb24sIEFwciAxNiwgMjAxOCBhdCAxMjoyOTowNVBNIC0wNzAwLCBEb25nd29u IEtpbSB3cm90ZToNCj4gPj4+Pj4gMy4yIEJhY2tlbmQgZXhwb3J0cyBkbWEtYnVmIHRvIHhlbi1m cm9udA0KPiA+Pj4+Pg0KPiA+Pj4+PiBJbiB0aGlzIGNhc2UgRG9tMCBwYWdlcyBhcmUgc2hhcmVk IHdpdGggRG9tVS4gQXMgYmVmb3JlLCBEb21VIGNhbg0KPiA+PiBvbmx5IHdyaXRlDQo+ID4+Pj4+ IHRvIHRoZXNlIHBhZ2VzLCBub3QgYW55IG90aGVyIHBhZ2UgZnJvbSBEb20wLCBzbyBpdCBjYW4g YmUgc3RpbGwNCj4gPj4gY29uc2lkZXJlZA0KPiA+Pj4+PiBzYWZlLg0KPiA+Pj4+PiBCdXQsIHRo ZSBmb2xsb3dpbmcgbXVzdCBiZSBjb25zaWRlcmVkIChoaWdobGlnaHRlZCBpbiB4ZW4tZnJvbnQn cw0KPiBLZXJuZWwNCj4gPj4+Pj4gZG9jdW1lbnRhdGlvbik6DQo+ID4+Pj4+ICAgwqAtIElmIGd1 ZXN0IGRvbWFpbiBkaWVzIHRoZW4gcGFnZXMvZ3JhbnRzIHJlY2VpdmVkIGZyb20gdGhlIGJhY2tl bmQNCj4gPj4gY2Fubm90DQo+ID4+Pj4+ICAgwqDCoCBiZSBjbGFpbWVkIGJhY2sgLSB0aGluayBv ZiBpdCBhcyBtZW1vcnkgbG9zdCB0byBEb20wICh3b24ndCBiZSB1c2VkDQo+ID4+IGZvcg0KPiA+ Pj4+PiBhbnkNCj4gPj4+Pj4gICDCoMKgIG90aGVyIGd1ZXN0KQ0KPiA+Pj4+PiAgIMKgLSBNaXNi ZWhhdmluZyBndWVzdCBtYXkgc2VuZCB0b28gbWFueSByZXF1ZXN0cyB0byB0aGUgYmFja2VuZA0K PiA+PiBleGhhdXN0aW5nDQo+ID4+Pj4+ICAgwqDCoCBpdHMgZ3JhbnQgcmVmZXJlbmNlcyBhbmQg bWVtb3J5IChjb25zaWRlciB0aGlzIGZyb20gc2VjdXJpdHkgUE9WKS4NCj4gPj4gQXMgdGhlDQo+ ID4+Pj4+ICAgwqDCoCBiYWNrZW5kIHJ1bnMgaW4gdGhlIHRydXN0ZWQgZG9tYWluIHdlIGFsc28g YXNzdW1lIHRoYXQgaXQgaXMNCj4gdHJ1c3RlZA0KPiA+PiBhcw0KPiA+Pj4+PiB3ZWxsLA0KPiA+ Pj4+PiAgIMKgwqAgZS5nLiBtdXN0IHRha2UgbWVhc3VyZXMgdG8gcHJldmVudCBERG9TIGF0dGFj a3MuDQo+ID4+Pj4gSSBjYW5ub3QgcGFyc2UgdGhlIGFib3ZlIHNlbnRlbmNlOg0KPiA+Pj4+DQo+ ID4+Pj4gIkFzIHRoZSBiYWNrZW5kIHJ1bnMgaW4gdGhlIHRydXN0ZWQgZG9tYWluIHdlIGFsc28g YXNzdW1lIHRoYXQgaXQgaXMNCj4gPj4+PiB0cnVzdGVkIGFzIHdlbGwsIGUuZy4gbXVzdCB0YWtl IG1lYXN1cmVzIHRvIHByZXZlbnQgRERvUyBhdHRhY2tzLiINCj4gPj4+Pg0KPiA+Pj4+IFdoYXQn cyB0aGUgcmVsYXRpb24gYmV0d2VlbiBiZWluZyB0cnVzdGVkIGFuZCBwcm90ZWN0aW5nIGZyb20g RG9TDQo+ID4+Pj4gYXR0YWNrcz8NCj4gPj4+IEkgbWVhbiB0aGF0IHdlIHRydXN0IHRoZSBiYWNr ZW5kIHRoYXQgaXQgY2FuIHByZXZlbnQgRG9tMA0KPiA+Pj4gZnJvbSBjcmFzaGluZyBpbiBjYXNl IERvbVUncyBmcm9udGVuZCBtaXNiZWhhdmVzLCBlLmcuDQo+ID4+PiBpZiB0aGUgZnJvbnRlbmQg c2VuZHMgdG9vIG1hbnkgbWVtb3J5IHJlcXVlc3RzIGV0Yy4NCj4gPj4+PiBJbiBhbnkgY2FzZSwg YWxsPyBQViBwcm90b2NvbHMgYXJlIGltcGxlbWVudGVkIHdpdGggdGhlIGZyb250ZW5kDQo+ID4+ Pj4gc2hhcmluZyBwYWdlcyB0byB0aGUgYmFja2VuZCwgYW5kIEkgdGhpbmsgdGhlcmUncyBhIHJl YXNvbiB3aHkgdGhpcw0KPiA+Pj4+IG1vZGVsIGlzIHVzZWQsIGFuZCBpdCBzaG91bGQgY29udGlu dWUgdG8gYmUgdXNlZC4NCj4gPj4+IFRoaXMgaXMgdGhlIGZpcnN0IHVzZS1jYXNlIGFib3ZlLiBC dXQgdGhlcmUgYXJlIHJlYWwtd29ybGQNCj4gPj4+IHVzZS1jYXNlcyAoZW1iZWRkZWQgaW4gbXkg Y2FzZSkgd2hlbiBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMgbWVtb3J5DQo+ID4+PiBuZWVkcyB0byBi ZSBzaGFyZWQsIG9uZSBvZiB0aGUgcG9zc2libGUgd2F5cyB0byBhY2hpZXZlIHRoaXMgaXMNCj4g Pj4+IHRvIHNoYXJlIGNvbnRpZ3VvdXMgbWVtb3J5IGZyb20gRG9tMCB0byBEb21VICh0aGUgc2Vj b25kIHVzZS1jYXNlDQo+ID4+IGFib3ZlKQ0KPiA+Pj4+IEhhdmluZyB0byBhZGQgbG9naWMgaW4g dGhlIGJhY2tlbmQgdG8gcHJldmVudCBzdWNoIGF0dGFja3MgbWVhbnMNCj4gPj4+PiB0aGF0Og0K PiA+Pj4+DQo+ID4+Pj4gICAgLSBXZSBuZWVkIG1vcmUgY29kZSBpbiB0aGUgYmFja2VuZCwgd2hp Y2ggaW5jcmVhc2VzIGNvbXBsZXhpdHkgYW5kDQo+ID4+Pj4gICAgICBjaGFuY2VzIG9mIGJ1Z3Mu DQo+ID4+Pj4gICAgLSBTdWNoIGNvZGUvbG9naWMgY291bGQgYmUgd3JvbmcsIHRodXMgYWxsb3dp bmcgRG9TLg0KPiA+Pj4gWW91IGNhbiBsaXZlIHdpdGhvdXQgdGhpcyBjb2RlIGF0IGFsbCwgYnV0 IHRoaXMgaXMgdGhlbiB1cCB0bw0KPiA+Pj4gYmFja2VuZCB3aGljaCBtYXkgbWFrZSBEb20wIGRv d24gYmVjYXVzZSBvZiBEb21VJ3MgZnJvbnRlbmQNCj4gZG9pbmcNCj4gPj4gZXZpbA0KPiA+Pj4g dGhpbmdzDQo+ID4+IElNTyB3ZSBzaG91bGQgZGVzaWduIHByb3RvY29scyB0aGF0IGRvIG5vdCBh bGxvdyBzdWNoIGF0dGFja3MgaW5zdGVhZA0KPiA+PiBvZiBoYXZpbmcgdG8gZGVmZW5kIGFnYWlu c3QgdGhlbS4NCj4gPj4NCj4gPj4+Pj4gNC4geGVuLWZyb250L2JhY2tlbmQveGVuLXpjb3B5IHN5 bmNocm9uaXphdGlvbg0KPiA+Pj4+Pg0KPiA+Pj4+PiA0LjEuIEFzIEkgYWxyZWFkeSBzYWlkIGlu IDIpIGFsbCB0aGUgaW50ZXIgVk0gY29tbXVuaWNhdGlvbiBoYXBwZW5zDQo+ID4+IGJldHdlZW4N Cj4gPj4+Pj4geGVuLWZyb250IGFuZCB0aGUgYmFja2VuZCwgeGVuLXpjb3B5IGlzIE5PVCBpbnZv bHZlZCBpbiB0aGF0Lg0KPiA+Pj4+PiBXaGVuIHhlbi1mcm9udCB3YW50cyB0byBkZXN0cm95IGEg ZGlzcGxheSBidWZmZXIgKGR1bWIvZG1hLWJ1ZikgaXQNCj4gPj4gaXNzdWVzIGENCj4gPj4+Pj4g WEVORElTUExfT1BfREJVRl9ERVNUUk9ZIGNvbW1hbmQgKG9wcG9zaXRlIHRvDQo+ID4+IFhFTkRJ U1BMX09QX0RCVUZfQ1JFQVRFKS4NCj4gPj4+Pj4gVGhpcyBjYWxsIGlzIHN5bmNocm9ub3VzLCBz byB4ZW4tZnJvbnQgZXhwZWN0cyB0aGF0IGJhY2tlbmQgZG9lcyBmcmVlDQo+ID4+IHRoZQ0KPiA+ Pj4+PiBidWZmZXIgcGFnZXMgb24gcmV0dXJuLg0KPiA+Pj4+Pg0KPiA+Pj4+PiA0LjIuIEJhY2tl bmQsIG9uIFhFTkRJU1BMX09QX0RCVUZfREVTVFJPWToNCj4gPj4+Pj4gICDCoCAtIGNsb3NlcyBh bGwgZHVtYiBoYW5kbGVzL2ZkJ3Mgb2YgdGhlIGJ1ZmZlciBhY2NvcmRpbmcgdG8gWzNdDQo+ID4+ Pj4+ICAgwqAgLSBpc3N1ZXMgRFJNX0lPQ1RMX1hFTl9aQ09QWV9EVU1CX1dBSVRfRlJFRSBJT0NU TCB0byB4ZW4tDQo+ID4+IHpjb3B5IHRvIG1ha2UNCj4gPj4+Pj4gc3VyZQ0KPiA+Pj4+PiAgIMKg wqDCoCB0aGUgYnVmZmVyIGlzIGZyZWVkICh0aGluayBvZiBpdCBhcyBpdCB3YWl0cyBmb3IgZG1h LWJ1Zi0+cmVsZWFzZQ0KPiA+Pj4+PiBjYWxsYmFjaykNCj4gPj4+PiBTbyB0aGlzIHpjb3B5IHRo aW5nIGtlZXBzIHNvbWUga2luZCBvZiB0cmFjayBvZiB0aGUgbWVtb3J5IHVzYWdlPw0KPiBXaHkN Cj4gPj4+PiBjYW4ndCB0aGUgdXNlci1zcGFjZSBiYWNrZW5kIGtlZXAgdHJhY2sgb2YgdGhlIGJ1 ZmZlciB1c2FnZT8NCj4gPj4+IEJlY2F1c2UgdGhlcmUgaXMgbm8gZG1hLWJ1ZiBVQVBJIHdoaWNo IGFsbG93cyB0byB0cmFjayB0aGUgYnVmZmVyIGxpZmUNCj4gY3ljbGUNCj4gPj4+IChlLmcuIHdh aXQgdW50aWwgZG1hLWJ1ZidzIC5yZWxlYXNlIGNhbGxiYWNrIGlzIGNhbGxlZCkNCj4gPj4+Pj4g ICDCoCAtIHJlcGxpZXMgdG8geGVuLWZyb250IHRoYXQgdGhlIGJ1ZmZlciBjYW4gYmUgZGVzdHJv eWVkLg0KPiA+Pj4+PiBUaGlzIHdheSBkZWxldGlvbiBvZiB0aGUgYnVmZmVyIGhhcHBlbnMgc3lu Y2hyb25vdXNseSBvbiBib3RoIERvbTANCj4gPj4gYW5kIERvbVUNCj4gPj4+Pj4gc2lkZXMuIElu IGNhc2UgaWYgRFJNX0lPQ1RMX1hFTl9aQ09QWV9EVU1CX1dBSVRfRlJFRSByZXR1cm5zDQo+ID4+ IHdpdGggdGltZS1vdXQNCj4gPj4+Pj4gZXJyb3INCj4gPj4+Pj4gKEJUVywgd2FpdCB0aW1lIGlz IGEgcGFyYW1ldGVyIG9mIHRoaXMgSU9DVEwpLCBYZW4gd2lsbCBkZWZlciBncmFudA0KPiA+Pj4+ PiByZWZlcmVuY2UNCj4gPj4+Pj4gcmVtb3ZhbCBhbmQgd2lsbCByZXRyeSBsYXRlciB1bnRpbCB0 aG9zZSBhcmUgZnJlZS4NCj4gPj4+Pj4NCj4gPj4+Pj4gSG9wZSB0aGlzIGhlbHBzIHVuZGVyc3Rh bmQgaG93IGJ1ZmZlcnMgYXJlIHN5bmNocm9ub3VzbHkgZGVsZXRlZCBpbg0KPiA+PiBjYXNlDQo+ ID4+Pj4+IG9mIHhlbi16Y29weSB3aXRoIGEgc2luZ2xlIHByb3RvY29sIGNvbW1hbmQuDQo+ID4+ Pj4+DQo+ID4+Pj4+IEkgdGhpbmsgdGhlIGFib3ZlIGxvZ2ljIGNhbiBhbHNvIGJlIHJlLXVzZWQg YnkgdGhlIGh5cGVyLWRtYWJ1ZiBkcml2ZXINCj4gPj4gd2l0aA0KPiA+Pj4+PiBzb21lIGFkZGl0 aW9uYWwgd29yazoNCj4gPj4+Pj4NCj4gPj4+Pj4gMS4geGVuLXpjb3B5IGNhbiBiZSBzcGxpdCBp bnRvIDIgcGFydHMgYW5kIGV4dGVuZDoNCj4gPj4+Pj4gMS4xLiBYZW4gZ250ZGV2IGRyaXZlciBb NF0sIFs1XSB0byBhbGxvdyBjcmVhdGluZyBkbWEtYnVmIGZyb20gZ3JlZnMNCj4gYW5kDQo+ID4+ Pj4+IHZpc2UgdmVyc2EsDQo+ID4+Pj4gSSBkb24ndCBrbm93IG11Y2ggYWJvdXQgdGhlIGRtYS1i dWYgaW1wbGVtZW50YXRpb24gaW4gTGludXgsIGJ1dA0KPiA+Pj4+IGdudGRldiBpcyBhIHVzZXIt c3BhY2UgZGV2aWNlLCBhbmQgQUZBSUNUIHVzZXItc3BhY2UgYXBwbGljYXRpb25zDQo+ID4+Pj4g ZG9uJ3QgaGF2ZSBhbnkgbm90aW9uIG9mIGRtYSBidWZmZXJzLiBIb3cgYXJlIHN1Y2ggYnVmZmVy cyB1c2VmdWwgZm9yDQo+ID4+Pj4gdXNlci1zcGFjZT8gV2h5IGNhbid0IHRoaXMganVzdCBiZSBj YWxsZWQgbWVtb3J5Pw0KPiA+Pj4gQSBkbWEtYnVmIGlzIHNlZW4gYnkgdXNlci1zcGFjZSBhcyBh IGZpbGUgZGVzY3JpcHRvciBhbmQgeW91IGNhbg0KPiA+Pj4gcGFzcyBpdCB0byBkaWZmZXJlbnQg ZHJpdmVycyB0aGVuLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBzaGFyZSBhIGJ1ZmZlcg0KPiA+Pj4g dXNlZCBieSBhIGRpc3BsYXkgZHJpdmVyIGZvciBzY2Fub3V0IHdpdGggYSBHUFUsIHRvIGNvbXBv c2UgYSBwaWN0dXJlDQo+ID4+PiBpbnRvIGl0Og0KPiA+Pj4gMS4gVXNlci1zcGFjZSAoVVMpIGFs bG9jYXRlcyBhIGRpc3BsYXkgYnVmZmVyIGZyb20gZGlzcGxheSBkcml2ZXINCj4gPj4+IDIuIFVT IGFza3MgZGlzcGxheSBkcml2ZXIgdG8gZXhwb3J0IHRoZSBkbWEtYnVmIHdoaWNoIGJhY2tzIHVw IHRoYXQNCj4gYnVmZmVyLA0KPiA+Pj4gVVMgZ2V0cyBidWZmZXIncyBmZDogZG1hX2J1Zl9mZA0K PiA+Pj4gMy4gVVMgYXNrcyBHUFUgZHJpdmVyIHRvIGltcG9ydCBhIGJ1ZmZlciBhbmQgcHJvdmlk ZXMgaXQgd2l0aA0KPiBkbWFfYnVmX2ZkDQo+ID4+PiA0LiBHUFUgcmVuZGVycyBjb250ZW50cyBp bnRvIGRpc3BsYXkgYnVmZmVyIChkbWFfYnVmX2ZkKQ0KPiA+PiBBZnRlciBzcGVha2luZyB3aXRo IE9sZWtzYW5kciBvbiBJUkMsIEkgdGhpbmsgdGhlIG1haW4gdXNhZ2Ugb2YgdGhlDQo+ID4+IGdu dGRldiBleHRlbnNpb24gaXMgdG86DQo+ID4+DQo+ID4+IDEuIENyZWF0ZSBhIGRtYS1idWYgZnJv bSBhIHNldCBvZiBncmFudCByZWZlcmVuY2VzLg0KPiA+PiAyLiBTaGFyZSBkbWEtYnVmIGFuZCBn ZXQgYSBsaXN0IG9mIGdyYW50IHJlZmVyZW5jZXMuDQo+ID4+DQo+ID4+IEkgdGhpbmsgdGhpcyBz ZXQgb2Ygb3BlcmF0aW9ucyBjb3VsZCBiZSBicm9rZW4gaW50bzoNCj4gPj4NCj4gPj4gMS4xIE1h cCBncmFudCByZWZlcmVuY2VzIGludG8gdXNlci1zcGFjZSB1c2luZyB0aGUgZ250ZGV2Lg0KPiA+ PiAxLjIgQ3JlYXRlIGEgZG1hLWJ1ZiBvdXQgb2YgYSBzZXQgb2YgdXNlci1zcGFjZSB2aXJ0dWFs IGFkZHJlc3Nlcy4NCj4gPj4NCj4gPj4gMi4xIE1hcCBhIGRtYS1idWYgaW50byB1c2VyLXNwYWNl Lg0KPiA+PiAyLjIgR2V0IGdyZWZzIG91dCBvZiB0aGUgdXNlci1zcGFjZSBhZGRyZXNzZXMgd2hl cmUgdGhlIGRtYS1idWYgaXMNCj4gPj4gICAgICBtYXBwZWQuDQo+ID4+DQo+ID4+IFNvIGl0IHNl ZW1zIGxpa2Ugd2hhdCdzIGFjdHVhbGx5IG1pc3NpbmcgaXMgYSB3YXkgdG86DQo+ID4+DQo+ID4+ ICAgLSBDcmVhdGUgYSBkbWEtYnVmIGZyb20gYSBsaXN0IG9mIHVzZXItc3BhY2UgdmlydHVhbCBh ZGRyZXNzZXMuDQo+ID4+ICAgLSBBbGxvdyB0byBtYXAgYSBkbWEtYnVmIGludG8gdXNlci1zcGFj ZSwgc28gaXQgY2FuIHRoZW4gYmUgdXNlZCB3aXRoDQo+ID4+ICAgICB0aGUgZ250ZGV2Lg0KPiA+ Pg0KPiA+PiBJIHRoaW5rIHRoaXMgaXMgZ2VuZXJpYyBlbm91Z2ggdGhhdCBpdCBjb3VsZCBiZSBp bXBsZW1lbnRlZCBieSBhDQo+ID4+IGRldmljZSBub3QgdGllZCB0byBYZW4uIEFGQUlDVCB0aGUg aHlwZXJfZG1hIGd1eXMgYWxzbyB3YW50ZWQNCj4gPj4gc29tZXRoaW5nIHNpbWlsYXIgdG8gdGhp cy4NCj4gPj4NCj4gPj4+IEZpbmFsbHksIHRoaXMgaXMgaW5kZWVkIHNvbWUgbWVtb3J5LCBidXQg YSBiaXQgbW9yZSBbMV0NCj4gPj4+PiBBbHNvLCAod2l0aCBteSBGcmVlQlNEIG1haW50YWluZXIg aGF0KSBob3cgaXMgdGhpcyBnb2luZyB0byB0cmFuc2xhdGUNCj4gPj4+PiB0byBvdGhlciBPU2Vz PyBTbyBmYXIgdGhlIG9wZXJhdGlvbnMgcGVyZm9ybWVkIGJ5IHRoZSBnbnRkZXYgZGV2aWNlDQo+ ID4+Pj4gYXJlIG1vc3RseSBPUy1hZ25vc3RpYyBiZWNhdXNlIHRoaXMganVzdCBtYXAvdW5tYXAg bWVtb3J5LCBhbmQgaW4NCj4gZmFjdA0KPiA+Pj4+IHRoZXkgYXJlIGltcGxlbWVudGVkIGJ5IExp bnV4IGFuZCBGcmVlQlNELg0KPiA+Pj4gQXQgdGhlIG1vbWVudCBJIGNhbiBvbmx5IHNlZSBMaW51 eCBpbXBsZW1lbnRhdGlvbiBhbmQgaXQgc2VlbXMNCj4gPj4+IHRvIGJlIHBlcmZlY3RseSBvayBh cyB3ZSBkbyBub3QgY2hhbmdlIFhlbidzIEFQSXMgZXRjLiBhbmQgb25seQ0KPiA+Pj4gdXNlIHRo ZSBleGlzdGluZyBvbmVzIChyZW1lbWJlciwgd2Ugb25seSBleHRlbmQgZ250ZGV2L2JhbGxvb24N Cj4gPj4+IGRyaXZlcnMsIGFsbCB0aGUgY2hhbmdlcyBpbiB0aGUgTGludXgga2VybmVsKQ0KPiA+ Pj4gQXMgdGhlIHNlY29uZCBub3RlIEkgY2FuIGFsc28gdGhpbmsgdGhhdCB3ZSBkbyBub3QgZXh0 ZW5kDQo+IGdudGRldi9iYWxsb29uDQo+ID4+PiBkcml2ZXJzIGFuZCBoYXZlIHJlLXdvcmtlZCB4 ZW4temNvcHkgZHJpdmVyIGJlIGEgc2VwYXJhdGUgZW50aXR5LA0KPiA+Pj4gc2F5IGRyaXZlcnMv eGVuL2RtYS1idWYNCj4gPj4+Pj4gaW1wbGVtZW50ICJ3YWl0IiBpb2N0bCAod2FpdCBmb3IgZG1h LWJ1Zi0+cmVsZWFzZSk6IGN1cnJlbnRseSB0aGVzZQ0KPiBhcmUNCj4gPj4+Pj4gRFJNX1hFTl9a Q09QWV9EVU1CX0ZST01fUkVGUywNCj4gPj4gRFJNX1hFTl9aQ09QWV9EVU1CX1RPX1JFRlMgYW5k DQo+ID4+Pj4+IERSTV9YRU5fWkNPUFlfRFVNQl9XQUlUX0ZSRUUNCj4gPj4+Pj4gMS4yLiBYZW4g YmFsbG9vbiBkcml2ZXIgWzZdIHRvIGFsbG93IGFsbG9jYXRpbmcgY29udGlndW91cyBidWZmZXJz IChub3QNCj4gPj4+Pj4gbmVlZGVkDQo+ID4+Pj4+IGJ5IGN1cnJlbnQgaHlwZXItZG1hYnVmLCBi dXQgaXMgYSBtdXN0IGZvciB4ZW4temNvcHkgdXNlLWNhc2VzKQ0KPiA+Pj4+IEkgdGhpbmsgdGhp cyBuZWVkcyBjbGFyaWZ5aW5nLiBJbiB3aGljaCBtZW1vcnkgc3BhY2UgZG8geW91IG5lZWQgdGhv c2UNCj4gPj4+PiByZWdpb25zIHRvIGJlIGNvbnRpZ3VvdXM/DQo+ID4+PiBVc2UtY2FzZTogRG9t MCBoYXMgYSBIVyBkcml2ZXIgd2hpY2ggb25seSB3b3JrcyB3aXRoIGNvbnRpZyBtZW1vcnkNCj4g Pj4+IGFuZCBJIHdhbnQgRG9tVSB0byBiZSBhYmxlIHRvIGRpcmVjdGx5IHdyaXRlIGludG8gdGhh dCBtZW1vcnksIHRodXMNCj4gPj4+IGltcGxlbWVudGluZyB6ZXJvIGNvcHlpbmcNCj4gPj4+PiBE byB0aGV5IG5lZWQgdG8gYmUgY29udGlndW91cyBpbiBob3N0IHBoeXNpY2FsIG1lbW9yeSwgb3Ig Z3Vlc3QNCj4gPj4+PiBwaHlzaWNhbCBtZW1vcnk/DQo+ID4+PiBIb3N0DQo+ID4+Pj4gSWYgaXQn cyBpbiBndWVzdCBtZW1vcnkgc3BhY2UsIGlzbid0IHRoZXJlIGFueSBnZW5lcmljIGludGVyZmFj ZSB0aGF0DQo+ID4+Pj4geW91IGNhbiB1c2U/DQo+ID4+Pj4NCj4gPj4+PiBJZiBpdCdzIGluIGhv c3QgcGh5c2ljYWwgbWVtb3J5IHNwYWNlLCB3aHkgZG8geW91IG5lZWQgdGhpcyBidWZmZXIgdG8N Cj4gPj4+PiBiZSBjb250aWd1b3VzIGluIGhvc3QgcGh5c2ljYWwgbWVtb3J5IHNwYWNlPyBUaGUg SU9NTVUgc2hvdWxkIGhpZGUNCj4gPj4gYWxsDQo+ID4+Pj4gdGhpcy4NCj4gPj4+IFRoZXJlIGFy ZSBkcml2ZXJzL0hXIHdoaWNoIGNhbiBvbmx5IHdvcmsgd2l0aCBjb250aWcgbWVtb3J5IGFuZA0K PiA+Pj4gaWYgaXQgaXMgYmFja2VkIGJ5IGFuIElPTU1VIHRoZW4gc3RpbGwgaXQgaGFzIHRvIGJl IGNvbnRpZyBpbiBJUEENCj4gPj4+IHNwYWNlIChyZWFsIGRldmljZSBkb2Vzbid0IGtub3cgdGhh dCBpdCBpcyBhY3R1YWxseSBJUEEgY29udGlnLCBub3QgUEEpDQo+ID4+IFdoYXQncyBJUEEgY29u dGlnPw0KPiA+IEkgYXNzdW1lICdJUEEnIG1lYW5zICdJT01NVSBQaHlzaWNhbCBBZGRyZXNzJy4g SSB3b25kZXIgd2hldGhlciB0aGlzDQo+IG1lYW5zIHdoYXQgSSd2ZSB0ZXJtZWQgJ0J1cyBBZGRy ZXNzJyBlbHNld2hlcmU/DQo+IHNvcnJ5IGZvciBub3QgYmVpbmcgY2xlYXIgaGVyZTogSSBtZWFu IHRoYXQgdGhlIGRldmljZSBzZWVzIGNvbnRpZ3VvdXMNCj4gcmFuZ2Ugb2YNCj4gSW50ZXJtZWRp YXRlIFBoeXMgQWRkcmVzc2VzDQoNClN0aWxsIG5vdCBjbGVhciAodG8gbWUgYXQgbGVhc3QpIHdo YXQgdGhhdCBtZWFucy4gQXJlIHlvdSB0YWxraW5nIGFib3V0IHRoZSBhZGRyZXNzIHNwYWNlIHVz ZWQgYnkgdGhlIGRldmljZT8gSWYgc28sIHRoYXQgaXMgZXNzZW50aWFsbHkgdmlydHVhbCBhZGRy ZXNzIHNwYWNlIHRyYW5zbGF0ZWQgYnkgdGhlIElPTU1VIGFuZCB3ZSBoYXZlIGdlbmVyYWwgdGVy bWVkIHRoaXMgJ2J1cyBhZGRyZXNzIHNwYWNlJy4NCg0KICBQYXVsDQoNCj4gPiAgICBQYXVsDQo+ ID4NCj4gPj4gVGhhbmtzLCBSb2dlci4NCj4gPj4NCj4gPj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPj4gWGVuLWRldmVsIG1haWxpbmcgbGlzdA0K PiA+PiBYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gPj4gaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA0KDQo=