From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 03/20] drm/i915/gt: Provde a local intel_context.vm Date: Mon, 22 Jul 2019 13:33:14 +0100 Message-ID: <6c8ae9af-0a23-5f62-9740-6dc7e9b9ed42@linux.intel.com> References: <20190718070024.21781-1-chris@chris-wilson.co.uk> <20190718070024.21781-3-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 74C4289C1E for ; Mon, 22 Jul 2019 12:33:16 +0000 (UTC) In-Reply-To: <20190718070024.21781-3-chris@chris-wilson.co.uk> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE4LzA3LzIwMTkgMDg6MDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBUcmFjayB0aGUgY3Vy cmVudGx5IGJvdW5kIGFkZHJlc3Mgc3BhY2UgdXNlZCBieSB0aGUgSFcgY29udGV4dC4gTWlub3IK PiBjb252ZXJzaW9ucyB0byB1c2UgdGhlIGxvY2FsIGludGVsX2NvbnRleHQudm0gYXJlIG1hZGUs IGxlYXZpbmcgYmVoaW5kCj4gc29tZSBtb3JlIHN1cmdlcnkgcmVxdWlyZWQgdG8gbWFrZSBpbnRl bF9jb250ZXh0IHRoZSBwcmltYXJ5IHRocm91Z2ggdGhlCj4gc2VsZnRlc3RzLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NsaWVudF9ibHQuYyB8ICA0ICst LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgICAgfCAx MyArKysrKysrKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhl Y2J1ZmZlci5jIHwgMTEgKysrLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9vYmplY3RfYmx0LmMgfCAgNiArLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2NvbnRleHQuYyAgICAgICAgfCAgNCArKysrCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9jb250ZXh0X3R5cGVzLmggIHwgIDQgKysrLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jICAgICB8ICA2ICsrKy0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgICAgICAgICB8ICAyICstCj4gICA4IGZp bGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY2xpZW50X2JsdC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NsaWVudF9ibHQuYwo+IGluZGV4IDZm NTM3ZThlNGRlYS4uMjMxMmEwYzZhZjg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9jbGllbnRfYmx0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fY2xpZW50X2JsdC5jCj4gQEAgLTI1MCwxMyArMjUwLDExIEBAIGludCBp OTE1X2dlbV9zY2hlZHVsZV9maWxsX3BhZ2VzX2JsdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAo+ICAgCQkJCSAgICAgdTMyIHZhbHVlKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKPiAtCXN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpjdHggPSBjZS0+Z2VtX2NvbnRleHQ7Cj4gLQlzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSA9IGN0eC0+dm0gPzogJmk5MTUtPmdndHQudm07Cj4gICAJc3RydWN0IGNs ZWFyX3BhZ2VzX3dvcmsgKndvcms7Cj4gICAJc3RydWN0IGk5MTVfc2xlZXZlICpzbGVldmU7Cj4g ICAJaW50IGVycjsKPiAgIAo+IC0Jc2xlZXZlID0gY3JlYXRlX3NsZWV2ZSh2bSwgb2JqLCBwYWdl cywgcGFnZV9zaXplcyk7Cj4gKwlzbGVldmUgPSBjcmVhdGVfc2xlZXZlKGNlLT52bSwgb2JqLCBw YWdlcywgcGFnZV9zaXplcyk7Cj4gICAJaWYgKElTX0VSUihzbGVldmUpKQo+ICAgCQlyZXR1cm4g UFRSX0VSUihzbGVldmUpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fY29udGV4dC5jCj4gaW5kZXggMGY2YjA2NzhmNTQ4Li5kZTliYjdhYWVmMjIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKPiBAQCAtNDc1LDEw ICs0NzUsMTggQEAgc3RhdGljIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKgo+ICAgX19zZXRf cHBndHQoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwgc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0pCj4gICB7Cj4gICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqb2xkID0gY3R4 LT52bTsKPiArCXN0cnVjdCBpOTE1X2dlbV9lbmdpbmVzX2l0ZXIgaXQ7Cj4gKwlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2U7Cj4gICAKPiAgIAljdHgtPnZtID0gaTkxNV92bV9nZXQodm0pOwo+ICAg CWN0eC0+ZGVzY190ZW1wbGF0ZSA9IGRlZmF1bHRfZGVzY190ZW1wbGF0ZShjdHgtPmk5MTUsIHZt KTsKPiAgIAo+ICsJZm9yX2VhY2hfZ2VtX2VuZ2luZShjZSwgaTkxNV9nZW1fY29udGV4dF9sb2Nr X2VuZ2luZXMoY3R4KSwgaXQpIHsKPiArCQlpOTE1X3ZtX3B1dChjZS0+dm0pOwo+ICsJCWNlLT52 bSA9IGk5MTVfdm1fZ2V0KHZtKTsKPiArCX0KPiArCWk5MTVfZ2VtX2NvbnRleHRfdW5sb2NrX2Vu Z2luZXMoY3R4KTsKPiArCj4gICAJcmV0dXJuIG9sZDsKPiAgIH0KPiAgIAo+IEBAIC0xMTEzLDkg KzExMjEsOCBAQCBzdGF0aWMgaW50IHNldF9wcGd0dChzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2 YXRlICpmaWxlX3ByaXYsCj4gICAJCQkJICAgc2V0X3BwZ3R0X2JhcnJpZXIsCj4gICAJCQkJICAg b2xkKTsKPiAgIAlpZiAoZXJyKSB7Cj4gLQkJY3R4LT52bSA9IG9sZDsKPiAtCQljdHgtPmRlc2Nf dGVtcGxhdGUgPSBkZWZhdWx0X2Rlc2NfdGVtcGxhdGUoY3R4LT5pOTE1LCBvbGQpOwo+IC0JCWk5 MTVfdm1fcHV0KHZtKTsKPiArCQlpOTE1X3ZtX3B1dChfX3NldF9wcGd0dChjdHgsIG9sZCkpOwo+ ICsJCWk5MTVfdm1fcHV0KG9sZCk7CgpTaG91bGRuJ3QgdGhpcyBzdGlsbCBiZSBpOTE1X3ZtX291 dCh2bSksIGZvciB0aGUgZXh0cmEgdm0gcmVmZXJlbmNlIHRoZSAKZnVuY3Rpb24gZGlkIGZ1cnRo ZXIgdXA/Cgo+ICAgCX0KPiAgIAo+ICAgdW5sb2NrOgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4IDhhMjA0N2M0ZTdjMy4uY2JkN2M2 ZTNhMWY4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhl Y2J1ZmZlci5jCj4gQEAgLTIyMyw3ICsyMjMsNiBAQCBzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyIHsK PiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7IC8qKiBlbmdpbmUgdG8gcXVldWUg dGhlIHJlcXVlc3QgdG8gKi8KPiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY29udGV4dDsgLyog bG9naWNhbCBzdGF0ZSBmb3IgdGhlIHJlcXVlc3QgKi8KPiAgIAlzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqZ2VtX2NvbnRleHQ7IC8qKiBjYWxsZXIncyBjb250ZXh0ICovCj4gLQlzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bTsgLyoqIEdUVCBhbmQgdm1hIGZvciB0aGUgcmVxdWVzdCAqLwo+ ICAgCj4gICAJc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdDsgLyoqIG91ciByZXF1ZXN0IHRv IGJ1aWxkICovCj4gICAJc3RydWN0IGk5MTVfdm1hICpiYXRjaDsgLyoqIGlkZW50aXR5IG9mIHRo ZSBiYXRjaCBvYmovdm1hICovCj4gQEAgLTY5Nyw3ICs2OTYsNyBAQCBzdGF0aWMgaW50IGViX3Jl c2VydmUoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAqZWIpCj4gICAKPiAgIAkJY2FzZSAxOgo+ICAg CQkJLyogVG9vIGZyYWdtZW50ZWQsIHVuYmluZCBldmVyeXRoaW5nIGFuZCByZXRyeSAqLwo+IC0J CQllcnIgPSBpOTE1X2dlbV9ldmljdF92bShlYi0+dm0pOwo+ICsJCQllcnIgPSBpOTE1X2dlbV9l dmljdF92bShlYi0+Y29udGV4dC0+dm0pOwo+ICAgCQkJaWYgKGVycikKPiAgIAkJCQlyZXR1cm4g ZXJyOwo+ICAgCQkJYnJlYWs7Cj4gQEAgLTcyNSwxMiArNzI0LDggQEAgc3RhdGljIGludCBlYl9z ZWxlY3RfY29udGV4dChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKPiAgIAkJcmV0dXJuIC1F Tk9FTlQ7Cj4gICAKPiAgIAllYi0+Z2VtX2NvbnRleHQgPSBjdHg7Cj4gLQlpZiAoY3R4LT52bSkg ewo+IC0JCWViLT52bSA9IGN0eC0+dm07Cj4gKwlpZiAoY3R4LT52bSkKPiAgIAkJZWItPmludmFs aWRfZmxhZ3MgfD0gRVhFQ19PQkpFQ1RfTkVFRFNfR1RUOwo+IC0JfSBlbHNlIHsKPiAtCQllYi0+ dm0gPSAmZWItPmk5MTUtPmdndHQudm07Cj4gLQl9Cj4gICAKPiAgIAllYi0+Y29udGV4dF9mbGFn cyA9IDA7Cj4gICAJaWYgKHRlc3RfYml0KFVDT05URVhUX05PX1pFUk9NQVAsICZjdHgtPnVzZXJf ZmxhZ3MpKQo+IEBAIC04MzIsNyArODI3LDcgQEAgc3RhdGljIGludCBlYl9sb29rdXBfdm1hcyhz dHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKPiAgIAkJCWdvdG8gZXJyX3ZtYTsKPiAgIAkJfQo+ ICAgCj4gLQkJdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCBlYi0+dm0sIE5VTEwpOwo+ICsJ CXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgZWItPmNvbnRleHQtPnZtLCBOVUxMKTsKPiAg IAkJaWYgKElTX0VSUih2bWEpKSB7Cj4gICAJCQllcnIgPSBQVFJfRVJSKHZtYSk7Cj4gICAJCQln b3RvIGVycl9vYmo7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3RfYmx0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0X2JsdC5jCj4gaW5kZXggY2I0MmUzYTMxMmUyLi42ODUwNjRhZjMyZDEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF9ibHQuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfYmx0LmMKPiBAQCAtNDcs MTUgKzQ3LDExIEBAIGludCBpOTE1X2dlbV9vYmplY3RfZmlsbF9ibHQoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKPiAgIAkJCSAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ ICAgCQkJICAgICB1MzIgdmFsdWUpCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7Cj4gLQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAqY3R4ID0gY2UtPmdlbV9jb250ZXh0Owo+IC0Jc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0gPSBjdHgtPnZtID86ICZpOTE1LT5nZ3R0LnZtOwo+ICAgCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxOwo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCWludCBlcnI7Cj4gICAKPiAtCS8q IFhYWDogY2UtPnZtIHBsZWFzZSAqLwo+IC0Jdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCB2 bSwgTlVMTCk7Cj4gKwl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShvYmosIGNlLT52bSwgTlVMTCk7 Cj4gICAJaWYgKElTX0VSUih2bWEpKQo+ICAgCQlyZXR1cm4gUFRSX0VSUih2bWEpOwo+ICAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYwo+IGluZGV4IDkyOTJiNmNhNWU5 Yy4uOWU0ZjUxY2U1MmZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRl eHQuYwo+IEBAIC0xOTEsNiArMTkxLDggQEAgaW50ZWxfY29udGV4dF9pbml0KHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSwKPiAgIAlrcmVmX2luaXQoJmNlLT5yZWYpOwo+ICAgCj4gICAJY2UtPmdl bV9jb250ZXh0ID0gY3R4Owo+ICsJY2UtPnZtID0gaTkxNV92bV9nZXQoY3R4LT52bSA/OiAmZW5n aW5lLT5ndC0+Z2d0dC0+dm0pOwo+ICsKPiAgIAljZS0+ZW5naW5lID0gZW5naW5lOwo+ICAgCWNl LT5vcHMgPSBlbmdpbmUtPmNvcHM7Cj4gICAJY2UtPnNzZXUgPSBlbmdpbmUtPnNzZXU7Cj4gQEAg LTIwNiw2ICsyMDgsOCBAQCBpbnRlbF9jb250ZXh0X2luaXQoc3RydWN0IGludGVsX2NvbnRleHQg KmNlLAo+ICAgCj4gICB2b2lkIGludGVsX2NvbnRleHRfZmluaShzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY2UpCj4gICB7Cj4gKwlpOTE1X3ZtX3B1dChjZS0+dm0pOwo+ICsKPiAgIAltdXRleF9kZXN0 cm95KCZjZS0+cGluX211dGV4KTsKPiAgIAlpOTE1X2FjdGl2ZV9maW5pKCZjZS0+YWN0aXZlKTsK PiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4 dF90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dF90eXBlcy5o Cj4gaW5kZXggNGMwZTIxMWM3MTVkLi42OGE3ZTk3OWIxYTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dF90eXBlcy5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dF90eXBlcy5oCj4gQEAgLTM2LDcgKzM2LDYgQEAg c3RydWN0IGludGVsX2NvbnRleHRfb3BzIHsKPiAgIHN0cnVjdCBpbnRlbF9jb250ZXh0IHsKPiAg IAlzdHJ1Y3Qga3JlZiByZWY7Cj4gICAKPiAtCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpnZW1f Y29udGV4dDsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gICAJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqaW5mbGlnaHQ7Cj4gICAjZGVmaW5lIGludGVsX2NvbnRleHRfaW5m bGlnaHQoY2UpIHB0cl9tYXNrX2JpdHMoKGNlKS0+aW5mbGlnaHQsIDIpCj4gQEAgLTQ0LDYgKzQz LDkgQEAgc3RydWN0IGludGVsX2NvbnRleHQgewo+ICAgI2RlZmluZSBpbnRlbF9jb250ZXh0X2lu ZmxpZ2h0X2luYyhjZSkgcHRyX2NvdW50X2luYygmKGNlKS0+aW5mbGlnaHQpCj4gICAjZGVmaW5l IGludGVsX2NvbnRleHRfaW5mbGlnaHRfZGVjKGNlKSBwdHJfY291bnRfZGVjKCYoY2UpLT5pbmZs aWdodCkKPiAgIAo+ICsJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07Cj4gKwlzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dCAqZ2VtX2NvbnRleHQ7Cj4gKwo+ICAgCXN0cnVjdCBsaXN0X2hlYWQg c2lnbmFsX2xpbms7Cj4gICAJc3RydWN0IGxpc3RfaGVhZCBzaWduYWxzOwo+ICAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IGIwNTZmMjVjNjZm Mi4uMzhlYzExYWU2ZWQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3JpbmdidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jp bmdidWZmZXIuYwo+IEBAIC0xMzk2LDkgKzEzOTYsOSBAQCBzdGF0aWMgc3RydWN0IGk5MTVfYWRk cmVzc19zcGFjZSAqdm1fYWxpYXMoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQo+ICAgewo+ICAg CXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtOwo+ICAgCj4gLQl2bSA9IGNlLT5nZW1fY29u dGV4dC0+dm07Cj4gLQlpZiAoIXZtKQo+IC0JCXZtID0gJmNlLT5lbmdpbmUtPmd0LT5nZ3R0LT5h bGlhcy0+dm07Cj4gKwl2bSA9IGNlLT52bTsKPiArCWlmIChpOTE1X2lzX2dndHQodm0pKQo+ICsJ CXZtID0gJmk5MTVfdm1fdG9fZ2d0dCh2bSktPmFsaWFzLT52bTsKPiAgIAo+ICAgCXJldHVybiB2 bTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJy b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKPiBpbmRleCBjNWI4 OWJmNGQ2MTYuLjI0ODM1YmUzMDBiYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dwdV9lcnJvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVf ZXJyb3IuYwo+IEBAIC0xNDI5LDcgKzE0MjksNyBAQCBzdGF0aWMgdm9pZCBnZW1fcmVjb3JkX3Jp bmdzKHN0cnVjdCBpOTE1X2dwdV9zdGF0ZSAqZXJyb3IpCj4gICAJCQlzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCAqY3R4ID0gcmVxdWVzdC0+Z2VtX2NvbnRleHQ7Cj4gICAJCQlzdHJ1Y3QgaW50ZWxf cmluZyAqcmluZyA9IHJlcXVlc3QtPnJpbmc7Cj4gICAKPiAtCQkJZWUtPnZtID0gY3R4LT52bSA/ OiAmZW5naW5lLT5ndC0+Z2d0dC0+dm07Cj4gKwkJCWVlLT52bSA9IHJlcXVlc3QtPmh3X2NvbnRl eHQtPnZtOwo+ICAgCj4gICAJCQlyZWNvcmRfY29udGV4dCgmZWUtPmNvbnRleHQsIGN0eCk7Cj4g ICAKPiAKClJlc3QgbG9va3MgZmluZS4KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4