From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 07/12] drm/amdgpu: implement cgs gpu memory callbacks Date: Wed, 30 Sep 2015 08:55:10 +0200 Message-ID: <20150930065510.GS3383@phenom.ffwll.local> References: <1436458871-16358-1-git-send-email-alexander.deucher@amd.com> <1436458871-16358-7-git-send-email-alexander.deucher@amd.com> <20150929114048.GK3383@phenom.ffwll.local> <560A8695.3070506@vodafone.de> <20150929152009.GO3383@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id 368BD72149 for ; Tue, 29 Sep 2015 23:52:16 -0700 (PDT) Received: by wicfx3 with SMTP id fx3so181762217wic.1 for ; Tue, 29 Sep 2015 23:52:14 -0700 (PDT) Content-Disposition: inline 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: Alex Deucher Cc: Alex Deucher , "Bayyavarapu, Maruthi" , Maling list - DRI developers List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBTZXAgMjksIDIwMTUgYXQgMTE6NDE6NTZBTSAtMDQwMCwgQWxleCBEZXVjaGVyIHdy b3RlOgo+IE9uIFR1ZSwgU2VwIDI5LCAyMDE1IGF0IDExOjIwIEFNLCBEYW5pZWwgVmV0dGVyIDxk YW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gT24gVHVlLCBTZXAgMjksIDIwMTUgYXQgMDI6Mzk6 NDlQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiA+PiBPbiAyOS4wOS4yMDE1IDEz OjQwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4+ID5PbiBUaHUsIEp1bCAwOSwgMjAxNSBhdCAx MjoyMTowNlBNIC0wNDAwLCBBbGV4IERldWNoZXIgd3JvdGU6Cj4gPj4gPj5Gcm9tOiBDaHVubWlu ZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgo+ID4+ID4+Cj4gPj4gPj5UaGlzIGltcGxlbWVu dHMgdGhlIGNncyBpbnRlcmZhY2UgZm9yIGFsbG9jYXRpbmcKPiA+PiA+PkdQVSBtZW1vcnkuCj4g Pj4gPj4KPiA+PiA+PlJldmlld2VkLWJ5OiBKYW1teSBaaG91IDxKYW1teS5aaG91QGFtZC5jb20+ Cj4gPj4gPkkgZG9uJ3Qgc2VlIHRoYXQgcmV2aWV3IGFueXdoZXJlIG9uIGEgbS1sIC4uLiB3aGVy ZSBpcyBpdD8KPiA+Pgo+ID4+IEphbW15IHJldmlld2VkIHRoZSBzdHVmZiBpbnRlcm5hbGx5IGJl Zm9yZSB3ZSBtYWRlIGl0IHB1YmxpYywgdGhhdCdzIHdoeSB5b3UKPiA+PiBjYW4ndCBmaW5kIGl0 Lgo+ID4+Cj4gPj4gPgo+ID4+ID5JIHN0dW1ibGVkIG92ZXIgdGhpcyBwYXRjaCBiZWNhdXNlIGl0 IGFkZHMgYSBuZXcgZGV2LT5zdHJ1Y3RfbXV0ZXggdXNlcgo+ID4+ID4odGhhdCBzaG91bGQgYmUg YSBiaWcgd2FybmluZyBzaWduKSBhbmQgdGhlbiBJIHNvbWVob3cgdW5yb2xsZWQgc29tZSBnaWFu dAo+ID4+ID5jaGFpbiBvZiB3dGZzLiBFaXRoZXIgSSdtIGNvbXBsZXRlbHkgbWlzc2luZyB3aGF0 IHRoaXMgaXMgdXNlZCBmb3Igb3IgaXQKPiA+PiA+cHJvYmFibHkgc2hvdWxkIGdldCByZXdvcmtl ZCBhc2FwLgo+ID4+Cj4gPj4gVGhlIENHUyBmdW5jdGlvbnMgYXJlbid0IHVzZWQgYXQgdGhlIG1v bWVudCBiZWNhdXNlIG5vbmUgb2YgdGhlIGNvbXBvbmVudHMKPiA+PiBkZXBlbmRpbmcgb24gdGhl bSBtYWRlIGl0IGludG8gdGhlIGtlcm5lbCwgYnV0IHdlIHdhbnRlZCB0byBrZWVwIGl0IHNvIHRo YXQKPiA+PiB3ZSBjYW4gZ2V0IHJldmlld3Mgb24gdGhlIGdlbmVyYWwgaWRlYSBhbmQgaWYgbmVj ZXNzYXJ5IHJld29yayBpdC4KPiA+Pgo+ID4+IEluIGdlbmVyYWwgaXQncyBhbiBhYnN0cmFjdGlv biBsYXllciBvZiBkZXZpY2UgZHJpdmVyIGRlcGVuZGVudCBmdW5jdGlvbnMKPiA+PiB3aGljaCBl bmFibGVzIHVzIHRvIHNoYXJlIG1vcmUgY29kZSBpbnRlcm5hbGx5Lgo+ID4+Cj4gPj4gV2Ugd29y a2VkIHF1aXRlIGhhcmQgb24gdHJ5aW5nIHRvIGF2b2lkIHRoZSBPUyBhYnN0cmFjdGlvbiB0cmFw IHdpdGggdGhpcywKPiA+PiBidXQgaWYgeW91IHRoaW5rIHRoaXMgc3RpbGwgd29uJ3Qgd29yayBm ZWVsIGZyZWUgdG8gb2JqZWN0Lgo+ID4KPiA+IFRoZSBiaXQgdGhhdCBtYWRlIG1lIGxvb2sgcmVh bGx5IGlzIHRoZSBpbXBvcnRfZ3B1X21lbSB0aGluZywgd2hpY2ggc2VlbXMKPiA+IHRvIHBhcnRp YWxseSByZWludmVudCBkcm1fcHJpbWUuYy4gR2l2ZW4gaG93IHRyaWNreSBpbXBvcnRpbmcgYW5k Cj4gPiBpbXBvcnQtY2FjaGluZyBpcyBJJ2QgcmVhbGx5IGxpa2UgdG8gc2VlIHRoYXQgZ29uZSAo YW5kIEFsZXggc2FpZCBvbiBpcmMKPiA+IGhlJ2QgYmUgb2sgd2l0aCB0aGF0KS4KPiA+Cj4gCj4g U2VlIGF0dGFjaGVkIHBhdGNoLiAgSXQgd2FzIHJlYWxseSBvbmx5IGFkZGVkIGZvciBjb21wbGV0 ZW5lc3MuICBXZQo+IGRvbid0IGhhdmUgYW55IHVzZXJzIG9mIGl0IGF0IHRoZSBtb21lbnQuICBJ ZiB3ZSBlbmQgdXAgbmVlZGluZyB0aGUKPiBmdW5jdGlvbmFsaXR5IGluIHRoZSBmdXR1cmUgd2Ug Y2FuIHJldmlzaXQgaXQuCj4gCj4gPiBUaGUgb3RoZXIgc3R1ZmYgc2VlbXMgYSBsb3QgbW9yZSBi ZW5pZ24uIEZvciB0aGUgaXJxIGFic3RyYWN0aW9uCj4gPiBzcGVjaWZpY2FsbHkgaXQgbWlnaHQg YmUgd29ydGggbG9va2luZyBhdCB0aGUgaXJxX2NoaXAgc3R1ZmYgbGludXggY29yZQo+ID4gaGFz LCB3aGljaCBpcyB3aGF0J3MgdXNlZCB0byB2aXJ0dWFsaXplL2Fic3RyYWN0IGlycSByb3V0aW5n IGFuZCBoYW5kbGluZy4KPiA+IEJ1dCBmb3IgdGhhdCBzdHVmZiBpdCdzIGEgYmFsYW5jZSB0aGlu ZyByZWFsbHkgaG93IG11Y2ggeW91IHJlaW52ZW50Cj4gPiB3aGVlbHMgaW50ZXJuYWxseSBpbiB0 aGUgZHJpdmVyIChlLmcuIGk5MTUgaGFzIGl0J3Mgb3duIHBvd2VyX3dlbGwgc3R1ZmYKPiA+IHdo aWNoIGlzIHByZXR0eSBtdWNoIGp1c3QgcG93ZXJkb21haW5zIHJlaW52ZW50ZWQsIHdpdGggbGVz cyBmZWF0dXJlcykuCj4gPgo+IAo+IEkgdGhpbmsgdGhhdCdzIG9uZSBvZiB0aGUgaGFyZGVzdCB0 aGluZ3MgaW4gdGhlIGtlcm5lbDogZmluZGluZyBvdXQgaWYKPiBhIHNvbHV0aW9uIGFscmVhZHkg ZXhpc3RzIG9yIG5vdC4gIFdlIGltcGxlbWVudGVkIG91ciBvd24gdmVyc2lvbiBvZgo+IG1mZCBm b3Igb3VyIEFDUCBhdWRpbyBibG9jayBkcml2ZXIuICBVcG9uIHVwc3RlYW1pbmcgd2Ugd2VyZSBh bGVydGVkCj4gdG8gbWZkJ3MgZXhpc3RlbmNlIGFuZCB3ZSBjb252ZXJ0ZWQgdGhlIGRyaXZlciB0 byB1c2UgbWZkLiAgQXQgdGhlIGVuZAo+IG9mIHRoZSBkYXkgaXQgd2FzIGEgbG90IG9mIHdvcmsg Zm9yIG1pbmltYWwgZ2FpbiwgYXQgbGVhc3QgZnJvbSBhCj4gZnVuY3Rpb25hbGl0eSBwZXJzcGVj dGl2ZS4gIEkgd2lzaCB3ZSBoYWQga25vd24gYWJvdXQgaXQgc29vbmVyLiAgSSdsbAo+IHRha2Ug YSBsb29rIGF0IHRoZSBpcnFfY2hpcCBzdHVmZi4gIFRoYW5rcyBmb3IgdGhlIGhlYWRzIHVwIQo+ IAo+IEFsZXgKPiAKPiA+IEJ1dCByZWFsbHkgSSBjYW4ndCB0ZWxsIHdpdGhvdXQgdGhlIHVzZXJz IHdoZXRoZXIgSSdkIGV4cGVjdCB0aGlzIHRvIGJlCj4gPiBodXJ0IGxvbmd0ZXJtIG9yIG5vdCBm b3IgeW91IDstKSBCdXQgdGhlIGltcG9ydCBzdHVmZiBpcyBodXJ0IGZvciBtZSBzaW5jZQo+ID4g eW91IG5vb2RsZSBhcm91bmQgaW4gZHJtIGludGVybmFscy4gQW5kIHNwZWNpZmljYWxseSBJJ2Qg bGlrZSB0byBtYWtlCj4gPiBtb2Rlcm4gZHJpdmVycyBjb21wbGV0ZWx5IHN0cnVjdF9tdXRleCBm cmVlIHdpdGggdGhlIGdvYWwgdG8gdW50YW5nbGUgdGhlCj4gPiBsYXN0IGhvbGQtb3V0cyBvZiB0 aGF0IGxvY2sgaW4gdGhlIGRybSBjb3JlLgo+ID4gLURhbmllbAo+ID4gLS0KPiA+IERhbmllbCBW ZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKCj4gRnJvbSAwMTMxNzA0OTBhOTM0NzMxYmI1ZmJjNGNiOGVlNDY0MjFk MmYyNDBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206IEFsZXggRGV1Y2hlciA8YWxl eGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KPiBEYXRlOiBUdWUsIDI5IFNlcCAyMDE1IDEwOjM1OjQ1 IC0wNDAwCj4gU3ViamVjdDogW1BBVENIXSBkcm0vYW1kZ3B1L2NnczogcmVtb3ZlIGltcG9ydF9n cHVfbWVtCj4gCj4gSXQgd2FzIGFkZGVkIGZvciBjb21wbGV0ZW5lc3MsIGJ1dCB3ZSBkb24ndCBo YXZlIGFueSB1c2Vycwo+IGZvciBpdCB5ZXQuICBEYW5pZWwgVmV0dGVyIG5vdGVkIHRoYXQgaXQg bWF5IGJlIHJhY3kuIFJlbW92ZQo+IGl0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEFsZXggRGV1Y2hl ciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2Nncy5jIHwgMzkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9jZ3NfbGludXguaCB8IDE3IC0tLS0tLS0t LS0tLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jZ3MuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jZ3MuYwo+IGluZGV4IDI1YmU0MDIuLjc5NDk5MjcgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nncy5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nncy5jCj4gQEAgLTIwOCw0NCAr MjA4LDYgQEAgc3RhdGljIGludCBhbWRncHVfY2dzX2FsbG9jX2dwdV9tZW0odm9pZCAqY2dzX2Rl dmljZSwKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgYW1kZ3B1X2Nnc19p bXBvcnRfZ3B1X21lbSh2b2lkICpjZ3NfZGV2aWNlLCBpbnQgZG1hYnVmX2ZkLAo+IC0JCQkJICAg ICBjZ3NfaGFuZGxlX3QgKmhhbmRsZSkKPiAtewo+IC0JQ0dTX0ZVTkNfQURFVjsKPiAtCWludCBy Owo+IC0JdWludDMyX3QgZG1hX2hhbmRsZTsKPiAtCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq Owo+IC0Jc3RydWN0IGFtZGdwdV9ibyAqYm87Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g YWRldi0+ZGRldjsKPiAtCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2ID0gTlVMTCwgKnByaXY7 Cj4gLQo+IC0JbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IC0JbGlzdF9mb3JfZWFj aF9lbnRyeShwcml2LCAmZGV2LT5maWxlbGlzdCwgbGhlYWQpIHsKPiAtCQlyY3VfcmVhZF9sb2Nr KCk7Cj4gLQkJaWYgKHByaXYtPnBpZCA9PSBnZXRfcGlkKHRhc2tfcGlkKGN1cnJlbnQpKSkKPiAt CQkJZmlsZV9wcml2ID0gcHJpdjsKPiAtCQlyY3VfcmVhZF91bmxvY2soKTsKPiAtCQlpZiAoZmls ZV9wcml2KQo+IC0JCQlicmVhazsKPiAtCX0KPiAtCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3Rf bXV0ZXgpOwo+IC0JciA9IGRldi0+ZHJpdmVyLT5wcmltZV9mZF90b19oYW5kbGUoZGV2LAo+IC0J CQkJCSAgICBmaWxlX3ByaXYsIGRtYWJ1Zl9mZCwKPiAtCQkJCQkgICAgJmRtYV9oYW5kbGUpOwo+ IC0Jc3Bpbl9sb2NrKCZmaWxlX3ByaXYtPnRhYmxlX2xvY2spOwo+IC0KPiAtCS8qIENoZWNrIGlm IHdlIGN1cnJlbnRseSBoYXZlIGEgcmVmZXJlbmNlIG9uIHRoZSBvYmplY3QgKi8KPiAtCW9iaiA9 IGlkcl9maW5kKCZmaWxlX3ByaXYtPm9iamVjdF9pZHIsIGRtYV9oYW5kbGUpOwo+IC0JaWYgKG9i aiA9PSBOVUxMKSB7Cj4gLQkJc3Bpbl91bmxvY2soJmZpbGVfcHJpdi0+dGFibGVfbG9jayk7Cj4g LQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQlzcGluX3VubG9jaygmZmlsZV9wcml2LT50YWJs ZV9sb2NrKTsKPiAtCWJvID0gZ2VtX3RvX2FtZGdwdV9ibyhvYmopOwo+IC0JKmhhbmRsZSA9IChj Z3NfaGFuZGxlX3QpYm87Cj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAgc3RhdGljIGludCBhbWRn cHVfY2dzX2ZyZWVfZ3B1X21lbSh2b2lkICpjZ3NfZGV2aWNlLCBjZ3NfaGFuZGxlX3QgaGFuZGxl KQo+ICB7Cj4gIAlzdHJ1Y3QgYW1kZ3B1X2JvICpvYmogPSAoc3RydWN0IGFtZGdwdV9ibyAqKWhh bmRsZTsKPiBAQCAtODQ2LDcgKzgwOCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2dzX29wcyBh bWRncHVfY2dzX29wcyA9IHsKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2dzX29z X29wcyBhbWRncHVfY2dzX29zX29wcyA9IHsKPiAtCWFtZGdwdV9jZ3NfaW1wb3J0X2dwdV9tZW0s Cj4gIAlhbWRncHVfY2dzX2FkZF9pcnFfc291cmNlLAo+ICAJYW1kZ3B1X2Nnc19pcnFfZ2V0LAo+ ICAJYW1kZ3B1X2Nnc19pcnFfcHV0Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv aW5jbHVkZS9jZ3NfbGludXguaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9jZ3NfbGlu dXguaAo+IGluZGV4IDQ4ODY0MmYuLjNiNDdhZTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9pbmNsdWRlL2Nnc19saW51eC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9p bmNsdWRlL2Nnc19saW51eC5oCj4gQEAgLTI3LDE5ICsyNyw2IEBACj4gICNpbmNsdWRlICJjZ3Nf Y29tbW9uLmgiCj4gIAo+ICAvKioKPiAtICogY2dzX2ltcG9ydF9ncHVfbWVtKCkgLSBJbXBvcnQg ZG1hYnVmIGhhbmRsZQo+IC0gKiBAY2dzX2RldmljZTogIG9wYXF1ZSBkZXZpY2UgaGFuZGxlCj4g LSAqIEBkbWFidWZfZmQ6ICAgRE1BQnVmIGZpbGUgZGVzY3JpcHRvcgo+IC0gKiBAaGFuZGxlOiAg ICAgIG1lbW9yeSBoYW5kbGUgKG91dHB1dCkKPiAtICoKPiAtICogTXVzdCBiZSBjYWxsZWQgaW4g dGhlIHByb2Nlc3MgY29udGV4dCB0aGF0IGRtYWJ1Zl9mZCBiZWxvbmdzIHRvLgo+IC0gKgo+IC0g KiBSZXR1cm46ICAwIG9uIHN1Y2Nlc3MsIC1lcnJubyBvdGhlcndpc2UKPiAtICovCj4gLXR5cGVk ZWYgaW50ICgqY2dzX2ltcG9ydF9ncHVfbWVtX3QpKHZvaWQgKmNnc19kZXZpY2UsIGludCBkbWFi dWZfZmQsCj4gLQkJCQkgICAgY2dzX2hhbmRsZV90ICpoYW5kbGUpOwo+IC0KPiAtLyoqCj4gICAq IGNnc19pcnFfc291cmNlX3NldF9mdW5jKCkgLSBDYWxsYmFjayBmb3IgZW5hYmxpbmcvZGlzYWJs aW5nIGludGVycnVwdCBzb3VyY2VzCj4gICAqIEBwcml2YXRlX2RhdGE6ICBwcml2YXRlIGRhdGEg cHJvdmlkZWQgdG8gY2dzX2FkZF9pcnFfc291cmNlCj4gICAqIEBzcmNfaWQ6ICAgICAgICBpbnRl cnJ1cHQgc291cmNlIElECj4gQEAgLTExNCwxNiArMTAxLDEyIEBAIHR5cGVkZWYgaW50ICgqY2dz X2lycV9nZXRfdCkodm9pZCAqY2dzX2RldmljZSwgdW5zaWduZWQgc3JjX2lkLCB1bnNpZ25lZCB0 eXBlKTsKPiAgdHlwZWRlZiBpbnQgKCpjZ3NfaXJxX3B1dF90KSh2b2lkICpjZ3NfZGV2aWNlLCB1 bnNpZ25lZCBzcmNfaWQsIHVuc2lnbmVkIHR5cGUpOwo+ICAKPiAgc3RydWN0IGNnc19vc19vcHMg ewo+IC0JY2dzX2ltcG9ydF9ncHVfbWVtX3QgaW1wb3J0X2dwdV9tZW07Cj4gLQo+ICAJLyogSVJR IGhhbmRsaW5nICovCj4gIAljZ3NfYWRkX2lycV9zb3VyY2VfdCBhZGRfaXJxX3NvdXJjZTsKPiAg CWNnc19pcnFfZ2V0X3QgaXJxX2dldDsKPiAgCWNnc19pcnFfcHV0X3QgaXJxX3B1dDsKPiAgfTsK PiAgCj4gLSNkZWZpbmUgY2dzX2ltcG9ydF9ncHVfbWVtKGRldixkbWFidWZfZmQsaGFuZGxlKQkJ XAo+IC0JQ0dTX09TX0NBTEwoaW1wb3J0X2dwdV9tZW0sZGV2LGRtYWJ1Zl9mZCxoYW5kbGUpCj4g ICNkZWZpbmUgY2dzX2FkZF9pcnFfc291cmNlKGRldixzcmNfaWQsbnVtX3R5cGVzLHNldCxoYW5k bGVyLHByaXZhdGVfZGF0YSkgXAo+ICAJQ0dTX09TX0NBTEwoYWRkX2lycV9zb3VyY2UsZGV2LHNy Y19pZCxudW1fdHlwZXMsc2V0LGhhbmRsZXIsCVwKPiAgCQkgICAgcHJpdmF0ZV9kYXRhKQo+IC0t IAo+IDEuOC4zLjEKPiAKCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50 ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK