From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH] drm/i915: Make 48bit full ppgtt configuration generic (v3) Date: Mon, 10 Sep 2018 10:32:42 -0700 Message-ID: <20180910173242.GB8001@intel.com> References: <20180906200409.4069910-1-bob.j.paauwe@intel.com> <20180910171225.30872-1-bob.j.paauwe@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id B3D6C89F71 for ; Mon, 10 Sep 2018 17:32:43 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180910171225.30872-1-bob.j.paauwe@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Bob Paauwe Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBTZXAgMTAsIDIwMTggYXQgMTA6MTI6MjVBTSAtMDcwMCwgQm9iIFBhYXV3ZSB3cm90 ZToKMTs1MjAyOzBjPiA0OCBiaXQgcHBndHQgZGV2aWNlIGNvbmZpZ3VyYXRpb24gaXMgcmVhbGx5 IGp1c3QgZXh0ZW5kZWQgYWRkcmVzcwo+IHJhbmdlIGZ1bGwgcHBndHQgYW5kIG1heSBhY3R1YWxs eSBiZSBzb21ldGhpbmcgb3RoZXIgdGhhbiA0OCBiaXRzLgo+IAo+IENoYW5nZSBVU0VTX0ZVTExf NDhCSVRfUFBHVFQoKSB0byBVU0VTX0ZVTExfNExWTF9QUEdUVCgpIHRvIGJldHRlcgo+IGRlc2Ny aWJlIHRoYXQgYSA0IGxldmVsIHdhbGsgdGFibGUgZXh0ZW5kZWQgcmFuZ2UgUFBHVFQgaXMgYmVp bmcKPiB1c2VkLiBBZGQgYSBuZXcgZGV2aWNlIGluZm8gZmllbGQgdGhhdCBzcGVjaWZpZXMgdGhl IG51bWJlciBvZgo+IGJpdHMgdG8gcHJlcGFyZSBmb3IgY2FzZXMgd2hlcmUgdGhlIHJhbmdlIGlz IG5vdCAzMiBvciA0OCBiaXRzLgo+IAo+IHYyOiBrZWVwIFVTRVNfRlVMTF9QUEdUVCgpIHVuY2hh bmdlZCAoQ2hyaXMpCj4gdjM6IFNpbXBsaWZ5IGNvbmRpdGlvbiBpbiBnZW44X3BwZ3R0X2NyZWF0 ZSgpIChDaHJpcykKPiAgICAgUmVtb3ZlIHVuZWNlc3NhcnkgbGluZSBjb25pbnVhdGlvbnMgKEJv YikKPiAgICAgUmVuYW1lIGZ1bmN0aW9ucy9kZWZpbmVzL2NvbW1lbnRzIGZyb20gNDhiaXQgdG8g NGx2bCAoUm9kcmlnby9Cb2IpCj4gCj4gU2lnbmVkLW9mZi1ieTogQm9iIFBhYXV3ZSA8Ym9iLmou cGFhdXdlQGludGVsLmNvbT4KPiBDQzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwu Y29tPgo+IENDOiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgo+IEND OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAKPiBBZGRpdGlvbmFs IHdvcmsgdG8gcmVuYW1lIDQ4Yml0IHRvIDQgbGV2ZWwKClRoYW5rcyBmb3IgdGhlIGFkZGl0aW9u YWwgd29yay4KQmlrZXNoZWQgb24gdGhpcyBjb21tZW50IGhlcmU6IFNob3VsZG4ndCB0aGlzIGJl IG1lbnRpb25lZCBvbiB0aGUKInYzIiBwb3J0aW9uIGRpcmVjdGx5IGluc3RlYWQgb2YgdGhlIG1p ZGRsZSBvZiB0YWdzJyBibG9jaz8KCj4gCj4gU2lnbmVkLW9mZi1ieTogQm9iIFBhYXV3ZSA8Ym9i LmoucGFhdXdlQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3Zn cHUuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5jICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAgICAgIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICAgICAgICAgICB8 ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAgICAgICAgICAg ICAgIHwgIDcgKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3B2aW5mby5oICAg ICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYyAg ICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdw dS5oICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmggICAgICAgICB8ICA0ICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyAgICAgIHwgIDggKysrKy0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIHwgIDIgKysKPiAg MTMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92Z3B1LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvdmdwdS5jCj4gaW5kZXggYTRlOGUzY2Y3NGZkLi41MmJlYmQ2NzE3M2Eg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3ZncHUuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92Z3B1LmMKPiBAQCAtNDQsNyArNDQsNyBAQCB2b2lkIHBv cHVsYXRlX3B2aW5mb19wYWdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1KQo+ICAJdmdwdV92cmVn X3QodmdwdSwgdmd0aWZfcmVnKGRpc3BsYXlfcmVhZHkpKSA9IDA7Cj4gIAl2Z3B1X3ZyZWdfdCh2 Z3B1LCB2Z3RpZl9yZWcodmd0X2lkKSkgPSB2Z3B1LT5pZDsKPiAgCj4gLQl2Z3B1X3ZyZWdfdCh2 Z3B1LCB2Z3RpZl9yZWcodmd0X2NhcHMpKSA9IFZHVF9DQVBTX0ZVTExfNDhCSVRfUFBHVFQ7Cj4g Kwl2Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9yZWcodmd0X2NhcHMpKSA9IFZHVF9DQVBTX0ZVTExf NExWTF9QUEdUVDsKPiAgCXZncHVfdnJlZ190KHZncHUsIHZndGlmX3JlZyh2Z3RfY2FwcykpIHw9 IFZHVF9DQVBTX0hXU1BfRU1VTEFUSU9OOwo+ICAJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVn KHZndF9jYXBzKSkgfD0gVkdUX0NBUFNfSFVHRV9HVFQ7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IGluZGV4IDVhNGRhNWI3MjNmZC4uYTM2NzY4NmZkNzM1IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gQEAgLTI1NjksNyArMjU2OSw3IEBAIGludGVsX2luZm8oY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgI2RlZmluZSBVU0VTX1BQR1RU KGRldl9wcml2KQkJKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9wcGd0dCkKPiAgI2RlZmluZSBVU0VT X0ZVTExfUFBHVFQoZGV2X3ByaXYpCShpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQgPj0gMikK PiAtI2RlZmluZSBVU0VTX0ZVTExfNDhCSVRfUFBHVFQoZGV2X3ByaXYpCShpOTE1X21vZHBhcmFt cy5lbmFibGVfcHBndHQgPT0gMykKPiArI2RlZmluZSBVU0VTX0ZVTExfNExWTF9QUEdUVChkZXZf cHJpdikJKChkZXZfcHJpdiktPmluZm8uZnVsbF9wcGd0dF9iaXRzID4gMzIpCgphbm90aGVyIGJp a2VzaGVkOiBGVUxMXzRMVkxfUFBHVFQgb3IganVzdCA0TFZMX1BQR1RUPwoKPiAgI2RlZmluZSBI QVNfUEFHRV9TSVpFUyhkZXZfcHJpdiwgc2l6ZXMpICh7IFwKPiAgCUdFTV9CVUdfT04oKHNpemVz KSA9PSAwKTsgXAo+ICAJKChzaXplcykgJiB+KGRldl9wcml2KS0+aW5mby5wYWdlX3NpemVzKSA9 PSAwOyBcCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IGluZGV4IGYx NWEwMzk3NzJkYi4uMWFkZDMzOWNhNmJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2NvbnRleHQuYwo+IEBAIC0yNDksNyArMjQ5LDcgQEAgc3RhdGljIHUzMiBkZWZhdWx0X2Rl c2NfdGVtcGxhdGUoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gIAlkZXNj ID0gR0VOOF9DVFhfVkFMSUQgfCBHRU44X0NUWF9QUklWSUxFR0U7Cj4gIAo+ICAJYWRkcmVzc19t b2RlID0gSU5URUxfTEVHQUNZXzMyQl9DT05URVhUOwo+IC0JaWYgKHBwZ3R0ICYmIGk5MTVfdm1f aXNfNDhiaXQoJnBwZ3R0LT52bSkpCj4gKwlpZiAocHBndHQgJiYgaTkxNV92bV9pc180bHZsKCZw cGd0dC0+dm0pKQo+ICAJCWFkZHJlc3NfbW9kZSA9IElOVEVMX0xFR0FDWV82NEJfQ09OVEVYVDsK PiAgCWRlc2MgfD0gYWRkcmVzc19tb2RlIDw8IEdFTjhfQ1RYX0FERFJFU1NJTkdfTU9ERV9TSElG VDsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCBlYjBlNDQ2ZDY0 ODIuLmM2NmJiZjQwOTc5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4g QEAgLTEzNywxOCArMTM3LDE4IEBAIGludCBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfcHBndHQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgICAgCWludCBlbmFibGVf cHBndHQpCj4gIHsKPiAgCWJvb2wgaGFzX2Z1bGxfcHBndHQ7Cj4gLQlib29sIGhhc19mdWxsXzQ4 Yml0X3BwZ3R0Owo+ICsJYm9vbCBoYXNfZnVsbF80bHZsX3BwZ3R0Owo+ICAKPiAgCWlmICghZGV2 X3ByaXYtPmluZm8uaGFzX2FsaWFzaW5nX3BwZ3R0KQo+ICAJCXJldHVybiAwOwo+ICAKPiAgCWhh c19mdWxsX3BwZ3R0ID0gZGV2X3ByaXYtPmluZm8uaGFzX2Z1bGxfcHBndHQ7Cj4gLQloYXNfZnVs bF80OGJpdF9wcGd0dCA9IGRldl9wcml2LT5pbmZvLmhhc19mdWxsXzQ4Yml0X3BwZ3R0Owo+ICsJ aGFzX2Z1bGxfNGx2bF9wcGd0dCA9IFVTRVNfRlVMTF80TFZMX1BQR1RUKGRldl9wcml2KTsKPiAg Cj4gIAlpZiAoaW50ZWxfdmdwdV9hY3RpdmUoZGV2X3ByaXYpKSB7Cj4gIAkJLyogR1ZULWcgaGFz IG5vIHN1cHBvcnQgZm9yIDMyYml0IHBwZ3R0ICovCj4gIAkJaGFzX2Z1bGxfcHBndHQgPSBmYWxz ZTsKPiAtCQloYXNfZnVsbF80OGJpdF9wcGd0dCA9IGludGVsX3ZncHVfaGFzX2Z1bGxfNDhiaXRf cHBndHQoZGV2X3ByaXYpOwo+ICsJCWhhc19mdWxsXzRsdmxfcHBndHQgPSBpbnRlbF92Z3B1X2hh c19mdWxsXzRsdmxfcHBndHQoZGV2X3ByaXYpOwo+ICAJfQo+ICAKPiAgCS8qCj4gQEAgLTE2NCw3 ICsxNjQsNyBAQCBpbnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX3BwZ3R0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWlmIChlbmFibGVfcHBndHQgPT0gMiAmJiBoYXNfZnVs bF9wcGd0dCkKPiAgCQlyZXR1cm4gMjsKPiAgCj4gLQlpZiAoZW5hYmxlX3BwZ3R0ID09IDMgJiYg aGFzX2Z1bGxfNDhiaXRfcHBndHQpCj4gKwlpZiAoZW5hYmxlX3BwZ3R0ID09IDMgJiYgaGFzX2Z1 bGxfNGx2bF9wcGd0dCkKPiAgCQlyZXR1cm4gMzsKPiAgCj4gIAkvKiBEaXNhYmxlIHBwZ3R0IG9u IFNOQiBpZiBWVC1kIGlzIG9uLiAqLwo+IEBAIC0xNzMsNyArMTczLDcgQEAgaW50IGludGVsX3Nh bml0aXplX2VuYWJsZV9wcGd0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAkJcmV0dXJuIDA7Cj4gIAl9Cj4gIAo+IC0JaWYgKGhhc19mdWxsXzQ4Yml0X3BwZ3R0KQo+ICsJ aWYgKGhhc19mdWxsXzRsdmxfcHBndHQpCj4gIAkJcmV0dXJuIDM7Cj4gIAo+ICAJaWYgKGhhc19m dWxsX3BwZ3R0KQo+IEBAIC02MjgsMTQgKzYyOCwxNCBAQCBzZXR1cF9zY3JhdGNoX3BhZ2Uoc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sIGdmcF90IGdmcCkKPiAgCSAqIHBhZ2UtdGFibGUg b3BlcmF0aW5nIGluIDY0SyBtb2RlIG11c3QgcG9pbnQgdG8gYSBwcm9wZXJseSBhbGlnbmVkIDY0 Swo+ICAJICogcmVnaW9uLCBpbmNsdWRpbmcgYW55IFBURXMgd2hpY2ggaGFwcGVuIHRvIHBvaW50 IHRvIHNjcmF0Y2guCj4gIAkgKgo+IC0JICogVGhpcyBpcyBvbmx5IHJlbGV2YW50IGZvciB0aGUg NDhiIFBQR1RUIHdoZXJlIHdlIHN1cHBvcnQKPiArCSAqIFRoaXMgaXMgb25seSByZWxldmFudCBm b3IgdGhlIDQtbGV2ZWwgUFBHVFQgd2hlcmUgd2Ugc3VwcG9ydAo+ICAJICogaHVnZS1ndHQtcGFn ZXMsIHNlZSBhbHNvIGk5MTVfdm1hX2luc2VydCgpLgo+ICAJICoKPiAgCSAqIFRPRE86IHdlIHNo b3VsZCByZWFsbHkgY29uc2lkZXIgd3JpdGUtcHJvdGVjdGluZyB0aGUgc2NyYXRjaC1wYWdlIGFu ZAo+ICAJICogc2hhcmluZyBiZXR3ZWVuIHBwZ3R0Cj4gIAkgKi8KPiAgCXNpemUgPSBJOTE1X0dU VF9QQUdFX1NJWkVfNEs7Cj4gLQlpZiAoaTkxNV92bV9pc180OGJpdCh2bSkgJiYKPiArCWlmIChp OTE1X3ZtX2lzXzRsdmwodm0pICYmCj4gIAkgICAgSEFTX1BBR0VfU0laRVModm0tPmk5MTUsIEk5 MTVfR1RUX1BBR0VfU0laRV82NEspKSB7Cj4gIAkJc2l6ZSA9IEk5MTVfR1RUX1BBR0VfU0laRV82 NEs7Cj4gIAkJZ2ZwIHw9IF9fR0ZQX05PV0FSTjsKPiBAQCAtNzgwLDcgKzc4MCw3IEBAIHN0YXRp YyB2b2lkIF9fcGRwX2Zpbmkoc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRw KQo+ICAKPiAgc3RhdGljIGlubGluZSBib29sIHVzZV80bHZsKGNvbnN0IHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtKQo+ICB7Cj4gLQlyZXR1cm4gaTkxNV92bV9pc180OGJpdCh2bSk7Cj4g KwlyZXR1cm4gaTkxNV92bV9pc180bHZsKHZtKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBp OTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKgo+IEBAIC0xNjQ3LDkgKzE2NDcsOSBAQCBzdGF0 aWMgc3RydWN0IGk5MTVfaHdfcHBndHQgKmdlbjhfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQo+ICAJcHBndHQtPnZtLmk5MTUgPSBpOTE1Owo+ICAJcHBndHQtPnZt LmRtYSA9ICZpOTE1LT5kcm0ucGRldi0+ZGV2Owo+ICAKPiAtCXBwZ3R0LT52bS50b3RhbCA9IFVT RVNfRlVMTF80OEJJVF9QUEdUVChpOTE1KSA/Cj4gLQkJMVVMTCA8PCA0OCA6Cj4gLQkJMVVMTCA8 PCAzMjsKPiArCXBwZ3R0LT52bS50b3RhbCA9IEJJVF9VTEwoaTkxNS0+aW5mby5mdWxsX3BwZ3R0 X2JpdHMpOwo+ICsJaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9wcGd0dCA8IDMpCj4gKwkJcHBn dHQtPnZtLnRvdGFsID0gbWluKHBwZ3R0LT52bS50b3RhbCwgU1pfNEcpOwoKYnV0IGFjdHVhbGx5 IHRoaXMgaXMgdGhlIG9ubHkgcmVhbCB0aGluZyB0aGF0IGhvbGRzIG1lIGZyb20gcHV0dGluZyB0 aGUgcnYtYgpyaWdodCBub3cuLi4KSSB0aGluayB0aGlzIGNoYW5nZSBkZXNlcnZlcyBhIHNlcGFy YXRlZCBwYXRjaCwgYnV0IG1heWJlIGl0IGlzIGJlY2F1c2UKSSBzaW1wbHkgZGlkbid0IHVuZGVy c3RhbmQgd2h5IHN0YXJ0IHVzaW5nIHRoaXMgbWluIFNaXzRHIGFuZCBJIG1pc3MKc29tZSBleHBs YW5hdGlvbi4uLgoKVGhlIHJlc3Qgb2YgdGhlIHBhdGNoIGxndG0gOykKClRoYW5rcyBhIGxvdCwK Um9kcmlnby4KCj4gIAo+ICAJLyoKPiAgCSAqIEZyb20gYmR3LCB0aGVyZSBpcyBzdXBwb3J0IGZv ciByZWFkLW9ubHkgcGFnZXMgaW4gdGhlIFBQR1RULgo+IEBAIC0xNzg4LDcgKzE3ODgsNyBAQCBz dGF0aWMgdm9pZCBnZW44X3BwZ3R0X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gIAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKPiAgCj4gIAlmb3JfZWFjaF9lbmdp bmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKPiAtCQl1MzIgZm91cl9sZXZlbCA9IFVTRVNfRlVM TF80OEJJVF9QUEdUVChkZXZfcHJpdikgPwo+ICsJCXUzMiBmb3VyX2xldmVsID0gVVNFU19GVUxM XzRMVkxfUFBHVFQoZGV2X3ByaXYpID8KPiAgCQkJCSBHRU44X0dGWF9QUEdUVF80OEIgOiAwOwo+ ICAJCUk5MTVfV1JJVEUoUklOR19NT0RFX0dFTjcoZW5naW5lKSwKPiAgCQkJICAgX01BU0tFRF9C SVRfRU5BQkxFKEdGWF9QUEdUVF9FTkFCTEUgfCBmb3VyX2xldmVsKSk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmgKPiBpbmRleCA3ZTJhZjVmNGYzOWIuLmIyYTcwOWEyN2NiOSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gQEAgLTM2Myw3ICszNjMsNyBAQCBz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKPiAgI2RlZmluZSBpOTE1X2lzX2dndHQodm0pICgo dm0pLT5pc19nZ3R0KQo+ICAKPiAgc3RhdGljIGlubGluZSBib29sCj4gLWk5MTVfdm1faXNfNDhi aXQoY29uc3Qgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gK2k5MTVfdm1faXNfNGx2 bChjb25zdCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgewo+ICAJcmV0dXJuICh2 bS0+dG90YWwgLSAxKSA+PiAzMjsKPiAgfQo+IEBAIC01MDYsNyArNTA2LDcgQEAgc3RhdGljIGlu bGluZSB1MzIgZ2VuNl9wZGVfaW5kZXgodTMyIGFkZHIpCj4gIHN0YXRpYyBpbmxpbmUgdW5zaWdu ZWQgaW50Cj4gIGk5MTVfcGRwZXNfcGVyX3BkcChjb25zdCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSkKPiAgewo+IC0JaWYgKGk5MTVfdm1faXNfNDhiaXQodm0pKQo+ICsJaWYgKGk5MTVf dm1faXNfNGx2bCh2bSkpCj4gIAkJcmV0dXJuIEdFTjhfUE1MNEVTX1BFUl9QTUw0Owo+ICAKPiAg CXJldHVybiBHRU44XzNMVkxfUERQRVM7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCj4gaW5kZXgg ZDZmN2I5ZmUxZDI2Li5lMDYxOTk1MmZmNTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wY2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMK PiBAQCAtMjk5LDYgKzI5OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gaW50ZWxfc2FuZHlicmlkZ2VfbV9ndDJfaW5mbyA9IHsKPiAgCS5oYXNfcmM2cCA9IDEsIFwK PiAgCS5oYXNfYWxpYXNpbmdfcHBndHQgPSAxLCBcCj4gIAkuaGFzX2Z1bGxfcHBndHQgPSAxLCBc Cj4gKwkuZnVsbF9wcGd0dF9iaXRzID0gMzIsIFwKPiAgCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRT LCBcCj4gIAlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCj4gIAlJVkJfQ1VSU09SX09GRlNFVFMK PiBAQCAtMzUzLDYgKzM1NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gaW50ZWxfdmFsbGV5dmlld19pbmZvID0gewo+ICAJLmhhc19ob3RwbHVnID0gMSwKPiAgCS5o YXNfYWxpYXNpbmdfcHBndHQgPSAxLAo+ICAJLmhhc19mdWxsX3BwZ3R0ID0gMSwKPiArCS5mdWxs X3BwZ3R0X2JpdHMgPSAzMiwKPiAgCS5oYXNfc25vb3AgPSB0cnVlLAo+ICAJLmhhc19jb2hlcmVu dF9nZ3R0ID0gZmFsc2UsCj4gIAkucmluZ19tYXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8 IEJMVF9SSU5HLAo+IEBAIC0zOTksNyArNDAxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRl bF9kZXZpY2VfaW5mbyBpbnRlbF9oYXN3ZWxsX2d0M19pbmZvID0gewo+ICAJLnBhZ2Vfc2l6ZXMg PSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsgfCBcCj4gIAkJICAgICAgSTkxNV9HVFRfUEFHRV9TSVpF XzJNLCBcCj4gIAkuaGFzX2xvZ2ljYWxfcmluZ19jb250ZXh0cyA9IDEsIFwKPiAtCS5oYXNfZnVs bF80OGJpdF9wcGd0dCA9IDEsIFwKPiArCS5mdWxsX3BwZ3R0X2JpdHMgPSA0OCwgXAo+ICAJLmhh c182NGJpdF9yZWxvYyA9IDEsIFwKPiAgCS5oYXNfcmVzZXRfZW5naW5lID0gMQo+ICAKPiBAQCAt NDQ1LDYgKzQ0Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50 ZWxfY2hlcnJ5dmlld19pbmZvID0gewo+ICAJLmhhc19nbWNoX2Rpc3BsYXkgPSAxLAo+ICAJLmhh c19hbGlhc2luZ19wcGd0dCA9IDEsCj4gIAkuaGFzX2Z1bGxfcHBndHQgPSAxLAo+ICsJLmZ1bGxf cHBndHRfYml0cyA9IDMyLAo+ICAJLmhhc19yZXNldF9lbmdpbmUgPSAxLAo+ICAJLmhhc19zbm9v cCA9IHRydWUsCj4gIAkuaGFzX2NvaGVyZW50X2dndHQgPSBmYWxzZSwKPiBAQCAtNTIwLDcgKzUy Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfc2t5bGFr ZV9ndDRfaW5mbyA9IHsKPiAgCS5oYXNfZ3VjID0gMSwgXAo+ICAJLmhhc19hbGlhc2luZ19wcGd0 dCA9IDEsIFwKPiAgCS5oYXNfZnVsbF9wcGd0dCA9IDEsIFwKPiAtCS5oYXNfZnVsbF80OGJpdF9w cGd0dCA9IDEsIFwKPiArCS5mdWxsX3BwZ3R0X2JpdHMgPSA0OCwgXAo+ICAJLmhhc19yZXNldF9l bmdpbmUgPSAxLCBcCj4gIAkuaGFzX3Nub29wID0gdHJ1ZSwgXAo+ICAJLmhhc19jb2hlcmVudF9n Z3R0ID0gZmFsc2UsIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w dmluZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcHZpbmZvLmgKPiBpbmRleCBlZWFh M2Q1MDZkOTUuLjZkMmY5ZjA2YWI1NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3B2aW5mby5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wdmluZm8u aAo+IEBAIC01Miw3ICs1Miw3IEBAIGVudW0gdmd0X2cydl90eXBlIHsKPiAgLyoKPiAgICogVkdU IGNhcGFiaWxpdGllcyB0eXBlCj4gICAqLwo+IC0jZGVmaW5lIFZHVF9DQVBTX0ZVTExfNDhCSVRf UFBHVFQJQklUKDIpCj4gKyNkZWZpbmUgVkdUX0NBUFNfRlVMTF80TFZMX1BQR1RUCUJJVCgyKQo+ ICAjZGVmaW5lIFZHVF9DQVBTX0hXU1BfRU1VTEFUSU9OCQlCSVQoMykKPiAgI2RlZmluZSBWR1Rf Q0FQU19IVUdFX0dUVAkJQklUKDQpCj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3ZncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4gaW5k ZXggODY5Y2Y0YTNiNmRlLi4xODBmMmRjYTEyMjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92Z3B1LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Zn cHUuYwo+IEBAIC04MSw5ICs4MSw5IEBAIHZvaWQgaTkxNV9jaGVja192Z3B1KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCURSTV9JTkZPKCJWaXJ0dWFsIEdQVSBmb3IgSW50 ZWwgR1ZULWcgZGV0ZWN0ZWQuXG4iKTsKPiAgfQo+ICAKPiAtYm9vbCBpbnRlbF92Z3B1X2hhc19m dWxsXzQ4Yml0X3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArYm9v bCBpbnRlbF92Z3B1X2hhc19mdWxsXzRsdmxfcHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICB7Cj4gLQlyZXR1cm4gZGV2X3ByaXYtPnZncHUuY2FwcyAmIFZHVF9DQVBT X0ZVTExfNDhCSVRfUFBHVFQ7Cj4gKwlyZXR1cm4gZGV2X3ByaXYtPnZncHUuY2FwcyAmIFZHVF9D QVBTX0ZVTExfNExWTF9QUEdUVDsKPiAgfQo+ICAKPiAgc3RydWN0IF9iYWxsb29uX2luZm9fIHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaAo+IGluZGV4IDU1MWFjYzM5MDA0Ni4uYjgzMGE3YjUw NjRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmgKPiBAQCAtMjgsNyArMjgsNyBAQAo+ ICAKPiAgdm9pZCBpOTE1X2NoZWNrX3ZncHUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KTsKPiAgCj4gLWJvb2wgaW50ZWxfdmdwdV9oYXNfZnVsbF80OGJpdF9wcGd0dChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICtib29sIGludGVsX3ZncHVfaGFzX2Z1bGxf NGx2bF9wcGd0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAKPiAgc3Rh dGljIGlubGluZSBib29sCj4gIGludGVsX3ZncHVfaGFzX2h3c3BfZW11bGF0aW9uKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmgKPiBpbmRleCA2ZWVjZDY0NzM0ZDUuLjUwYWNiMDQ2M2U5YSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+IEBAIC04OCw3ICs4OCw2IEBA IGVudW0gaW50ZWxfcGxhdGZvcm0gewo+ICAJZnVuYyhoYXNfZmJjKTsgXAo+ICAJZnVuYyhoYXNf ZnBnYV9kYmcpOyBcCj4gIAlmdW5jKGhhc19mdWxsX3BwZ3R0KTsgXAo+IC0JZnVuYyhoYXNfZnVs bF80OGJpdF9wcGd0dCk7IFwKPiAgCWZ1bmMoaGFzX2dtY2hfZGlzcGxheSk7IFwKPiAgCWZ1bmMo aGFzX2d1Yyk7IFwKPiAgCWZ1bmMoaGFzX2d1Y19jdCk7IFwKPiBAQCAtMTgyLDYgKzE4MSw5IEBA IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyB7Cj4gIAkJdTE2IGRlZ2FtbWFfbHV0X3NpemU7Cj4g IAkJdTE2IGdhbW1hX2x1dF9zaXplOwo+ICAJfSBjb2xvcjsKPiArCj4gKwkvKiBQUEdUVCBiaXQg c2l6ZSAqLwo+ICsJaW50IGZ1bGxfcHBndHRfYml0czsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpbnRl bF9kcml2ZXJfY2FwcyB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCBkZWY0Njdj MjQ1MWIuLjUyYTg2YThjMDZiNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAg LTQyOSw3ICs0MjksNyBAQCBzdGF0aWMgdTY0IGV4ZWNsaXN0c191cGRhdGVfY29udGV4dChzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgCSAqIFBNTDQgaXMgYWxsb2NhdGVkIGR1cmluZyBwcGd0 dCBpbml0LCBzbyB0aGlzIGlzIG5vdCBuZWVkZWQKPiAgCSAqIGluIDQ4LWJpdCBtb2RlLgo+ICAJ ICovCj4gLQlpZiAocHBndHQgJiYgIWk5MTVfdm1faXNfNDhiaXQoJnBwZ3R0LT52bSkpCj4gKwlp ZiAocHBndHQgJiYgIWk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkKPiAgCQlleGVjbGlzdHNf dXBkYXRlX2NvbnRleHRfcGRwcyhwcGd0dCwgcmVnX3N0YXRlKTsKPiAgCj4gIAlyZXR1cm4gY2Ut PmxyY19kZXNjOwo+IEBAIC0yMDE5LDcgKzIwMTksNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9i Yl9zdGFydChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKPiAgCSAqIG5vdCBuZWVkZWQgaW4gNDgt Yml0LiovCj4gIAlpZiAocnEtPmdlbV9jb250ZXh0LT5wcGd0dCAmJgo+ICAJICAgIChpbnRlbF9l bmdpbmVfZmxhZyhycS0+ZW5naW5lKSAmIHJxLT5nZW1fY29udGV4dC0+cHBndHQtPnBkX2RpcnR5 X3JpbmdzKSAmJgo+IC0JICAgICFpOTE1X3ZtX2lzXzQ4Yml0KCZycS0+Z2VtX2NvbnRleHQtPnBw Z3R0LT52bSkgJiYKPiArCSAgICAhaTkxNV92bV9pc180bHZsKCZycS0+Z2VtX2NvbnRleHQtPnBw Z3R0LT52bSkgJiYKPiAgCSAgICAhaW50ZWxfdmdwdV9hY3RpdmUocnEtPmk5MTUpKSB7Cj4gIAkJ cmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2VtaXRfcGRwcyhycSk7Cj4gIAkJaWYgKHJldCkKPiBA QCAtMjY4OCw4ICsyNjg4LDggQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVnX3N0YXRl KHUzMiAqcmVncywKPiAgCUNUWF9SRUcocmVncywgQ1RYX1BEUDBfVURXLCBHRU44X1JJTkdfUERQ X1VEVyhlbmdpbmUsIDApLCAwKTsKPiAgCUNUWF9SRUcocmVncywgQ1RYX1BEUDBfTERXLCBHRU44 X1JJTkdfUERQX0xEVyhlbmdpbmUsIDApLCAwKTsKPiAgCj4gLQlpZiAocHBndHQgJiYgaTkxNV92 bV9pc180OGJpdCgmcHBndHQtPnZtKSkgewo+IC0JCS8qIDY0YiBQUEdUVCAoNDhiaXQgY2Fub25p Y2FsKQo+ICsJaWYgKHBwZ3R0ICYmIGk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkgewo+ICsJ CS8qID4gMzJiIFBQR1RUCj4gIAkJICogUERQMF9ERVNDUklQVE9SIGNvbnRhaW5zIHRoZSBiYXNl IGFkZHJlc3MgdG8gUE1MNCBhbmQKPiAgCQkgKiBvdGhlciBQRFAgRGVzY3JpcHRvcnMgYXJlIGln bm9yZWQuCj4gIAkJICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9w YWdlcy5jCj4gaW5kZXggZTI3MjEyNzc4M2ZlLi5iMDY1NjMwYmY2NzIgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKPiBAQCAtMTQzNCw4ICsxNDM0 LDggQEAgc3RhdGljIGludCBpZ3RfcHBndHRfcGluX3VwZGF0ZSh2b2lkICphcmcpCj4gIAkgKiBo dWdlLWd0dC1wYWdlcy4KPiAgCSAqLwo+ICAKPiAtCWlmICghVVNFU19GVUxMXzQ4QklUX1BQR1RU KGRldl9wcml2KSkgewo+IC0JCXByX2luZm8oIjQ4YiBQUEdUVCBub3Qgc3VwcG9ydGVkLCBza2lw cGluZ1xuIik7Cj4gKwlpZiAoIVVTRVNfRlVMTF80TFZMX1BQR1RUKGRldl9wcml2KSkgewo+ICsJ CXByX2luZm8oIkV4dGVuZGVkIHJhbmdlIFBQR1RUIG5vdCBzdXBwb3J0ZWQsIHNraXBwaW5nXG4i KTsKPiAgCQlyZXR1cm4gMDsKPiAgCX0KPiAgCj4gQEAgLTE3MDgsOCArMTcwOCw4IEBAIGludCBp OTE1X2dlbV9odWdlX3BhZ2VfbW9ja19zZWxmdGVzdHModm9pZCkKPiAgCQlnb3RvIG91dF91bmxv Y2s7Cj4gIAl9Cj4gIAo+IC0JaWYgKCFpOTE1X3ZtX2lzXzQ4Yml0KCZwcGd0dC0+dm0pKSB7Cj4g LQkJcHJfZXJyKCJmYWlsZWQgdG8gY3JlYXRlIDQ4YiBQUEdUVFxuIik7Cj4gKwlpZiAoIWk5MTVf dm1faXNfNGx2bCgmcHBndHQtPnZtKSkgewo+ICsJCXByX2VycigiZmFpbGVkIHRvIGNyZWF0ZSBl eHRlbmRlZCBQUEdUVFxuIik7Cj4gIAkJZXJyID0gLUVJTlZBTDsKPiAgCQlnb3RvIG91dF9jbG9z ZTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21v Y2tfZ2VtX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2Vt X2RldmljZS5jCj4gaW5kZXggNDNlZDhiMjhhZWFhLi4zM2Q3MjI1ZWRiYmIgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gQEAg LTE4MSw2ICsxODEsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqbW9ja19nZW1fZGV2aWNl KHZvaWQpCj4gIAkJSTkxNV9HVFRfUEFHRV9TSVpFXzY0SyB8Cj4gIAkJSTkxNV9HVFRfUEFHRV9T SVpFXzJNOwo+ICAKPiArCW1rd3JpdGVfZGV2aWNlX2luZm8oaTkxNSktPmZ1bGxfcHBndHRfYml0 cyA9IDQ4Owo+ICsKPiAgCW1vY2tfdW5jb3JlX2luaXQoaTkxNSk7Cj4gIAlpOTE1X2dlbV9pbml0 X19tbShpOTE1KTsKPiAgCj4gLS0gCj4gMi4xNC40Cj4gCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=