From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 21/29] drm/i915: Switch back to an array of logical per-engine HW contexts Date: Wed, 10 Apr 2019 17:18:27 +0100 Message-ID: <155491310295.28388.10433520197102264232@skylake-alporthouse-com> References: <20190408091728.20207-1-chris@chris-wilson.co.uk> <20190408091728.20207-21-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id EBA92897BC for ; Wed, 10 Apr 2019 16:18:33 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UXVvdGluZyBUdnJ0a28gVXJzdWxpbiAoMjAxOS0wNC0xMCAxNjozMjoxOCkKPiAKPiBPbiAwOC8w NC8yMDE5IDEwOjE3LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfY3MuYwo+ID4gaW5kZXggM2Y3OTRiYzcxOTU4Li4wZGYzYzUyMzhj MDQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMK PiA+IEBAIC03MTYsNyArNzE2LDcgQEAgc3RhdGljIGludCBwaW5fY29udGV4dChzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4LAo+ID4gICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmNlOwo+ ID4gICAgICAgaW50IGVycjsKPiA+ICAgCj4gPiAtICAgICBjZSA9IGludGVsX2NvbnRleHRfaW5z dGFuY2UoY3R4LCBlbmdpbmUpOwo+ID4gKyAgICAgY2UgPSBpOTE1X2dlbV9jb250ZXh0X2dldF9l bmdpbmUoY3R4LCBlbmdpbmUtPmlkKTsKPiAKPiBTdGF5aW5nIHdpdGggaW50ZWxfY29udGV4dF9p bnN0YW5jZSB3b3VsZG4ndCBoZWxwIHRvIHJlZHVjZSB0aGUgY2h1cm4/CgpCdXQgaXQgdGFrZXMg dGhlIEdFTSBjb250ZXh0IDp8CgppbnRlbF9jb250ZXh0X2xvb2t1cCgpID8gQnV0IGl0IHdvbid0 IGJlIHBhcnQgb2YgZ3QvaW50ZWxfY29udGV4dC5oCkFuZCBJJ2QgbGlrZSB0byBoYXZlICdnZXQn IGluIHRoZXJlIGZvciBjb25zaXN0ZW5jeSAoYWx0aG91Z2ggb3RoZXIKb2JqZWN0IGxvb2t1cCBm dW5jdGlvbnMgcmV0dXJuIGEgbmV3IHJlZmVyZW5jZSwgc28gdGhhdCBtYXkgbm90IGJlIGEKc29s aWQgYXJndW1lbnQpLgoKSXQgaGFzIGFubm95ZWQgbWUgdGhhdCB0aGlzIGRvZXMgcmVxdWlyZSB0 aGUgR0VNIGNvbnRleHQsIGJ1dCB0aGF0J3MgdGhlCm5hdHVyZSBvZiB0aGUgYmVhc3QuCgo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gPiBpbmRleCA1MDI2NmU4N2MyMjUuLjIxYjRhMDRjNDI0 YiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+IEBAIC00MzEyLDggKzQzMTIs OSBAQCBpbnQgaTkxNV9nZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4gPiAgIAo+ID4gICBzdGF0aWMgaW50IF9faW50ZWxfZW5naW5lc19yZWNvcmRfZGVmYXVs dHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gPiAgIHsKPiA+IC0gICAgIHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7Cj4gPiAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmU7Cj4gPiArICAgICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+ID4gKyAg ICAgc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXMgKmU7Cj4gPiAgICAgICBlbnVtIGludGVsX2VuZ2lu ZV9pZCBpZDsKPiA+ICAgICAgIGludCBlcnIgPSAwOwo+ID4gICAKPiA+IEBAIC00MzMwLDE4ICs0 MzMxLDI2IEBAIHN0YXRpYyBpbnQgX19pbnRlbF9lbmdpbmVzX3JlY29yZF9kZWZhdWx0cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiA+ICAgICAgIGlmIChJU19FUlIoY3R4KSkKPiA+ ICAgICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIoY3R4KTsKPiA+ICAgCj4gPiArICAgICBlID0g aTkxNV9nZW1fY29udGV4dF9lbmdpbmVfbGlzdF9sb2NrKGN0eCk7Cj4gPiArCj4gPiAgICAgICBm b3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgewo+IAo+IERvIHdlIG5lZWQgaTkxNSB2 ZXJzaW9uIG9mIGZvcl9lYWNoX2NvbnRleHRfZW5naW5lPyBJZiBhbGwgY2FsbCBzaXRlcyAKPiB3 aWxsIGRvaW5nIHRoaXMgImxvY2sgY3R4IiAtPiAid2FsayBwaHlzaWNhbCBlbmdpbmVzIiAtPiAi bG9va3VwIGluIAo+IGNvbnRleHQiIHRoZW4gaXQgc2VlbXMgYSBiaXQgZGlzY29ubmVjdGVkLgoK SXQncyByYXJlLCBhIGNvdXBsZSBvZiBvZGQgY2FzZXMgaW1vLgoKPiA+ICsgICAgICAgICAgICAg c3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gZS0+ZW5naW5lc1tpZF07Cj4gCj4gSG93IHdpbGwg aW5kZXggYnkgZW5naW5lLT5pZCB3b3JrIGZvciBlbmdpbmUgbWFwPwoKSXQgZG9lc24ndCwgdGhh dCdzIHRoZSBwb2ludCBvZiB0aGVzZSBiZWluZyB0aGUgb2RkIGNhc2VzLiA6KQoKPiA+ICAgICAg ICAgICAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7Cj4gPiAgIAo+ID4gLSAgICAgICAgICAg ICBycSA9IGk5MTVfcmVxdWVzdF9hbGxvYyhlbmdpbmUsIGN0eCk7Cj4gPiArICAgICAgICAgICAg IGVyciA9IGludGVsX2NvbnRleHRfcGluKGNlKTsKPiA+ICsgICAgICAgICAgICAgaWYgKGVycikK PiA+ICsgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycl9hY3RpdmU7Cj4gPiArCj4gPiArICAg ICAgICAgICAgIHJxID0gaTkxNV9yZXF1ZXN0X2NyZWF0ZShjZSk7Cj4gPiArICAgICAgICAgICAg IGludGVsX2NvbnRleHRfdW5waW4oY2UpOwo+IAo+IEtpbmQgb2YgdmVyYm9zZSwgbm8/IERvIHlv dSB3YW50IHRvIGFkZCBzb21lIAo+IG1pZGRsZS1ncm91bmQtYmV0d2Vlbi1yZXF1ZXN0LWFsbG9j LWFuZC1jcmVhdGUgaGVscGVyPwoKVGhlcmUncyAyIGNhbGxlcnMgb2YgaTkxNV9yZXF1ZXN0X2Ny ZWF0ZSgpIGluIHRoaXMgc3R5bGUuCihFeGVjYnVmIGhhcyBhIHN0eWxlIGFsbCBvZiBpdHMgb3du LikKCkF0IHRoZSBtb21lbnQgSSBkb24ndCBoYXZlIGEgZ29vZCBuYW1lIGZvciB0aGUgaGFwcHkg bWlkZGxlIGdyb3VuZCwgc28KSSdtIHdpbGxpbmcgdG8gcGF5IHRoZSBwcmljZSBmb3IgZm9yY2lu ZyBjb250cm9sIG92ZXIgdGhlIHBpbiB0byB0aGUKdXNlci4KCi4uLgoKRG9lcyBpdCByZWFsbHkg bWFrZSBhbnkgZGlmZmVyZW5jZSBmb3IgdGhlIHBlcm1hLXBpbm5lZCBrZXJuZWwgY29udGV4dHM/ CkFjdHVhbGx5IG5vLi4uIAoKSG1tLiBUaGUgZnVuZGFtZW50YWwgb2JqZWN0aXZlIHdhcyBiZWlu ZyBhYmxlIHRvIHBhc3MgY2UgYW5kIGF2b2lkCnN0cnVjdF9tdXRleCAtLSBidXQgd2UgYWxyZWFk eSBhdm9pZCBzdHJ1Y3RfbXV0ZXggZm9yIHBpbm5pbmcgdG9kYXkgYXMKdGhlIGNvbnRleHQgaXMg YWxyZWFkeSBwaW5uZWQuCgpUaGUgZG93bnNpZGUgaXMgdGhhdCBpdCBhZGRzIHJlZHVuZGFudCBz dGVwcyB0byBleGVjYnVmLCBhbmQKX19pOTE1X3JlcXVlc3RfY3JlYXRlKCkgaXMgYWxyZWFkeSB0 YWtlbi4uLiBBbmQgSSBob3BlIHlvdSB3b3VsZCBzYXkgbm8KaWYgSSBzdWdnZXN0IF9fX19pOTE1 X3JlcXVlc3RfY3JlYXRlIDopCgo+ID4gK3N0YXRpYyBzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyAq ZGVmYXVsdF9lbmdpbmVzKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gPiArewo+ID4g KyAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ID4gKyAgICAgc3RydWN0IGk5 MTVfZ2VtX2VuZ2luZXMgKmU7Cj4gPiArICAgICBlbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKPiA+ ICsKPiA+ICsgICAgIGUgPSBremFsbG9jKHN0cnVjdF9zaXplKGUsIGVuZ2luZXMsIEk5MTVfTlVN X0VOR0lORVMpLCBHRlBfS0VSTkVMKTsKPiA+ICsgICAgIGlmICghZSkKPiA+ICsgICAgICAgICAg ICAgcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gPiArCj4gPiArICAgICBlLT5pOTE1ID0gY3R4 LT5pOTE1Owo+ID4gKyAgICAgZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgY3R4LT5pOTE1LCBpZCkg ewo+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7Cj4gPiAgIAo+ID4g KyAgICAgICAgICAgICBjZSA9IGludGVsX2NvbnRleHRfY3JlYXRlKGN0eCwgZW5naW5lKTsKPiA+ ICsgICAgICAgICAgICAgaWYgKElTX0VSUihjZSkpIHsKPiA+ICsgICAgICAgICAgICAgICAgICAg ICBmcmVlX2VuZ2luZXNfbihlLCBpZCk7Cj4gCj4gSSBkaXNsaWtlIHBpZ2d5LWJhY2sgb2YgbiBp bnRvIGUuIEhvdyBhYm91dDoKPiAKPiBfX2ZyZWVfZW5naW5lcyhlLCBuKQo+IHsKPiAgICAgICAg IC4uLgo+IH0KPiAKPiBmcmVlX2VuZ2luZXMoZSkKPiB7Cj4gICAgICAgICBfX2ZyZV9lbmdpbmVz KGUsIGUtPm51bV9lbmdpbmVzKToKPiB9Cj4gCj4gPwoKT2suCiAKPiBPciBldmVuIHlvdSBjb3Vs ZCBlLT5udW1fZW5naW5lcysrIGluIHRoZSBhYm92ZSBsb29wIGFuZCBqdXN0IGhhdmUgb25lIAo+ IGZyZWVfZW5naW5lcy4KCkkgdGhvdWdodCBpdCB3YXMgY2xlYW5lciB0byBhdm9pZCBoYXZpbmcg bXVsdGlwbGUgY291bnRlcnMgZm9yIHRoZSBzYW1lCmxvb3AuIGZyZWVfZW5naW5lc19uKCkgZW5k ZWQgdXAgd2l0aCA1IHVzZXJzLgoKPiA+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVJS X0NBU1QoY2UpOwo+ID4gKyAgICAgICAgICAgICB9Cj4gPiArCj4gPiArICAgICAgICAgICAgIGUt PmVuZ2luZXNbaWRdID0gY2U7Cj4gCj4gRWFjaCBjb250ZXh0IHdvdWxkIGhhdmUgYSBzcGFyc2Ug YXJyYXkgb2YgZW5naW5lcywgb24gbW9zdCBwbGF0Zm9ybXMuIAo+IFdvdWxkIGl0IGJlIHdvcmth YmxlIHRvIGluc3RlYWQgY3JlYXRlIGEgY29tcGFjdCBhcnJheSBwZXIgY29udGV4dCwgYW5kIAo+ IGp1c3QgaGF2ZSBhIHBlciBkZXZpY2UgdHJhbnNsYXRpb24gdGFibGUgb2YgaWR4IHRvIGVuZ2lu ZS0+aWQ/IE9yIAo+IHZpY2UtdmVyc2EsIEkgY2FuJ3QgZmlndXJlIG91dCBzdHJhaWdodCBmcm9t IHRoZSBiYXQgd2hpY2ggb25lIHdvdWxkIHlvdSAKPiBuZWVkLgoKQXMgc3BhcnNlIGFzIHdlIGRv IHRvZGF5LiBJIHdvcmtpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCBnb2luZwpmb3J3YXJk cywgdGhlIGRlZmF1bHQgbWFwIHdvdWxkIGJlIHRoZSBvZGRpdHkuIEJ1dCB0aGF0IGlzIGJldHRl ciB0aGFuCnRoZSBzcGFyc2UgZml4ZWQgYXJyYXlbXSB3ZSBwcmV2aW91c2x5IGVtYmVkZGVkIGlu dG8gdGhlIEdFTSBjb250ZXh0LCBzbwpvdmVyYWxsIEkgdGhpbmsgc3RpbGwgYW4gaW1wcm92ZW1l bnQgZm9yIG9sZCBwbGF0Zm9ybXMuCgpXZSBjYW4gdHJpbSB0aGUgbnVtX2VuZ2luZXMsIGkuZS4g d2UgbmVlZCBvbmx5IGFsbG9jYXRlIFtyY3MwXSBvbiBnZW4zCmFzIGFueSBpZD5yY3MwIHdpbGwg YmVjb21lIC1FSU5WQUwuCgpPbmUgcGxhbiBJIGRpZCBoYXZlIHdhcyB0byByZW1vdmUgdGhlIHNw YXJzZSBlbmdpbmUtPmlkIChzaW5jZSB0aGF0CnNob3VsZCBiZSBhbiBpbnRlcm5hbCBpZCksIGJ1 dCB0aGVuIHdlIGVuZCB1cCB3aXRoIG5vdCBiZWluZyBhYmxlIHRvIHVzZQpzdGF0aWMgY29uc3Rh bnRzIGZvciBvdXIgVkNTeCBldGMuCgo+IEkgZ3Vlc3MgaW4gdGhpcyBzY2hlbWUgeW91IHdvdWxk IG5lZWQgc29tZSB0cmFuc2xhdGlvbiBhcyB3ZWxsIHRvIAo+IHN1cHBvcnQgY3VzdG9taXNlZCBl bmdpbmUgbWFwcy4uIHdpbGwgc2VlIGlmIEkgd2lsbCBzcG90IHRoYXQgbGF0ZXIgaW4gCj4gdGhl IHBhdGNoLgoKSW4gdGhlIHNjaGVtZSBpbiB0aGlzIHBhdGNoLCB3ZSBqdXN0IHJlcGxhY2UgY3R4 LT5lbmdpbmVzW10gZm9yIHRoZQpjdXN0b20gbWFwIHdpdGggc2VwYXJhdGUgaW50ZWxfY29udGV4 dHMgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgYSBzcGVjaWZpYwplbmdpbmUuCgo+ID4gLSAgICAgcmJ0 cmVlX3Bvc3RvcmRlcl9mb3JfZWFjaF9lbnRyeV9zYWZlKGNlLCBuZXh0LCAmY3R4LT5od19jb250 ZXh0cywgbm9kZSkgewo+ID4gLSAgICAgICAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUgPSBjZS0+ZW5naW5lOwo+ID4gKyAgICAgZSA9IGk5MTVfZ2VtX2NvbnRleHRfZW5naW5l X2xpc3RfbG9jayhjdHgpOwo+ID4gKyAgICAgZm9yIChpID0gMDsgaSA8IGUtPm51bV9lbmdpbmVz OyBpKyspIHsKPiA+ICsgICAgICAgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gZS0+ ZW5naW5lc1tpXTsKPiA+ICAgICAgICAgICAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7Cj4g PiAgIAo+ID4gLSAgICAgICAgICAgICBpZiAoIShlbmdpbmUtPm1hc2sgJiBlbmdpbmVzKSkKPiA+ ICsgICAgICAgICAgICAgaWYgKCFjZSB8fCAhKGNlLT5lbmdpbmUtPm1hc2sgJiBlbmdpbmVzKSkK PiAKPiBEZWZpbml0ZWx5IGxvb2tzIGxpa2UgYSBjYXNlIGZvciBmb3JfZWFjaF9jb250ZXh0X2Vu Z2luZS4KCmZvcl9lYWNoX2NvbnRleHRfZW5naW5lKGNlLCBlLCBpKQpmb3JfZWFjaF9jb250ZXh0 X21hc2tlZChjZSwgZSwgbWFzaywgaSkKCkhtbS4gSSBkbyByZWdyZXQgZm9yX2VhY2guLi4oKSB0 aGF0IHJlcXVpcmUgdGVtcG9yYXJpZXMuCgpXZSBjYW4ndCBzdHVmZiB0aGUgbG9jayBpbiB0aGVy ZSwgd2l0aG91dCBhIGJpdCBvZiB3b3JrLi4uCgpnZW1fZm9yX2VhY2hfY29udGV4dF9lbmdpbmUo aXRlciwgY3R4KSB7CglzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPSBpdGVyLmNvbnRleHQ7Cgp3 aXRoCmZvciAoaW5pdF9pdGVyKCZpdGVyLCBjdHgpOzsgbmV4dF9pdGVyKCZpdGVyKSkKCkp1c3Qg dG8gaGlkZSB0aGUgbG9ja2luZy4gUHJvYmFibHkgd29ydGggaXQuCgo+ID4gKyAgICAgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOwo+ID4gKwo+ID4gKyAgICAgICAgICAgICBpZiAoIWludGVsX2Nv bnRleHRfaXNfcGlubmVkKGNlKSkKPiA+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK PiA+ICAgCj4gPiAgICAgICAgICAgICAgIGlmIChJOTE1X1NFTEZURVNUX09OTFkoY29udGV4dF9i YXJyaWVyX2luamVjdF9mYXVsdCAmCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW5naW5lLT5tYXNrKSkgewo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNlLT5lbmdpbmUtPm1hc2spKSB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgZXJy ID0gLUVOWElPOwo+ID4gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICAg ICAgICB9Cj4gPiAgIAo+ID4gLSAgICAgICAgICAgICBycSA9IGk5MTVfcmVxdWVzdF9hbGxvYyhl bmdpbmUsIGN0eCk7Cj4gPiArICAgICAgICAgICAgIGVyciA9IGludGVsX2NvbnRleHRfcGluKGNl KTsKPiA+ICsgICAgICAgICAgICAgaWYgKGVycikKPiA+ICsgICAgICAgICAgICAgICAgICAgICBi cmVhazsKPiA+ICsKPiA+ICsgICAgICAgICAgICAgcnEgPSBpOTE1X3JlcXVlc3RfY3JlYXRlKGNl KTsKPiA+ICsgICAgICAgICAgICAgaW50ZWxfY29udGV4dF91bnBpbihjZSk7Cj4gCj4gWWVwIGFz IG1lbnRpb25lZCBzb21ld2hlcmUgYWJvdmUuIEkgZGVmaW5pdGVseSB0aGluayBhbm90aGVyIGhl bHBlciAKPiB3b3VsZCBoZWxwIGNvZGUgYmFzZSByZWRhYmlsaXR5LiBFdmVuIGlmIGNhbGxlZCB1 bmltYWdpbmF0aXZlbHkgYXMgCj4gX19pOTE1X3JlcXVlc3RfYWRkLgoKSXQgaXMganVzdCB0aGVz ZSB0d28gKGJhc2VkIG9uIGEgcXVpY2sgZ3JlcCkuCgpNYXliZSBpbnRlbF9jb250ZXh0X2NyZWF0 ZV9yZXF1ZXN0KCkgPwoKSG1tLCBidXQgaXNuJ3QgdGhhdCB3aGF0IGk5MTVfcmVxdWVzdF9jcmVh dGUoKSBpcy4gUXVpZXQhCgo+ID4gK3N0cnVjdCBpOTE1X2dlbV9lbmdpbmVzIHsKPiA+ICsgICAg IHN0cnVjdCByY3Vfd29yayByY3U7Cj4gPiArICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNTsKPiA+ICsgICAgIHVuc2lnbmVkIGxvbmcgbnVtX2VuZ2luZXM7Cj4gCj4gdW5zaWduZWQg aW50PwoKUG9pbnRlciBiZWZvcmUsIGFycmF5IG9mIHBvaW50ZXJzIGFmdGVyLCBsZWZ0IGFuIHVu c2lnbmVkIGxvbmcgaG9sZS4KCkkgd2FzIGp1c3QgZmlsbGluZyB0aGUgc3BhY2UuCi1DaHJpcwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=