From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: Re: [PATCH 02/15] drm/i915/guc: Create common entry points for log register/unregister Date: Tue, 6 Mar 2018 10:54:54 +0530 Message-ID: <23c93b39-1a12-7b5e-c4ec-4b600207c75f@intel.com> References: <20180227125230.13000-1-michal.winiarski@intel.com> <20180227125230.13000-2-michal.winiarski@intel.com> <93bd1530-a1f0-2964-b123-f4b1295e7215@intel.com> <20180305133858.nxw3gqtxztdxzrog@mwiniars-main.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 01FF46E54E for ; Tue, 6 Mar 2018 05:24:58 +0000 (UTC) In-Reply-To: <20180305133858.nxw3gqtxztdxzrog@mwiniars-main.ger.corp.intel.com> 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: =?UTF-8?Q?Micha=c5=82_Winiarski?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAzLzUvMjAxOCA3OjA4IFBNLCBNaWNoYcWCIFdpbmlhcnNraSB3cm90ZToKPiBPbiBNb24s IE1hciAwNSwgMjAxOCBhdCAxMjozOTo1OFBNICswNTMwLCBTYWdhciBBcnVuIEthbWJsZSB3cm90 ZToKPj4gT3ZlcmFsbCBjaGFuZ2UgbG9va3MgZ29vZC4gQ291bGQgeW91IHBsZWFzZSBjbGFyaWZ5 IG9uIGJlbG93Ogo+Pgo+PiBpbnRlbF91Y19sb2dfcmVnaXN0ZXJ8dW5yZWdpc3RlciBhcmUgcmVt b3ZlZCBpbiBwYXRjaCBsYXRlciBpbiB0aGUgc2VyaWVzLgo+PiBTaG91bGQgd2UganVzdCBzdGF5 IHdpdGggaW5uZXIgZnVuY3Rpb25zIHRoZW4gdG8gbWluaW1pemUgY2hhbmdlcz8KPiBJJ3ZlIGRv bmUgdGhpcyB0byBtb3ZlIChVU0VTX0dVQy9ndWNfbG9nX2xldmVsKSBjaGVja3MgdG8gdGhlIGNh bGxlcnMuIE90aGVyd2lzZQo+IGl0IHdvdWxkIG5lZWQgdG8gc3RheSBpbiBpbnRlbF9ndWNfbG9n X3JlZ2lzdGVyLCB3aGljaCB3b3VsZCBjYXVzZSB1cyB0byBkbyBtb3JlCj4gY2hhbmdlcyBpbiBp bnRlbF9ndWNfbG9nX2NvbnRyb2xfc2V0IGxhdGVyIGluIHRoZSBzZXJpZXMgKHdoZW4gd2UncmUg YWN0dWFsbHkKPiBkb2luZyB0aGUgZGVjb3VwbGluZykuCkJ1dCBBRkFJVSBjaGFuZ2UgaW4gdGhh dCBwYXRjaCAoOC8xNSkgd2lsbCBiZSBkZWNvdXBsaW5nIApndWNfbG9nX3JlZ2lzdGVyIGZyb20g VVNFU19HVUMvZ3VjX2xvZ19sZXZlbCB3aGljaCB3b3VsZCBiZSBmaW5lIEkgZ3Vlc3MuCllvdXIg Y2FsbCA6KQo+IC1NaWNoYcWCCj4KPj4KPj4gVGhhbmtzCj4+IFNhZ2FyCj4+Cj4+IE9uIDIvMjcv MjAxOCA2OjIyIFBNLCBNaWNoYcWCIFdpbmlhcnNraSB3cm90ZToKPj4+IFdlIGhhdmUgbWFueSBm dW5jdGlvbnMgcmVzcG9uc2libGUgZm9yIGFsbG9jYXRpbmcgZGlmZmVyZW50IHBhcnRzIG9mCj4+ PiBydW50aW1lIGNhbGxlZCBmcm9tIG11bHRpcGxlIHBsYWNlcy4gTGV0J3Mgc3RpY2sgd2l0aCBr ZWVwaW5nCj4+PiBldmVyeXRoaW5nIGluIGd1Y19sb2dfcmVnaXN0ZXIgaW5zdGVhZC4KPj4+Cj4+ PiBTaWduZWQtb2ZmLWJ5OiBNaWNoYcWCIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRl bC5jb20+Cj4+PiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+ PiBDYzogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVs LmNvbT4KPj4+IENjOiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNv bT4KPj4+IENjOiBTYWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgo+ Pj4gLS0tCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgfCAgIDYg Ky0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICB8ICAgNCArLQo+ Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jIHwgMTQ4ICsrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWNfbG9nLmggfCAgIDYgKy0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VjLmMgICAgICB8ICAzOSArKysrLS0tLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VjLmggICAgICB8ICAgNiArLQo+Pj4gICAgNiBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRp b25zKCspLCAxMTggZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4+ PiBpbmRleCBhYWE4NjFiNTEwMjQuLjcxOWIyYmU3MzI5MiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKPj4+IEBAIC02MzYsNyArNjM2LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1f ZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+PiAgICAJaTkxNV9nZW1f Y29udGV4dHNfZmluaShkZXZfcHJpdik7Cj4+PiAgICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ ZHJtLnN0cnVjdF9tdXRleCk7Cj4+PiAtCWludGVsX3VjX2ZpbmlfbWlzYyhkZXZfcHJpdik7Cj4+ PiArCWludGVsX3VjX2Zpbmlfd3EoZGV2X3ByaXYpOwo+Pj4gICAgCWk5MTVfZ2VtX2NsZWFudXBf dXNlcnB0cihkZXZfcHJpdik7Cj4+PiAgICAJaTkxNV9nZW1fZHJhaW5fZnJlZWRfb2JqZWN0cyhk ZXZfcHJpdik7Cj4+PiBAQCAtMTIzNyw3ICsxMjM3LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2 ZXJfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gICAgCS8q IFJldmVhbCBvdXIgcHJlc2VuY2UgdG8gdXNlcnNwYWNlICovCj4+PiAgICAJaWYgKGRybV9kZXZf cmVnaXN0ZXIoZGV2LCAwKSA9PSAwKSB7Cj4+PiAgICAJCWk5MTVfZGVidWdmc19yZWdpc3Rlcihk ZXZfcHJpdik7Cj4+PiAtCQlpOTE1X2d1Y19sb2dfcmVnaXN0ZXIoZGV2X3ByaXYpOwo+Pj4gKwkJ aW50ZWxfdWNfbG9nX3JlZ2lzdGVyKGRldl9wcml2KTsKPj4+ICAgIAkJaTkxNV9zZXR1cF9zeXNm cyhkZXZfcHJpdik7Cj4+PiAgICAJCS8qIERlcGVuZHMgb24gc3lzZnMgaGF2aW5nIGJlZW4gaW5p dGlhbGl6ZWQgKi8KPj4+IEBAIC0xMjk3LDcgKzEyOTcsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2Ry aXZlcl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICAg IAlpOTE1X3BtdV91bnJlZ2lzdGVyKGRldl9wcml2KTsKPj4+ICAgIAlpOTE1X3RlYXJkb3duX3N5 c2ZzKGRldl9wcml2KTsKPj4+IC0JaTkxNV9ndWNfbG9nX3VucmVnaXN0ZXIoZGV2X3ByaXYpOwo+ Pj4gKwlpbnRlbF91Y19sb2dfdW5yZWdpc3RlcihkZXZfcHJpdik7Cj4+PiAgICAJZHJtX2Rldl91 bnJlZ2lzdGVyKCZkZXZfcHJpdi0+ZHJtKTsKPj4+ICAgIAlpOTE1X2dlbV9zaHJpbmtlcl91bnJl Z2lzdGVyKGRldl9wcml2KTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+Pj4gaW5kZXggMTRj ODU1YjFhM2E0Li40YmY1ZjI1YjI5ZTIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4+PiBAQCAtNTI3OSw3ICs1Mjc5LDcgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gICAgCWlmIChyZXQpCj4+PiAgICAJCXJldHVybiBy ZXQ7Cj4+PiAtCXJldCA9IGludGVsX3VjX2luaXRfbWlzYyhkZXZfcHJpdik7Cj4+PiArCXJldCA9 IGludGVsX3VjX2luaXRfd3EoZGV2X3ByaXYpOwo+Pj4gICAgCWlmIChyZXQpCj4+PiAgICAJCXJl dHVybiByZXQ7Cj4+PiBAQCAtNTM3NSw3ICs1Mzc1LDcgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gICAgCWludGVsX3VuY29yZV9mb3Jj ZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPj4+ICAgIAltdXRleF91bmxvY2so JmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPj4+IC0JaW50ZWxfdWNfZmluaV9taXNjKGRl dl9wcml2KTsKPj4+ICsJaW50ZWxfdWNfZmluaV93cShkZXZfcHJpdik7Cj4+PiAgICAJaWYgKHJl dCAhPSAtRUlPKQo+Pj4gICAgCQlpOTE1X2dlbV9jbGVhbnVwX3VzZXJwdHIoZGV2X3ByaXYpOwo+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+Pj4gaW5kZXggMjJhMDUzMjA4MTdi Li5mMWNhYjQzZDMzNGUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfbG9nLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cu Ywo+Pj4gQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIGludGVsX2d1Y19sb2dfaW5pdF9lYXJseShz dHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4+PiAgICAJSU5JVF9XT1JLKCZndWMtPmxvZy5ydW50aW1l LmZsdXNoX3dvcmssIGNhcHR1cmVfbG9nc193b3JrKTsKPj4+ICAgIH0KPj4+IC1pbnQgaW50ZWxf Z3VjX2xvZ19yZWxheV9jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+Pj4gK2ludCBndWNf bG9nX3JlbGF5X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4+PiAgICB7Cj4+PiAgICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKPj4+ ICAgIAlzdHJ1Y3QgcmNoYW4gKmd1Y19sb2dfcmVsYXlfY2hhbjsKPj4+IEBAIC00OTQsNyArNDk0 LDcgQEAgaW50IGludGVsX2d1Y19sb2dfcmVsYXlfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1 YykKPj4+ICAgIAlyZXR1cm4gcmV0Owo+Pj4gICAgfQo+Pj4gLXZvaWQgaW50ZWxfZ3VjX2xvZ19y ZWxheV9kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4+ICt2b2lkIGd1Y19sb2dfcmVs YXlfZGVzdHJveShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4+PiAgICB7Cj4+PiAgICAJbXV0ZXhf bG9jaygmZ3VjLT5sb2cucnVudGltZS5yZWxheV9sb2NrKTsKPj4+IEBAIC01MTIsNDkgKzUxMiw2 IEBAIHZvaWQgaW50ZWxfZ3VjX2xvZ19yZWxheV9kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1 YykKPj4+ICAgIAltdXRleF91bmxvY2soJmd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfbG9jayk7Cj4+ PiAgICB9Cj4+PiAtc3RhdGljIGludCBndWNfbG9nX2xhdGVfc2V0dXAoc3RydWN0IGludGVsX2d1 YyAqZ3VjKQo+Pj4gLXsKPj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g Z3VjX3RvX2k5MTUoZ3VjKTsKPj4+IC0JaW50IHJldDsKPj4+IC0KPj4+IC0JaWYgKCFndWNfbG9n X2hhc19ydW50aW1lKGd1YykpIHsKPj4+IC0JCS8qCj4+PiAtCQkgKiBJZiBsb2cgd2FzIGRpc2Fi bGVkIGF0IGJvb3QgdGltZSwgdGhlbiBzZXR1cCBuZWVkZWQgdG8gaGFuZGxlCj4+PiAtCQkgKiBs b2cgYnVmZmVyIGZsdXNoIGludGVycnVwdHMgd291bGQgbm90IGhhdmUgYmVlbiBkb25lIHlldCwg c28KPj4+IC0JCSAqIGRvIHRoYXQgbm93Lgo+Pj4gLQkJICovCj4+PiAtCQlyZXQgPSBpbnRlbF9n dWNfbG9nX3JlbGF5X2NyZWF0ZShndWMpOwo+Pj4gLQkJaWYgKHJldCkKPj4+IC0JCQlnb3RvIGVy cjsKPj4+IC0KPj4+IC0JCW11dGV4X2xvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsK Pj4+IC0JCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPj4+IC0JCXJldCA9IGd1Y19s b2dfcnVudGltZV9jcmVhdGUoZ3VjKTsKPj4+IC0JCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9w cml2KTsKPj4+IC0JCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ Pj4gLQo+Pj4gLQkJaWYgKHJldCkKPj4+IC0JCQlnb3RvIGVycl9yZWxheTsKPj4+IC0JfQo+Pj4g LQo+Pj4gLQlyZXQgPSBndWNfbG9nX3JlbGF5X2ZpbGVfY3JlYXRlKGd1Yyk7Cj4+PiAtCWlmIChy ZXQpCj4+PiAtCQlnb3RvIGVycl9ydW50aW1lOwo+Pj4gLQo+Pj4gLQlyZXR1cm4gMDsKPj4+IC0K Pj4+IC1lcnJfcnVudGltZToKPj4+IC0JbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3Rf bXV0ZXgpOwo+Pj4gLQlndWNfbG9nX3J1bnRpbWVfZGVzdHJveShndWMpOwo+Pj4gLQltdXRleF91 bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPj4+IC1lcnJfcmVsYXk6Cj4+PiAt CWludGVsX2d1Y19sb2dfcmVsYXlfZGVzdHJveShndWMpOwo+Pj4gLWVycjoKPj4+IC0JLyogbG9n Z2luZyB3aWxsIHJlbWFpbiBvZmYgKi8KPj4+IC0JaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZl bCA9IDA7Cj4+PiAtCXJldHVybiByZXQ7Cj4+PiAtfQo+Pj4gLQo+Pj4gICAgc3RhdGljIHZvaWQg Z3VjX2xvZ19jYXB0dXJlX2xvZ3Moc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+Pj4gICAgewo+Pj4g ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7 Cj4+PiBAQCAtNTc0LDE2ICs1MzEsNiBAQCBzdGF0aWMgdm9pZCBndWNfZmx1c2hfbG9ncyhzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKPj4+IC0JaWYgKCFVU0VTX0dVQ19TVUJN SVNTSU9OKGRldl9wcml2KSB8fCAhaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCkKPj4+IC0J CXJldHVybjsKPj4+IC0KPj4+IC0JLyogRmlyc3QgZGlzYWJsZSB0aGUgaW50ZXJydXB0cywgd2ls bCBiZSByZW5hYmxlZCBhZnRlcndhcmRzICovCj4+PiAtCW11dGV4X2xvY2soJmRldl9wcml2LT5k cm0uc3RydWN0X211dGV4KTsKPj4+IC0JaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwo+ Pj4gLQlnZW45X2Rpc2FibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+Pj4gLQlpbnRlbF9y dW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4+PiAtCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRy bS5zdHJ1Y3RfbXV0ZXgpOwo+Pj4gLQo+Pj4gICAgCS8qCj4+PiAgICAJICogQmVmb3JlIGluaXRp YXRpbmcgdGhlIGZvcmNlZnVsIGZsdXNoLCB3YWl0IGZvciBhbnkgcGVuZGluZy9vbmdvaW5nCj4+ PiAgICAJICogZmx1c2ggdG8gY29tcGxldGUgb3RoZXJ3aXNlIGZvcmNlZnVsIGZsdXNoIG1heSBu b3QgYWN0dWFsbHkgaGFwcGVuLgo+Pj4gQEAgLTYyNiwxMiArNTczLDYgQEAgaW50IGludGVsX2d1 Y19sb2dfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4+ICAgIAlndWMtPmxvZy52bWEg PSB2bWE7Cj4+PiAtCWlmIChpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsKSB7Cj4+PiAtCQly ZXQgPSBndWNfbG9nX3J1bnRpbWVfY3JlYXRlKGd1Yyk7Cj4+PiAtCQlpZiAocmV0IDwgMCkKPj4+ IC0JCQlnb3RvIGVycl92bWE7Cj4+PiAtCX0KPj4+IC0KPj4+ICAgIAkvKiBlYWNoIGFsbG9jYXRl ZCB1bml0IGlzIGEgcGFnZSAqLwo+Pj4gICAgCWZsYWdzID0gR1VDX0xPR19WQUxJRCB8IEdVQ19M T0dfTk9USUZZX09OX0hBTEZfRlVMTCB8Cj4+PiAgICAJCShHVUNfTE9HX0RQQ19QQUdFUyA8PCBH VUNfTE9HX0RQQ19TSElGVCkgfAo+Pj4gQEAgLTY0Myw4ICs1ODQsNiBAQCBpbnQgaW50ZWxfZ3Vj X2xvZ19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+Pj4gICAgCXJldHVybiAwOwo+Pj4g LWVycl92bWE6Cj4+PiAtCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZndWMtPmxvZy52bWEp Owo+Pj4gICAgZXJyOgo+Pj4gICAgCS8qIGxvZ2dpbmcgd2lsbCBiZSBvZmYgKi8KPj4+ICAgIAlp OTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsID0gMDsKPj4+IEBAIC03MDMsMjQgKzY0MiwxNCBA QCBpbnQgaW50ZWxfZ3VjX2xvZ19jb250cm9sX3NldChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHU2 NCB2YWwpCj4+PiAgICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7 Cj4+PiAgICAJaWYgKEdVQ19MT0dfSVNfRU5BQkxFRCh2YWwpICYmICFndWNfbG9nX2hhc19ydW50 aW1lKGd1YykpIHsKPj4+IC0JCXJldCA9IGd1Y19sb2dfbGF0ZV9zZXR1cChndWMpOwo+Pj4gLQkJ aWYgKHJldCkKPj4+ICsJCXJldCA9IGludGVsX2d1Y19sb2dfcmVnaXN0ZXIoZ3VjKTsKPj4+ICsJ CWlmIChyZXQpIHsKPj4+ICsJCQkvKiBsb2dnaW5nIHdpbGwgcmVtYWluIG9mZiAqLwo+Pj4gKwkJ CWk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPSAwOwo+Pj4gICAgCQkJZ290byBvdXQ7Cj4+ PiAtCj4+PiAtCQkvKiBHdUMgbG9nZ2luZyBpcyBjdXJyZW50bHkgdGhlIG9ubHkgdXNlciBvZiBH dWMySG9zdCBpbnRlcnJ1cHRzICovCj4+PiAtCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0 cnVjdF9tdXRleCk7Cj4+PiAtCQlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7Cj4+PiAt CQlnZW45X2VuYWJsZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7Cj4+PiAtCQlpbnRlbF9ydW50 aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4+PiAtCQltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0u c3RydWN0X211dGV4KTsKPj4+ICsJCX0KPj4+ICAgIAl9IGVsc2UgaWYgKCFHVUNfTE9HX0lTX0VO QUJMRUQodmFsKSAmJiBndWNfbG9nX2hhc19ydW50aW1lKGd1YykpIHsKPj4+IC0JCS8qCj4+PiAt CQkgKiBPbmNlIGxvZ2dpbmcgaXMgZGlzYWJsZWQsIEd1QyB3b24ndCBnZW5lcmF0ZSBsb2dzICYg c2VuZCBhbgo+Pj4gLQkJICogaW50ZXJydXB0LiBCdXQgdGhlcmUgY291bGQgYmUgc29tZSBkYXRh IGluIHRoZSBsb2cgYnVmZmVyCj4+PiAtCQkgKiB3aGljaCBpcyB5ZXQgdG8gYmUgY2FwdHVyZWQu IFNvIHJlcXVlc3QgR3VDIHRvIHVwZGF0ZSB0aGUgbG9nCj4+PiAtCQkgKiBidWZmZXIgc3RhdGUg YW5kIHRoZW4gY29sbGVjdCB0aGUgbGVmdCBvdmVyIGxvZ3MuCj4+PiAtCQkgKi8KPj4+IC0JCWd1 Y19mbHVzaF9sb2dzKGd1Yyk7Cj4+PiArCQlpbnRlbF9ndWNfbG9nX3VucmVnaXN0ZXIoZ3VjKTsK Pj4+ICAgIAl9Cj4+PiAgICAJcmV0dXJuIDA7Cj4+PiBAQCAtNzMxLDIwICs2NjAsNjMgQEAgaW50 IGludGVsX2d1Y19sb2dfY29udHJvbF9zZXQoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1NjQgdmFs KQo+Pj4gICAgCXJldHVybiByZXQ7Cj4+PiAgICB9Cj4+PiAtdm9pZCBpOTE1X2d1Y19sb2dfcmVn aXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gK2ludCBpbnRlbF9n dWNfbG9nX3JlZ2lzdGVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4+ICAgIHsKPj4+IC0JaWYg KCFVU0VTX0dVQ19TVUJNSVNTSU9OKGRldl9wcml2KSB8fCAhaTkxNV9tb2RwYXJhbXMuZ3VjX2xv Z19sZXZlbCkKPj4+IC0JCXJldHVybjsKPj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKPj4+ICsJaW50IHJldDsKPj4+ICsKPj4+ICsJR0VN X0JVR19PTihndWNfbG9nX2hhc19ydW50aW1lKGd1YykpOwo+Pj4gKwo+Pj4gKwkvKgo+Pj4gKwkg KiBJZiBsb2cgd2FzIGRpc2FibGVkIGF0IGJvb3QgdGltZSwgdGhlbiBzZXR1cCBuZWVkZWQgdG8g aGFuZGxlCj4+PiArCSAqIGxvZyBidWZmZXIgZmx1c2ggaW50ZXJydXB0cyB3b3VsZCBub3QgaGF2 ZSBiZWVuIGRvbmUgeWV0LCBzbwo+Pj4gKwkgKiBkbyB0aGF0IG5vdy4KPj4+ICsJICovCj4+PiAr CXJldCA9IGd1Y19sb2dfcmVsYXlfY3JlYXRlKGd1Yyk7Cj4+PiArCWlmIChyZXQpCj4+PiArCQln b3RvIGVycjsKPj4+ICsKPj4+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0 ZXgpOwo+Pj4gKwlyZXQgPSBndWNfbG9nX3J1bnRpbWVfY3JlYXRlKGd1Yyk7Cj4+PiArCW11dGV4 X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+Pj4gKwo+Pj4gKwlpZiAocmV0 KQo+Pj4gKwkJZ290byBlcnJfcmVsYXk7Cj4+PiArCj4+PiArCXJldCA9IGd1Y19sb2dfcmVsYXlf ZmlsZV9jcmVhdGUoZ3VjKTsKPj4+ICsJaWYgKHJldCkKPj4+ICsJCWdvdG8gZXJyX3J1bnRpbWU7 Cj4+PiAtCWd1Y19sb2dfbGF0ZV9zZXR1cCgmZGV2X3ByaXYtPmd1Yyk7Cj4+PiArCS8qIEd1QyBs b2dnaW5nIGlzIGN1cnJlbnRseSB0aGUgb25seSB1c2VyIG9mIEd1YzJIb3N0IGludGVycnVwdHMg Ki8KPj4+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+Pj4gKwlp bnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7Cj4+PiArCWdlbjlfZW5hYmxlX2d1Y19pbnRl cnJ1cHRzKGRldl9wcml2KTsKPj4+ICsJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+ Pj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPj4+ICsKPj4+ ICsJcmV0dXJuIDA7Cj4+PiArCj4+PiArZXJyX3J1bnRpbWU6Cj4+PiArCW11dGV4X2xvY2soJmRl dl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPj4+ICsJZ3VjX2xvZ19ydW50aW1lX2Rlc3Ryb3ko Z3VjKTsKPj4+ICsJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4+ PiArZXJyX3JlbGF5Ogo+Pj4gKwlndWNfbG9nX3JlbGF5X2Rlc3Ryb3koZ3VjKTsKPj4+ICtlcnI6 Cj4+PiArCXJldHVybiByZXQ7Cj4+PiAgICB9Cj4+PiAtdm9pZCBpOTE1X2d1Y19sb2dfdW5yZWdp c3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+PiArdm9pZCBpbnRlbF9n dWNfbG9nX3VucmVnaXN0ZXIoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+Pj4gICAgewo+Pj4gLQlz dHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKPj4+ICsJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKPj4+IC0JaWYgKCFVU0VT X0dVQ19TVUJNSVNTSU9OKGRldl9wcml2KSkKPj4+IC0JCXJldHVybjsKPj4+ICsJLyoKPj4+ICsJ ICogT25jZSBsb2dnaW5nIGlzIGRpc2FibGVkLCBHdUMgd29uJ3QgZ2VuZXJhdGUgbG9ncyAmIHNl bmQgYW4KPj4+ICsJICogaW50ZXJydXB0LiBCdXQgdGhlcmUgY291bGQgYmUgc29tZSBkYXRhIGlu IHRoZSBsb2cgYnVmZmVyCj4+PiArCSAqIHdoaWNoIGlzIHlldCB0byBiZSBjYXB0dXJlZC4gU28g cmVxdWVzdCBHdUMgdG8gdXBkYXRlIHRoZSBsb2cKPj4+ICsJICogYnVmZmVyIHN0YXRlIGFuZCB0 aGVuIGNvbGxlY3QgdGhlIGxlZnQgb3ZlciBsb2dzLgo+Pj4gKwkgKi8KPj4+ICsJZ3VjX2ZsdXNo X2xvZ3MoZ3VjKTsKPj4+ICAgIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7Cj4+PiAgICAJLyogR3VDIGxvZ2dpbmcgaXMgY3VycmVudGx5IHRoZSBvbmx5IHVzZXIgb2Yg R3VjMkhvc3QgaW50ZXJydXB0cyAqLwo+Pj4gQEAgLTc1NSw1ICs3MjcsNSBAQCB2b2lkIGk5MTVf Z3VjX2xvZ191bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ ICAgIAlndWNfbG9nX3J1bnRpbWVfZGVzdHJveShndWMpOwo+Pj4gICAgCW11dGV4X3VubG9jaygm ZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+Pj4gLQlpbnRlbF9ndWNfbG9nX3JlbGF5X2Rl c3Ryb3koZ3VjKTsKPj4+ICsJZ3VjX2xvZ19yZWxheV9kZXN0cm95KGd1Yyk7Cj4+PiAgICB9Cj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5oCj4+PiBpbmRleCAxNDFjZTljYTIyY2Uu LjA5ZGQyZWYxOTMzZCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19sb2cuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5o Cj4+PiBAQCAtNjIsMTEgKzYyLDkgQEAgc3RydWN0IGludGVsX2d1Y19sb2cgewo+Pj4gICAgaW50 IGludGVsX2d1Y19sb2dfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Cj4+PiAgICB2b2lk IGludGVsX2d1Y19sb2dfZGVzdHJveShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+Pj4gICAgdm9p ZCBpbnRlbF9ndWNfbG9nX2luaXRfZWFybHkoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPj4+IC1p bnQgaW50ZWxfZ3VjX2xvZ19yZWxheV9jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPj4+ IC12b2lkIGludGVsX2d1Y19sb2dfcmVsYXlfZGVzdHJveShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Owo+Pj4gICAgaW50IGludGVsX2d1Y19sb2dfY29udHJvbF9nZXQoc3RydWN0IGludGVsX2d1YyAq Z3VjKTsKPj4+ICAgIGludCBpbnRlbF9ndWNfbG9nX2NvbnRyb2xfc2V0KHN0cnVjdCBpbnRlbF9n dWMgKmd1YywgdTY0IGNvbnRyb2xfdmFsKTsKPj4+IC12b2lkIGk5MTVfZ3VjX2xvZ19yZWdpc3Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+Pj4gLXZvaWQgaTkxNV9ndWNf bG9nX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4+ICtp bnQgaW50ZWxfZ3VjX2xvZ19yZWdpc3RlcihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+Pj4gK3Zv aWQgaW50ZWxfZ3VjX2xvZ191bnJlZ2lzdGVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Cj4+PiAg ICAjZW5kaWYKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwo+Pj4gaW5kZXggOWYxYmFjNjM5OGZi Li4zZjQxZWY1MjVlMjYgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91Yy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCj4+PiBAQCAt MjE5LDYgKzIxOSwyMiBAQCBzdGF0aWMgdm9pZCBndWNfZnJlZV9sb2FkX2Vycl9sb2coc3RydWN0 IGludGVsX2d1YyAqZ3VjKQo+Pj4gICAgCQlpOTE1X2dlbV9vYmplY3RfcHV0KGd1Yy0+bG9hZF9l cnJfbG9nKTsKPj4+ICAgIH0KPj4+ICtpbnQgaW50ZWxfdWNfbG9nX3JlZ2lzdGVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICt7Cj4+PiArCWlmICghVVNFU19HVUMoZGV2 X3ByaXYpIHx8ICFpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsKQo+Pj4gKwkJcmV0dXJuIDA7 Cj4+PiArCj4+PiArCXJldHVybiBpbnRlbF9ndWNfbG9nX3JlZ2lzdGVyKCZkZXZfcHJpdi0+Z3Vj KTsKPj4+ICt9Cj4+PiArCj4+PiArdm9pZCBpbnRlbF91Y19sb2dfdW5yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+PiArewo+Pj4gKwlpZiAoIVVTRVNfR1VDKGRl dl9wcml2KSB8fCAhaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCkKPj4+ICsJCXJldHVybjsK Pj4+ICsKPj4+ICsJaW50ZWxfZ3VjX2xvZ191bnJlZ2lzdGVyKCZkZXZfcHJpdi0+Z3VjKTsKPj4+ ICt9Cj4+PiArCj4+PiAgICBzdGF0aWMgaW50IGd1Y19lbmFibGVfY29tbXVuaWNhdGlvbihzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKPj4+IEBAIC0yNDAsNyArMjU2LDcgQEAg c3RhdGljIHZvaWQgZ3VjX2Rpc2FibGVfY29tbXVuaWNhdGlvbihzdHJ1Y3QgaW50ZWxfZ3VjICpn dWMpCj4+PiAgICAJZ3VjLT5zZW5kID0gaW50ZWxfZ3VjX3NlbmRfbm9wOwo+Pj4gICAgfQo+Pj4g LWludCBpbnRlbF91Y19pbml0X21pc2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+Pj4gK2ludCBpbnRlbF91Y19pbml0X3dxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPj4+ICAgIHsKPj4+ICAgIAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYt Pmd1YzsKPj4+ICAgIAlpbnQgcmV0Owo+Pj4gQEAgLTI0OSwyNiArMjY1LDEzIEBAIGludCBpbnRl bF91Y19pbml0X21pc2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gICAg CQlyZXR1cm4gMDsKPj4+ICAgIAlyZXQgPSBpbnRlbF9ndWNfaW5pdF93cShndWMpOwo+Pj4gLQlp ZiAocmV0KSB7Cj4+PiAtCQlEUk1fRVJST1IoIkNvdWxkbid0IGFsbG9jYXRlIHdvcmtxdWV1ZXMg Zm9yIEd1Q1xuIik7Cj4+PiAtCQlnb3RvIGVycjsKPj4+IC0JfQo+Pj4gLQo+Pj4gLQlyZXQgPSBp bnRlbF9ndWNfbG9nX3JlbGF5X2NyZWF0ZShndWMpOwo+Pj4gLQlpZiAocmV0KSB7Cj4+PiAtCQlE Uk1fRVJST1IoIkNvdWxkbid0IGFsbG9jYXRlIHJlbGF5IGZvciBHdUMgbG9nXG4iKTsKPj4+IC0J CWdvdG8gZXJyX3JlbGF5Owo+Pj4gLQl9Cj4+PiArCWlmIChyZXQpCj4+PiArCQlyZXR1cm4gcmV0 Owo+Pj4gICAgCXJldHVybiAwOwo+Pj4gLQo+Pj4gLWVycl9yZWxheToKPj4+IC0JaW50ZWxfZ3Vj X2Zpbmlfd3EoZ3VjKTsKPj4+IC1lcnI6Cj4+PiAtCXJldHVybiByZXQ7Cj4+PiAgICB9Cj4+PiAt dm9pZCBpbnRlbF91Y19maW5pX21pc2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+Pj4gK3ZvaWQgaW50ZWxfdWNfZmluaV93cShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2 LT5ndWM7Cj4+PiBAQCAtMjc2LDggKzI3OSw2IEBAIHZvaWQgaW50ZWxfdWNfZmluaV9taXNjKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICAgIAkJcmV0dXJuOwo+Pj4gICAg CWludGVsX2d1Y19maW5pX3dxKGd1Yyk7Cj4+PiAtCj4+PiAtCWludGVsX2d1Y19sb2dfcmVsYXlf ZGVzdHJveShndWMpOwo+Pj4gICAgfQo+Pj4gICAgaW50IGludGVsX3VjX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCj4+PiBp bmRleCBmMjk4NGUwMWUyNTcuLjliYzIyMTAzMzk2ZCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VjLmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VjLmgKPj4+IEBAIC0zMSwxMCArMzEsMTIgQEAKPj4+ICAgIHZvaWQgaW50ZWxfdWNfc2Fu aXRpemVfb3B0aW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+Pj4gICAg dm9pZCBpbnRlbF91Y19pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dik7Cj4+PiAgICB2b2lkIGludGVsX3VjX2luaXRfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwo+Pj4gK2ludCBpbnRlbF91Y19sb2dfcmVnaXN0ZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4+ICt2b2lkIGludGVsX3VjX2xvZ191bnJlZ2lzdGVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+PiAgICB2b2lkIGludGVsX3Vj X2luaXRfZncoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4+ICAgIHZvaWQg aW50ZWxfdWNfZmluaV9mdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+Pj4g LWludCBpbnRlbF91Y19pbml0X21pc2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKPj4+IC12b2lkIGludGVsX3VjX2ZpbmlfbWlzYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwo+Pj4gK2ludCBpbnRlbF91Y19pbml0X3dxKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4+PiArdm9pZCBpbnRlbF91Y19maW5pX3dxKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4+PiAgICBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+Pj4gICAgdm9pZCBpbnRlbF91Y19maW5pX2h3 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+PiAgICBpbnQgaW50ZWxfdWNf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+PiAtLSAKPj4gVGhhbmtz LAo+PiBTYWdhcgo+PgoKLS0gClRoYW5rcywKU2FnYXIKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=