From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC 4/7] drm/i915: Remove mkwrite_device_info Date: Tue, 13 Nov 2018 13:50:56 +0200 Message-ID: <878t1xgpr3.fsf@intel.com> References: <20181112171242.7640-1-tvrtko.ursulin@linux.intel.com> <20181112171242.7640-5-tvrtko.ursulin@linux.intel.com> <87bm6tgq0x.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 45A4B6E3AD for ; Tue, 13 Nov 2018 11:51:00 +0000 (UTC) In-Reply-To: <87bm6tgq0x.fsf@intel.com> 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 T24gVHVlLCAxMyBOb3YgMjAxOCwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4g d3JvdGU6Cj4gT24gTW9uLCAxMiBOb3YgMjAxOCwgVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1 bGluQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4+IEZyb206IFR2cnRrbyBVcnN1bGluIDx0dnJ0 a28udXJzdWxpbkBpbnRlbC5jb20+Cj4+Cj4+IE5vdyB0aGF0IHdlIGFyZSBkb3duIHRvIG9uZSBj YWxsZXIsIHdoaWNoIGRvZXMgbm90IGV2ZW4gbW9kaWZ5IGNvcGllZAo+PiBkZXZpY2UgaW5mbywg d2UgY2FuIHJlbW92ZSB0aGUgbWt3cml0ZV9kZXZpY2VfaW5mbyBoZWxwZXIgYW5kIGNvbnZlcnQg dGhlCj4+IGRldmljZSBpbmZvIHBvaW50ZXIgaXRzZWxmIHRvIGJlIGEgcG9pbnRlciB0byBzdGF0 aWMgdGFibGUgaW5zdGVhZCBvZiBhCj4+IGNvcHkuCj4+Cj4+IE9ubHkgdW5mb3J0bmF0ZSB0aGlu ZyBpcyB0aGF0IHdlIG5lZWQgdG8gY29udmVydCBhbGwgY2FsbHNpdGVzIHdoaWNoIHdlcmUKPj4g cmVmZXJlbmNpbmcgdGhlIGRldmljZSBpbmZvIGRpcmVjdGx5IHRvIHVzaW5nIHRoZSBJTlRFTF9J TkZPIGhlbHBlci4KPgo+IEknbSBub3Qgc3VyZSBpZiB0aGF0J3MgYWxsIHRoYXQgYmFkLiBXaGVu IEkgd2FzIHRveWluZyBhcm91bmQgd2l0aAo+IG1rd3JpdGVfZGV2aWNlX2luZm8gcmVtb3ZhbCwg SSBhY3R1YWxseSBzdGFydGVkIG9mZiB3aXRoIGNoYW5naW5nIGFsbAo+IGRldmljZSBpbmZvIHJl ZmVyZW5jZXMgdG8gSU5URUxfSU5GTy4gSXQncyBhIGJpZyBwYXRjaCwgYnV0IGl0IG5pY2VseQo+ IGNlbnRyYWxpemVzIG1hbnkgb2YgdGhlIG90aGVyIGNoYW5nZXMgaW5zdGVhZCBvZiBzcGxhdHRl cmluZyBhbGwgb3Zlcgo+IHRoZSBwbGFjZS4KPgo+IEknZCBhY3R1YWxseSBsaWtlIHRvIHNlZSBS VU5USU1FX0lORk8gb3Igc2ltaWxhciBtYWNybyBhcyB3ZWxsLCBqdXN0IHRvCj4gYmUgYWJsZSB0 byBjaGFuZ2UgdGhlIHdheSBpdCdzIGhhbmRsZWQgbGF0ZXIgb24uCgpPaCwgYW5kIGl0IHdvdWxk IGFjdHVhbGx5IGJlIHBvc3NpYmxlIHRvIHN0YXJ0IG9mZiB3aXRoIGEgUlVOVElNRV9JTkZPCm1h Y3JvIHRoYXQncyBqdXN0IElOVEVMX0lORk8sIGFuZCBjaGFuZ2UgYWxsIHVzZSBzaXRlcyBvZiBy dW50aW1lIGluZm8KZmlyc3QuIEV2ZXJ5dGhpbmcgc3RpbGwgcG9pbnRpbmcgYXQgdGhlIHNhbWUg cGxhY2UuIENvdWxkIHRoZW4gcHJvY2VlZAp3aXRoIGEgcnVudGltZSBjb3B5LCBhbmQgdGhlbiB3 aXRoIGFjdHVhbCBzcGxpdHRpbmcgb2ZmIG9mIHRoZSBzdHJ1Y3RzLgoKSnVzdCBmb29kIGZvciB0 aG91Z2h0LCBhbmQgZGVmaW5pdGVseSBub3QgYSByZXF1ZXN0IHRvIHJlc3RydWN0dXJlIHRoZQpz ZXJpZXMuIEJ1dCBpdCBtaWdodCBzaW1wbGlmeSBzb21lIG9mIHRoZSBzdGVwcy4KCkJSLApKYW5p LgoKCj4KPiBCUiwKPiBKYW5pLgo+Cj4KPj4KPj4gU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgo+PiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVs LmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAg IHwgICA5ICstCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwg MTA3ICsrKysrKy0tLS0tLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAg ICAgICAgfCAxOTAgKysrKysrKysrKystLS0tLS0tLS0tLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RldmljZV9pbmZvLmMgfCAgMTEgKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmggfCAgIDIgKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jICAgICAgfCAgIDIgKy0KPj4gIDYgZmlsZXMgY2hhbmdlZCwgMTUxIGluc2Vy dGlvbnMoKyksIDE3MCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4+ IGluZGV4IGJiZGQzNjExOWVhZS4uNzdkZDc3NjNiMzM0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKPj4gQEAgLTE2MjAsNyArMTYyMCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfd2VsY29t ZV9tZXNzYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAJaWYgKGRy bV9kZWJ1ZyAmIERSTV9VVF9EUklWRVIpIHsKPj4gIAkJc3RydWN0IGRybV9wcmludGVyIHAgPSBk cm1fZGVidWdfcHJpbnRlcigiaTkxNSBkZXZpY2UgaW5mbzoiKTsKPj4gIAo+PiAtCQlpbnRlbF9k ZXZpY2VfaW5mb19kdW1wKCZkZXZfcHJpdi0+aW5mbywgJnApOwo+PiArCQlpbnRlbF9kZXZpY2Vf aW5mb19kdW1wKGRldl9wcml2LCAmcCk7Cj4+ICAJCWludGVsX2RldmljZV9pbmZvX2R1bXBfcnVu dGltZSgmZGV2X3ByaXYtPnJ1bnRpbWVfaW5mbywgJnApOwo+PiAgCX0KPj4gIAo+PiBAQCAtMTYz OCw3ICsxNjM4LDcgQEAgaTkxNV9kcml2ZXJfY3JlYXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBj b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQo+PiAgCWNvbnN0IHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqbWF0Y2hfaW5mbyA9Cj4+ICAJCShzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g KillbnQtPmRyaXZlcl9kYXRhOwo+PiAgCXN0cnVjdCBpbnRlbF9ydW50aW1lX2RldmljZV9pbmZv ICpydW50aW1lX2luZm87Cj4+IC0Jc3RydWN0IGludGVsX2RldmljZV9pbmZvICpkZXZpY2VfaW5m bzsKPj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmRldmljZV9pbmZvOwo+PiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1Owo+PiAgCWludCBlcnI7Cj4+ICAKPj4gQEAg LTE2NTQsMTIgKzE2NTQsOSBAQCBpOTE1X2RyaXZlcl9jcmVhdGUoc3RydWN0IHBjaV9kZXYgKnBk ZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCj4+ICAKPj4gIAlpOTE1LT5kcm0u cGRldiA9IHBkZXY7Cj4+ICAJaTkxNS0+ZHJtLmRldl9wcml2YXRlID0gaTkxNTsKPj4gKwlpOTE1 LT5pbmZvID0gZGV2aWNlX2luZm8gPSBtYXRjaF9pbmZvOwo+PiAgCXBjaV9zZXRfZHJ2ZGF0YShw ZGV2LCAmaTkxNS0+ZHJtKTsKPj4gIAo+PiAtCS8qIFNldHVwIHRoZSB3cml0ZS1vbmNlICJjb25z dGFudCIgZGV2aWNlIGluZm8gKi8KPj4gLQlkZXZpY2VfaW5mbyA9IG1rd3JpdGVfZGV2aWNlX2lu Zm8oaTkxNSk7Cj4+IC0JbWVtY3B5KGRldmljZV9pbmZvLCBtYXRjaF9pbmZvLCBzaXplb2YoKmRl dmljZV9pbmZvKSk7Cj4+IC0KPj4gIAlCVUlMRF9CVUdfT04oSU5URUxfTUFYX1BMQVRGT1JNUyA+ Cj4+ICAJCSAgICAgQklUU19QRVJfVFlQRShkZXZpY2VfaW5mby0+cGxhdGZvcm1fbWFzaykpOwo+ PiAgCUJVR19PTihkZXZpY2VfaW5mby0+X19nZW4gPiBCSVRTX1BFUl9UWVBFKGRldmljZV9pbmZv LT5nZW5fbWFzaykpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggNGZhYmJjZDZj ZmIyLi43N2VmNDFkNTM1NTggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBAQCAt MTU4OCw3ICsxNTg4LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+PiAgCXN0cnVjdCBr bWVtX2NhY2hlICpkZXBlbmRlbmNpZXM7Cj4+ICAJc3RydWN0IGttZW1fY2FjaGUgKnByaW9yaXRp ZXM7Cj4+ICAKPj4gLQljb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW5mbzsKPj4gKwlj b25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm87Cj4+ICAJc3RydWN0IGludGVsX3J1 bnRpbWVfZGV2aWNlX2luZm8gcnVudGltZV9pbmZvOwo+PiAgCXN0cnVjdCBpbnRlbF9kcml2ZXJf Y2FwcyBjYXBzOwo+PiAgCj4+IEBAIC0yMzQ5LDEzICsyMzQ5LDcgQEAgc3RhdGljIGlubGluZSB1 bnNpZ25lZCBpbnQgaTkxNV9zZ19zZWdtZW50X3NpemUodm9pZCkKPj4gIAlyZXR1cm4gc2l6ZTsK Pj4gIH0KPj4gIAo+PiAtc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gKgo+PiAtaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4+IC17Cj4+IC0JcmV0dXJuICZkZXZfcHJpdi0+aW5mbzsKPj4gLX0KPj4gLQo+PiAtI2Rl ZmluZSBJTlRFTF9JTkZPKGRldl9wcml2KQlpbnRlbF9pbmZvKChkZXZfcHJpdikpCj4+ICsjZGVm aW5lIElOVEVMX0lORk8oZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvKQo+PiAgI2RlZmluZSBE UklWRVJfQ0FQUyhkZXZfcHJpdikJKCYoZGV2X3ByaXYpLT5jYXBzKQo+PiAgCj4+ICAjZGVmaW5l IElOVEVMX0dFTihkZXZfcHJpdikJKChkZXZfcHJpdiktPnJ1bnRpbWVfaW5mby5nZW4pCj4+IEBA IC0yMzcxLDcgKzIzNjUsNyBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPj4gIAo+PiAgLyogUmV0dXJucyB0cnVlIGlmIEdlbiBpcyBpbiBpbmNs dXNpdmUgcmFuZ2UgW1N0YXJ0LCBFbmRdICovCj4+ICAjZGVmaW5lIElTX0dFTihkZXZfcHJpdiwg cywgZSkgXAo+PiAtCSghISgoZGV2X3ByaXYpLT5pbmZvLmdlbl9tYXNrICYgSU5URUxfR0VOX01B U0soKHMpLCAoZSkpKSkKPj4gKwkoISEoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbl9tYXNrICYg SU5URUxfR0VOX01BU0soKHMpLCAoZSkpKSkKPj4gIAo+PiAgLyoKPj4gICAqIFJldHVybiB0cnVl IGlmIHJldmlzaW9uIGlzIGluIHJhbmdlIFtzaW5jZSx1bnRpbF0gaW5jbHVzaXZlLgo+PiBAQCAt MjM4MSw3ICsyMzc1LDcgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4+ICAjZGVmaW5lIElTX1JFVklEKHAsIHNpbmNlLCB1bnRpbCkgXAo+PiAg CShJTlRFTF9SRVZJRChwKSA+PSAoc2luY2UpICYmIElOVEVMX1JFVklEKHApIDw9ICh1bnRpbCkp Cj4+ICAKPj4gLSNkZWZpbmUgSVNfUExBVEZPUk0oZGV2X3ByaXYsIHApICgoZGV2X3ByaXYpLT5p bmZvLnBsYXRmb3JtX21hc2sgJiBCSVQocCkpCj4+ICsjZGVmaW5lIElTX1BMQVRGT1JNKGRldl9w cml2LCBwKSAoSU5URUxfSU5GTyhkZXZfcHJpdiktPnBsYXRmb3JtX21hc2sgJiBCSVQocCkpCj4+ ICAKPj4gICNkZWZpbmUgSVNfSTgzMChkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElO VEVMX0k4MzApCj4+ICAjZGVmaW5lIElTX0k4NDVHKGRldl9wcml2KQlJU19QTEFURk9STShkZXZf cHJpdiwgSU5URUxfSTg0NUcpCj4+IEBAIC0yNDAzLDcgKzIzOTcsNyBAQCBpbnRlbF9pbmZvKGNv bnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gICNkZWZpbmUgSVNfSVJP TkxBS0VfTShkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweDAwNDYpCj4+ICAj ZGVmaW5lIElTX0lWWUJSSURHRShkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVM X0lWWUJSSURHRSkKPj4gICNkZWZpbmUgSVNfSVZCX0dUMShkZXZfcHJpdikJKElTX0lWWUJSSURH RShkZXZfcHJpdikgJiYgXAo+PiAtCQkJCSAoZGV2X3ByaXYpLT5pbmZvLmd0ID09IDEpCj4+ICsJ CQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAxKQo+PiAgI2RlZmluZSBJU19WQUxMRVlW SUVXKGRldl9wcml2KQlJU19QTEFURk9STShkZXZfcHJpdiwgSU5URUxfVkFMTEVZVklFVykKPj4g ICNkZWZpbmUgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElO VEVMX0NIRVJSWVZJRVcpCj4+ICAjZGVmaW5lIElTX0hBU1dFTEwoZGV2X3ByaXYpCUlTX1BMQVRG T1JNKGRldl9wcml2LCBJTlRFTF9IQVNXRUxMKQo+PiBAQCAtMjQxNSw3ICsyNDA5LDcgQEAgaW50 ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAjZGVm aW5lIElTX0NPRkZFRUxBS0UoZGV2X3ByaXYpCUlTX1BMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9D T0ZGRUVMQUtFKQo+PiAgI2RlZmluZSBJU19DQU5OT05MQUtFKGRldl9wcml2KQlJU19QTEFURk9S TShkZXZfcHJpdiwgSU5URUxfQ0FOTk9OTEFLRSkKPj4gICNkZWZpbmUgSVNfSUNFTEFLRShkZXZf cHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0lDRUxBS0UpCj4+IC0jZGVmaW5lIElT X01PQklMRShkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaXNfbW9iaWxlKQo+PiArI2RlZmlu ZSBJU19NT0JJTEUoZGV2X3ByaXYpCShJTlRFTF9JTkZPKGRldl9wcml2KS0+aXNfbW9iaWxlKQo+ PiAgI2RlZmluZSBJU19IU1dfRUFSTFlfU0RWKGRldl9wcml2KSAoSVNfSEFTV0VMTChkZXZfcHJp dikgJiYgXAo+PiAgCQkJCSAgICAoSU5URUxfREVWSUQoZGV2X3ByaXYpICYgMHhGRjAwKSA9PSAw eDBDMDApCj4+ICAjZGVmaW5lIElTX0JEV19VTFQoZGV2X3ByaXYpCShJU19CUk9BRFdFTEwoZGV2 X3ByaXYpICYmIFwKPj4gQEAgLTI0MjYsMTEgKzI0MjAsMTEgQEAgaW50ZWxfaW5mbyhjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAjZGVmaW5lIElTX0JEV19VTFgo ZGV2X3ByaXYpCShJU19CUk9BRFdFTEwoZGV2X3ByaXYpICYmIFwKPj4gIAkJCQkgKElOVEVMX0RF VklEKGRldl9wcml2KSAmIDB4ZikgPT0gMHhlKQo+PiAgI2RlZmluZSBJU19CRFdfR1QzKGRldl9w cml2KQkoSVNfQlJPQURXRUxMKGRldl9wcml2KSAmJiBcCj4+IC0JCQkJIChkZXZfcHJpdiktPmlu Zm8uZ3QgPT0gMykKPj4gKwkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDMpCj4+ICAj ZGVmaW5lIElTX0hTV19VTFQoZGV2X3ByaXYpCShJU19IQVNXRUxMKGRldl9wcml2KSAmJiBcCj4+ ICAJCQkJIChJTlRFTF9ERVZJRChkZXZfcHJpdikgJiAweEZGMDApID09IDB4MEEwMCkKPj4gICNk ZWZpbmUgSVNfSFNXX0dUMyhkZXZfcHJpdikJKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIFwKPj4g LQkJCQkgKGRldl9wcml2KS0+aW5mby5ndCA9PSAzKQo+PiArCQkJCSBJTlRFTF9JTkZPKGRldl9w cml2KS0+Z3QgPT0gMykKPj4gIC8qIFVMWCBtYWNoaW5lcyBhcmUgYWxzbyBjb25zaWRlcmVkIFVM VC4gKi8KPj4gICNkZWZpbmUgSVNfSFNXX1VMWChkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9w cml2KSA9PSAweDBBMEUgfHwgXAo+PiAgCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgw QTFFKQo+PiBAQCAtMjQ1MywyMSArMjQ0NywyMSBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gICNkZWZpbmUgSVNfQU1MX1VMWChkZXZfcHJp dikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweDU5MUMgfHwgXAo+PiAgCQkJCSBJTlRFTF9E RVZJRChkZXZfcHJpdikgPT0gMHg4N0MwKQo+PiAgI2RlZmluZSBJU19TS0xfR1QyKGRldl9wcml2 KQkoSVNfU0tZTEFLRShkZXZfcHJpdikgJiYgXAo+PiAtCQkJCSAoZGV2X3ByaXYpLT5pbmZvLmd0 ID09IDIpCj4+ICsJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAyKQo+PiAgI2RlZmlu ZSBJU19TS0xfR1QzKGRldl9wcml2KQkoSVNfU0tZTEFLRShkZXZfcHJpdikgJiYgXAo+PiAtCQkJ CSAoZGV2X3ByaXYpLT5pbmZvLmd0ID09IDMpCj4+ICsJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYp LT5ndCA9PSAzKQo+PiAgI2RlZmluZSBJU19TS0xfR1Q0KGRldl9wcml2KQkoSVNfU0tZTEFLRShk ZXZfcHJpdikgJiYgXAo+PiAtCQkJCSAoZGV2X3ByaXYpLT5pbmZvLmd0ID09IDQpCj4+ICsJCQkJ IElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSA0KQo+PiAgI2RlZmluZSBJU19LQkxfR1QyKGRl dl9wcml2KQkoSVNfS0FCWUxBS0UoZGV2X3ByaXYpICYmIFwKPj4gLQkJCQkgKGRldl9wcml2KS0+ aW5mby5ndCA9PSAyKQo+PiArCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMikKPj4g ICNkZWZpbmUgSVNfS0JMX0dUMyhkZXZfcHJpdikJKElTX0tBQllMQUtFKGRldl9wcml2KSAmJiBc Cj4+IC0JCQkJIChkZXZfcHJpdiktPmluZm8uZ3QgPT0gMykKPj4gKwkJCQkgSU5URUxfSU5GTyhk ZXZfcHJpdiktPmd0ID09IDMpCj4+ICAjZGVmaW5lIElTX0NGTF9VTFQoZGV2X3ByaXYpCShJU19D T0ZGRUVMQUtFKGRldl9wcml2KSAmJiBcCj4+ICAJCQkJIChJTlRFTF9ERVZJRChkZXZfcHJpdikg JiAweDAwRjApID09IDB4MDBBMCkKPj4gICNkZWZpbmUgSVNfQ0ZMX0dUMihkZXZfcHJpdikJKElT X0NPRkZFRUxBS0UoZGV2X3ByaXYpICYmIFwKPj4gLQkJCQkgKGRldl9wcml2KS0+aW5mby5ndCA9 PSAyKQo+PiArCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMikKPj4gICNkZWZpbmUg SVNfQ0ZMX0dUMyhkZXZfcHJpdikJKElTX0NPRkZFRUxBS0UoZGV2X3ByaXYpICYmIFwKPj4gLQkJ CQkgKGRldl9wcml2KS0+aW5mby5ndCA9PSAzKQo+PiArCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2 KS0+Z3QgPT0gMykKPj4gICNkZWZpbmUgSVNfQ05MX1dJVEhfUE9SVF9GKGRldl9wcml2KSAgIChJ U19DQU5OT05MQUtFKGRldl9wcml2KSAmJiBcCj4+ICAJCQkJCShJTlRFTF9ERVZJRChkZXZfcHJp dikgJiAweDAwMDQpID09IDB4MDAwNCkKPj4gIAo+PiBAQCAtMjUzMCwxNiArMjUyNCwxNiBAQCBp bnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gICAq IGhhdmUgdGhlaXIgb3duIChlLmcuIEhBU19QQ0hfU1BMSVQgZm9yIElMSysgZGlzcGxheSwgSVNf Zm9vIGZvciBwYXJ0aWN1bGFyCj4+ICAgKiBjaGlwcywgZXRjLikuCj4+ICAgKi8KPj4gLSNkZWZp bmUgSVNfR0VOMihkZXZfcHJpdikJKCEhKChkZXZfcHJpdiktPmluZm8uZ2VuX21hc2sgJiBCSVQo MSkpKQo+PiAtI2RlZmluZSBJU19HRU4zKGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5n ZW5fbWFzayAmIEJJVCgyKSkpCj4+IC0jZGVmaW5lIElTX0dFTjQoZGV2X3ByaXYpCSghISgoZGV2 X3ByaXYpLT5pbmZvLmdlbl9tYXNrICYgQklUKDMpKSkKPj4gLSNkZWZpbmUgSVNfR0VONShkZXZf cHJpdikJKCEhKChkZXZfcHJpdiktPmluZm8uZ2VuX21hc2sgJiBCSVQoNCkpKQo+PiAtI2RlZmlu ZSBJU19HRU42KGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5nZW5fbWFzayAmIEJJVCg1 KSkpCj4+IC0jZGVmaW5lIElTX0dFTjcoZGV2X3ByaXYpCSghISgoZGV2X3ByaXYpLT5pbmZvLmdl bl9tYXNrICYgQklUKDYpKSkKPj4gLSNkZWZpbmUgSVNfR0VOOChkZXZfcHJpdikJKCEhKChkZXZf cHJpdiktPmluZm8uZ2VuX21hc2sgJiBCSVQoNykpKQo+PiAtI2RlZmluZSBJU19HRU45KGRldl9w cml2KQkoISEoKGRldl9wcml2KS0+aW5mby5nZW5fbWFzayAmIEJJVCg4KSkpCj4+IC0jZGVmaW5l IElTX0dFTjEwKGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5nZW5fbWFzayAmIEJJVCg5 KSkpCj4+IC0jZGVmaW5lIElTX0dFTjExKGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5n ZW5fbWFzayAmIEJJVCgxMCkpKQo+PiArI2RlZmluZSBJU19HRU4yKGRldl9wcml2KQkoISEoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmdlbl9tYXNrICYgQklUKDEpKSkKPj4gKyNkZWZpbmUgSVNfR0VO MyhkZXZfcHJpdikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCgyKSkp Cj4+ICsjZGVmaW5lIElTX0dFTjQoZGV2X3ByaXYpCSghIShJTlRFTF9JTkZPKGRldl9wcml2KS0+ Z2VuX21hc2sgJiBCSVQoMykpKQo+PiArI2RlZmluZSBJU19HRU41KGRldl9wcml2KQkoISEoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmdlbl9tYXNrICYgQklUKDQpKSkKPj4gKyNkZWZpbmUgSVNfR0VO NihkZXZfcHJpdikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCg1KSkp Cj4+ICsjZGVmaW5lIElTX0dFTjcoZGV2X3ByaXYpCSghIShJTlRFTF9JTkZPKGRldl9wcml2KS0+ Z2VuX21hc2sgJiBCSVQoNikpKQo+PiArI2RlZmluZSBJU19HRU44KGRldl9wcml2KQkoISEoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmdlbl9tYXNrICYgQklUKDcpKSkKPj4gKyNkZWZpbmUgSVNfR0VO OShkZXZfcHJpdikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCg4KSkp Cj4+ICsjZGVmaW5lIElTX0dFTjEwKGRldl9wcml2KQkoISEoSU5URUxfSU5GTyhkZXZfcHJpdikt Pmdlbl9tYXNrICYgQklUKDkpKSkKPj4gKyNkZWZpbmUgSVNfR0VOMTEoZGV2X3ByaXYpCSghIShJ TlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuX21hc2sgJiBCSVQoMTApKSkKPj4gIAo+PiAgI2RlZmlu ZSBJU19MUChkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5pc19scCkKPj4gICNkZWZp bmUgSVNfR0VOOV9MUChkZXZfcHJpdikJKElTX0dFTjkoZGV2X3ByaXYpICYmIElTX0xQKGRldl9w cml2KSkKPj4gQEAgLTI1NjYsMjAgKzI1NjAsMjAgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAKPj4gICNkZWZpbmUgSEFTX0xFR0FDWV9T RU1BUEhPUkVTKGRldl9wcml2KSBJU19HRU43KGRldl9wcml2KQo+PiAgCj4+IC0jZGVmaW5lIEhB U19MTEMoZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19sbGMpCj4+IC0jZGVmaW5lIEhB U19TTk9PUChkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX3Nub29wKQo+PiArI2RlZmlu ZSBIQVNfTExDKGRldl9wcml2KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19sbGMpCj4+ICsj ZGVmaW5lIEhBU19TTk9PUChkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfc25v b3ApCj4+ICAjZGVmaW5lIEhBU19FRFJBTShkZXZfcHJpdikJKCEhKChkZXZfcHJpdiktPmVkcmFt X2NhcCAmIEVEUkFNX0VOQUJMRUQpKQo+PiAgI2RlZmluZSBIQVNfV1QoZGV2X3ByaXYpCSgoSVNf SEFTV0VMTChkZXZfcHJpdikgfHwgXAo+PiAgCQkJCSBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSAm JiBIQVNfRURSQU0oZGV2X3ByaXYpKQo+PiAgCj4+IC0jZGVmaW5lIEhXU19ORUVEU19QSFlTSUNB TChkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaHdzX25lZWRzX3BoeXNpY2FsKQo+PiArI2Rl ZmluZSBIV1NfTkVFRFNfUEhZU0lDQUwoZGV2X3ByaXYpCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ aHdzX25lZWRzX3BoeXNpY2FsKQo+PiAgCj4+ICAjZGVmaW5lIEhBU19MT0dJQ0FMX1JJTkdfQ09O VEVYVFMoZGV2X3ByaXYpIFwKPj4gLQkJKChkZXZfcHJpdiktPmluZm8uaGFzX2xvZ2ljYWxfcmlu Z19jb250ZXh0cykKPj4gKwkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfbG9naWNhbF9yaW5n X2NvbnRleHRzKQo+PiAgI2RlZmluZSBIQVNfTE9HSUNBTF9SSU5HX0VMU1EoZGV2X3ByaXYpIFwK Pj4gLQkJKChkZXZfcHJpdiktPmluZm8uaGFzX2xvZ2ljYWxfcmluZ19lbHNxKQo+PiArCQkoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmhhc19sb2dpY2FsX3JpbmdfZWxzcSkKPj4gICNkZWZpbmUgSEFT X0xPR0lDQUxfUklOR19QUkVFTVBUSU9OKGRldl9wcml2KSBcCj4+IC0JCSgoZGV2X3ByaXYpLT5p bmZvLmhhc19sb2dpY2FsX3JpbmdfcHJlZW1wdGlvbikKPj4gKwkJKElOVEVMX0lORk8oZGV2X3By aXYpLT5oYXNfbG9naWNhbF9yaW5nX3ByZWVtcHRpb24pCj4+ICAKPj4gICNkZWZpbmUgSEFTX0VY RUNMSVNUUyhkZXZfcHJpdikgSEFTX0xPR0lDQUxfUklOR19DT05URVhUUyhkZXZfcHJpdikKPj4g IAo+PiBAQCAtMjU5Niw5ICsyNTkwLDkgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAJKChzaXplcykgJiB+KGRldl9wcml2KS0+cnVudGlt ZV9pbmZvLnBhZ2Vfc2l6ZXMpID09IDA7IFwKPj4gIH0pCj4+ICAKPj4gLSNkZWZpbmUgSEFTX09W RVJMQVkoZGV2X3ByaXYpCQkgKChkZXZfcHJpdiktPmluZm8uaGFzX292ZXJsYXkpCj4+ICsjZGVm aW5lIEhBU19PVkVSTEFZKGRldl9wcml2KQkJIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX292 ZXJsYXkpCj4+ICAjZGVmaW5lIE9WRVJMQVlfTkVFRFNfUEhZU0lDQUwoZGV2X3ByaXYpIFwKPj4g LQkJKChkZXZfcHJpdiktPmluZm8ub3ZlcmxheV9uZWVkc19waHlzaWNhbCkKPj4gKwkJKElOVEVM X0lORk8oZGV2X3ByaXYpLT5vdmVybGF5X25lZWRzX3BoeXNpY2FsKQo+PiAgCj4+ICAvKiBFYXJs eSBnZW4yIGhhdmUgYSB0b3RhbGx5IGJ1c3RlZCBDUyB0bGIgYW5kIHJlcXVpcmUgcGlubmVkIGJh dGNoZXMuICovCj4+ICAjZGVmaW5lIEhBU19CUk9LRU5fQ1NfVExCKGRldl9wcml2KQkoSVNfSTgz MChkZXZfcHJpdikgfHwgSVNfSTg0NUcoZGV2X3ByaXYpKQo+PiBAQCAtMjYxOSw4ICsyNjEzLDgg QEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ ICAjZGVmaW5lIEhBU18xMjhfQllURV9ZX1RJTElORyhkZXZfcHJpdikgKCFJU19HRU4yKGRldl9w cml2KSAmJiBcCj4+ICAJCQkJCSAhKElTX0k5MTVHKGRldl9wcml2KSB8fCBcCj4+ICAJCQkJCSBJ U19JOTE1R00oZGV2X3ByaXYpKSkKPj4gLSNkZWZpbmUgU1VQUE9SVFNfVFYoZGV2X3ByaXYpCQko KGRldl9wcml2KS0+aW5mby5zdXBwb3J0c190dikKPj4gLSNkZWZpbmUgSTkxNV9IQVNfSE9UUExV RyhkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2hvdHBsdWcpCj4+ICsjZGVmaW5lIFNV UFBPUlRTX1RWKGRldl9wcml2KQkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5zdXBwb3J0c190dikK Pj4gKyNkZWZpbmUgSTkxNV9IQVNfSE9UUExVRyhkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3By aXYpLT5oYXNfaG90cGx1ZykKPj4gIAo+PiAgI2RlZmluZSBIQVNfRldfQkxDKGRldl9wcml2KSAJ KElOVEVMX0dFTihkZXZfcHJpdikgPiAyKQo+PiAgI2RlZmluZSBIQVNfRkJDKGRldl9wcml2KQko KGRldl9wcml2KS0+cnVudGltZV9pbmZvLmhhc19mYmMpCj4+IEBAIC0yNjI4LDMwICsyNjIyLDMw IEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ PiAgCj4+ICAjZGVmaW5lIEhBU19JUFMoZGV2X3ByaXYpCShJU19IU1dfVUxUKGRldl9wcml2KSB8 fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQo+PiAgCj4+IC0jZGVmaW5lIEhBU19EUF9NU1QoZGV2 X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19kcF9tc3QpCj4+ICsjZGVmaW5lIEhBU19EUF9N U1QoZGV2X3ByaXYpCShJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX2RwX21zdCkKPj4gIAo+PiAt I2RlZmluZSBIQVNfRERJKGRldl9wcml2KQkJICgoZGV2X3ByaXYpLT5pbmZvLmhhc19kZGkpCj4+ IC0jZGVmaW5lIEhBU19GUEdBX0RCR19VTkNMQUlNRUQoZGV2X3ByaXYpICgoZGV2X3ByaXYpLT5p bmZvLmhhc19mcGdhX2RiZykKPj4gLSNkZWZpbmUgSEFTX1BTUihkZXZfcHJpdikJCSAoKGRldl9w cml2KS0+aW5mby5oYXNfcHNyKQo+PiArI2RlZmluZSBIQVNfRERJKGRldl9wcml2KQkJIChJTlRF TF9JTkZPKGRldl9wcml2KS0+aGFzX2RkaSkKPj4gKyNkZWZpbmUgSEFTX0ZQR0FfREJHX1VOQ0xB SU1FRChkZXZfcHJpdikgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfZnBnYV9kYmcpCj4+ICsj ZGVmaW5lIEhBU19QU1IoZGV2X3ByaXYpCQkgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfcHNy KQo+PiAgCj4+ICAjZGVmaW5lIEhBU19SQzYoZGV2X3ByaXYpCQkgKChkZXZfcHJpdiktPnJ1bnRp bWVfaW5mby5oYXNfcmM2KQo+PiAgI2RlZmluZSBIQVNfUkM2cChkZXZfcHJpdikJCSAoKGRldl9w cml2KS0+cnVudGltZV9pbmZvLmhhc19yYzZwKQo+PiAgI2RlZmluZSBIQVNfUkM2cHAoZGV2X3By aXYpCQkgKGZhbHNlKSAvKiBIVyB3YXMgbmV2ZXIgdmFsaWRhdGVkICovCj4+ICAKPj4gLSNkZWZp bmUgSEFTX0NTUihkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2NzcikKPj4gKyNkZWZp bmUgSEFTX0NTUihkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfY3NyKQo+PiAg Cj4+IC0jZGVmaW5lIEhBU19SVU5USU1FX1BNKGRldl9wcml2KSAoKGRldl9wcml2KS0+aW5mby5o YXNfcnVudGltZV9wbSkKPj4gLSNkZWZpbmUgSEFTXzY0QklUX1JFTE9DKGRldl9wcml2KSAoKGRl dl9wcml2KS0+aW5mby5oYXNfNjRiaXRfcmVsb2MpCj4+ICsjZGVmaW5lIEhBU19SVU5USU1FX1BN KGRldl9wcml2KSAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19ydW50aW1lX3BtKQo+PiArI2Rl ZmluZSBIQVNfNjRCSVRfUkVMT0MoZGV2X3ByaXYpIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFz XzY0Yml0X3JlbG9jKQo+PiAgCj4+IC0jZGVmaW5lIEhBU19JUEMoZGV2X3ByaXYpCQkgKChkZXZf cHJpdiktPmluZm8uaGFzX2lwYykKPj4gKyNkZWZpbmUgSEFTX0lQQyhkZXZfcHJpdikJCSAoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmhhc19pcGMpCj4+ICAKPj4gIC8qCj4+ICAgKiBGb3Igbm93LCBh bnl0aGluZyB3aXRoIGEgR3VDIHJlcXVpcmVzIHVDb2RlIGxvYWRpbmcsIGFuZCB0aGVuIHN1cHBv cnRzCj4+ICAgKiBjb21tYW5kIHN1Ym1pc3Npb24gb25jZSBsb2FkZWQuIEJ1dCB0aGVzZSBhcmUg bG9naWNhbGx5IGluZGVwZW5kZW50Cj4+ICAgKiBwcm9wZXJ0aWVzLCBzbyB3ZSBoYXZlIHNlcGFy YXRlIG1hY3JvcyB0byB0ZXN0IHRoZW0uCj4+ICAgKi8KPj4gLSNkZWZpbmUgSEFTX0dVQyhkZXZf cHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2d1YykKPj4gLSNkZWZpbmUgSEFTX0dVQ19DVChk ZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2d1Y19jdCkKPj4gKyNkZWZpbmUgSEFTX0dV QyhkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfZ3VjKQo+PiArI2RlZmluZSBI QVNfR1VDX0NUKGRldl9wcml2KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19ndWNfY3QpCj4+ ICAjZGVmaW5lIEhBU19HVUNfVUNPREUoZGV2X3ByaXYpCShIQVNfR1VDKGRldl9wcml2KSkKPj4g ICNkZWZpbmUgSEFTX0dVQ19TQ0hFRChkZXZfcHJpdikJKEhBU19HVUMoZGV2X3ByaXYpKQo+PiAg Cj4+IEBAIC0yNzA0LDEyICsyNjk4LDEyIEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiAgI2RlZmluZSBIQVNfUENIX05PUChkZXZfcHJpdikg KElOVEVMX1BDSF9UWVBFKGRldl9wcml2KSA9PSBQQ0hfTk9QKQo+PiAgI2RlZmluZSBIQVNfUENI X1NQTElUKGRldl9wcml2KSAoSU5URUxfUENIX1RZUEUoZGV2X3ByaXYpICE9IFBDSF9OT05FKQo+ PiAgCj4+IC0jZGVmaW5lIEhBU19HTUNIX0RJU1BMQVkoZGV2X3ByaXYpICgoZGV2X3ByaXYpLT5p bmZvLmhhc19nbWNoX2Rpc3BsYXkpCj4+ICsjZGVmaW5lIEhBU19HTUNIX0RJU1BMQVkoZGV2X3By aXYpIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX2dtY2hfZGlzcGxheSkKPj4gIAo+PiAgI2Rl ZmluZSBIQVNfTFNQQ09OKGRldl9wcml2KSAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+PiAg Cj4+ICAvKiBEUEYgPT0gZHluYW1pYyBwYXJpdHkgZmVhdHVyZSAqLwo+PiAtI2RlZmluZSBIQVNf TDNfRFBGKGRldl9wcml2KSAoKGRldl9wcml2KS0+aW5mby5oYXNfbDNfZHBmKQo+PiArI2RlZmlu ZSBIQVNfTDNfRFBGKGRldl9wcml2KSAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19sM19kcGYp Cj4+ICAjZGVmaW5lIE5VTV9MM19TTElDRVMoZGV2X3ByaXYpIChJU19IU1dfR1QzKGRldl9wcml2 KSA/IFwKPj4gIAkJCQkgMiA6IEhBU19MM19EUEYoZGV2X3ByaXYpKQo+PiAgCj4+IEBAIC0zNDY1 LDEzICszNDU5LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGludGVsX3JlZ2lzdGVyX2RzbV9oYW5k bGVyKHZvaWQpIHsgcmV0dXJuOyB9Cj4+ICBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfdW5yZWdp c3Rlcl9kc21faGFuZGxlcih2b2lkKSB7IHJldHVybjsgfQo+PiAgI2VuZGlmIC8qIENPTkZJR19B Q1BJICovCj4+ICAKPj4gLS8qIGludGVsX2RldmljZV9pbmZvLmMgKi8KPj4gLXN0YXRpYyBpbmxp bmUgc3RydWN0IGludGVsX2RldmljZV9pbmZvICoKPj4gLW1rd3JpdGVfZGV2aWNlX2luZm8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiAtewo+PiAtCXJldHVybiAoc3RydWN0 IGludGVsX2RldmljZV9pbmZvICopJmRldl9wcml2LT5pbmZvOwo+PiAtfQo+PiAtCj4+ICAvKiBt b2Rlc2V0dGluZyAqLwo+PiAgZXh0ZXJuIHZvaWQgaW50ZWxfbW9kZXNldF9pbml0X2h3KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+PiAgZXh0ZXJuIGludCBpbnRlbF9tb2Rlc2V0X2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBpbmRleCBm ZTRiOTEzZTQ2YWMuLjRjMGU1YjYyZTdmYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4+IEBAIC0xNzksMTUgKzE3OSwxNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlvX3Jl Z192YWxpZChpOTE1X3JlZ190IHJlZykKPj4gICAqIERldmljZSBpbmZvIG9mZnNldCBhcnJheSBi YXNlZCBoZWxwZXJzIGZvciBncm91cHMgb2YgcmVnaXN0ZXJzIHdpdGggdW5ldmVubHkKPj4gICAq IHNwYWNlZCBiYXNlIG9mZnNldHMuCj4+ICAgKi8KPj4gLSNkZWZpbmUgX01NSU9fUElQRTIocGlw ZSwgcmVnKQkJX01NSU8oZGV2X3ByaXYtPmluZm8ucGlwZV9vZmZzZXRzW3BpcGVdIC0gXAo+PiAt CQkJCQkgICAgICBkZXZfcHJpdi0+aW5mby5waXBlX29mZnNldHNbUElQRV9BXSArIChyZWcpICsg XAo+PiAtCQkJCQkgICAgICBkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0KQo+PiAt I2RlZmluZSBfTU1JT19UUkFOUzIocGlwZSwgcmVnKQkJX01NSU8oZGV2X3ByaXYtPmluZm8udHJh bnNfb2Zmc2V0c1socGlwZSldIC0gXAo+PiAtCQkJCQkgICAgICBkZXZfcHJpdi0+aW5mby50cmFu c19vZmZzZXRzW1RSQU5TQ09ERVJfQV0gKyAocmVnKSArIFwKPj4gLQkJCQkJICAgICAgZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCkKPj4gLSNkZWZpbmUgX0NVUlNPUjIocGlwZSwg cmVnKQkJX01NSU8oZGV2X3ByaXYtPmluZm8uY3Vyc29yX29mZnNldHNbKHBpcGUpXSAtIFwKPj4g LQkJCQkJICAgICAgZGV2X3ByaXYtPmluZm8uY3Vyc29yX29mZnNldHNbUElQRV9BXSArIChyZWcp ICsgXAo+PiAtCQkJCQkgICAgICBkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0KQo+ PiArI2RlZmluZSBfTU1JT19QSVBFMihwaXBlLCByZWcpCQlfTU1JTyhJTlRFTF9JTkZPKGRldl9w cml2KS0+cGlwZV9vZmZzZXRzW3BpcGVdIC0gXAo+PiArCQkJCQkgICAgICBJTlRFTF9JTkZPKGRl dl9wcml2KS0+cGlwZV9vZmZzZXRzW1BJUEVfQV0gKyAocmVnKSArIFwKPj4gKwkJCQkJICAgICAg SU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQpCj4+ICsjZGVmaW5lIF9N TUlPX1RSQU5TMihwaXBlLCByZWcpCQlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+dHJhbnNf b2Zmc2V0c1socGlwZSldIC0gXAo+PiArCQkJCQkgICAgICBJTlRFTF9JTkZPKGRldl9wcml2KS0+ dHJhbnNfb2Zmc2V0c1tUUkFOU0NPREVSX0FdICsgKHJlZykgKyBcCj4+ICsJCQkJCSAgICAgIElO VEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0KQo+PiArI2RlZmluZSBfQ1VS U09SMihwaXBlLCByZWcpCQlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+Y3Vyc29yX29mZnNl dHNbKHBpcGUpXSAtIFwKPj4gKwkJCQkJICAgICAgSU5URUxfSU5GTyhkZXZfcHJpdiktPmN1cnNv cl9vZmZzZXRzW1BJUEVfQV0gKyAocmVnKSArIFwKPj4gKwkJCQkJICAgICAgSU5URUxfSU5GTyhk ZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQpCj4+ICAKPj4gICNkZWZpbmUgX19NQVNLRURf RklFTEQobWFzaywgdmFsdWUpICgobWFzaykgPDwgMTYgfCAodmFsdWUpKQo+PiAgI2RlZmluZSBf TUFTS0VEX0ZJRUxEKG1hc2ssIHZhbHVlKSAoewkJCQkJICAgXAo+PiBAQCAtMzE1Myw5ICszMTUz LDkgQEAgZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgewo+PiAgLyoKPj4gICAqIENsb2NrIGNvbnRy b2wgJiBwb3dlciBtYW5hZ2VtZW50Cj4+ICAgKi8KPj4gLSNkZWZpbmUgX0RQTExfQSAoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAxNCkKPj4gLSNkZWZpbmUgX0RQTExf QiAoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAxOCkKPj4gLSNkZWZp bmUgX0NIVl9EUExMX0MgKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYw MzApCj4+ICsjZGVmaW5lIF9EUExMX0EgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2MDE0KQo+PiArI2RlZmluZSBfRFBMTF9CIChJTlRFTF9JTkZPKGRldl9w cml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAxOCkKPj4gKyNkZWZpbmUgX0NIVl9EUExM X0MgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDMwKQo+ PiAgI2RlZmluZSBEUExMKHBpcGUpIF9NTUlPX1BJUEUzKChwaXBlKSwgX0RQTExfQSwgX0RQTExf QiwgX0NIVl9EUExMX0MpCj4+ICAKPj4gICNkZWZpbmUgVkdBMAlfTU1JTygweDYwMDApCj4+IEBA IC0zMjUyLDkgKzMyNTIsOSBAQCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7Cj4+ICAjZGVmaW5l ICAgU0RWT19NVUxUSVBMSUVSX1NISUZUX0hJUkVTCQk0Cj4+ICAjZGVmaW5lICAgU0RWT19NVUxU SVBMSUVSX1NISUZUX1ZHQQkJMAo+PiAgCj4+IC0jZGVmaW5lIF9EUExMX0FfTUQgKGRldl9wcml2 LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYwMWMpCj4+IC0jZGVmaW5lIF9EUExMX0Jf TUQgKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYwMjApCj4+IC0jZGVm aW5lIF9DSFZfRFBMTF9DX01EIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2MDNjKQo+PiArI2RlZmluZSBfRFBMTF9BX01EIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjAxYykKPj4gKyNkZWZpbmUgX0RQTExfQl9NRCAoSU5URUxf SU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYwMjApCj4+ICsjZGVmaW5l IF9DSFZfRFBMTF9DX01EIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjAzYykKPj4gICNkZWZpbmUgRFBMTF9NRChwaXBlKSBfTU1JT19QSVBFMygocGlwZSks IF9EUExMX0FfTUQsIF9EUExMX0JfTUQsIF9DSFZfRFBMTF9DX01EKQo+PiAgCj4+ICAvKgo+PiBA QCAtMzMyNiw3ICszMzI2LDcgQEAgZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgewo+PiAgI2RlZmlu ZSAgRFNUQVRFX1BMTF9EM19PRkYJCQkoMSA8PCAzKQo+PiAgI2RlZmluZSAgRFNUQVRFX0dGWF9D TE9DS19HQVRJTkcJCSgxIDw8IDEpCj4+ICAjZGVmaW5lICBEU1RBVEVfRE9UX0NMT0NLX0dBVElO RwkJKDEgPDwgMCkKPj4gLSNkZWZpbmUgRFNQQ0xLX0dBVEVfRAlfTU1JTyhkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MjAwKQo+PiArI2RlZmluZSBEU1BDTEtfR0FURV9E CV9NTUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MjAw KQo+PiAgIyBkZWZpbmUgRFBVTklUX0JfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCAzMCkgLyog OTY1ICovCj4+ICAjIGRlZmluZSBWU1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCAyOSkg LyogOTY1ICovCj4+ICAjIGRlZmluZSBWUkhVTklUX0NMT0NLX0dBVEVfRElTQUJMRQkJKDEgPDwg MjgpIC8qIDk2NSAqLwo+PiBAQCAtMzQ2Niw3ICszNDY2LDcgQEAgZW51bSBpOTE1X3Bvd2VyX3dl bGxfaWQgewo+PiAgI2RlZmluZSBfUEFMRVRURV9BCQkweGEwMDAKPj4gICNkZWZpbmUgX1BBTEVU VEVfQgkJMHhhODAwCj4+ICAjZGVmaW5lIF9DSFZfUEFMRVRURV9DCQkweGMwMDAKPj4gLSNkZWZp bmUgUEFMRVRURShwaXBlLCBpKQlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zm c2V0ICsgXAo+PiArI2RlZmluZSBQQUxFVFRFKHBpcGUsIGkpCV9NTUlPKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgXAo+PiAgCQkJCSAgICAgIF9QSUNLKChwaXBl KSwgX1BBTEVUVEVfQSwJCVwKPj4gIAkJCQkJICAgIF9QQUxFVFRFX0IsIF9DSFZfUEFMRVRURV9D KSArIFwKPj4gIAkJCQkgICAgICAoaSkgKiA0KQo+PiBAQCAtNDI5NSw3ICs0Mjk1LDcgQEAgZW51 bSB7Cj4+ICAKPj4gIAo+PiAgLyogSG90cGx1ZyBjb250cm9sICg5NDUrIG9ubHkpICovCj4+IC0j ZGVmaW5lIFBPUlRfSE9UUExVR19FTgkJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjExMTApCj4+ICsjZGVmaW5lIFBPUlRfSE9UUExVR19FTgkJX01NSU8oSU5U RUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMTEwKQo+PiAgI2Rl ZmluZSAgIFBPUlRCX0hPVFBMVUdfSU5UX0VOCQkJKDEgPDwgMjkpCj4+ICAjZGVmaW5lICAgUE9S VENfSE9UUExVR19JTlRfRU4JCQkoMSA8PCAyOCkKPj4gICNkZWZpbmUgICBQT1JURF9IT1RQTFVH X0lOVF9FTgkJCSgxIDw8IDI3KQo+PiBAQCAtNDMyNSw3ICs0MzI1LDcgQEAgZW51bSB7Cj4+ICAj ZGVmaW5lIENSVF9IT1RQTFVHX0RFVEVDVF9WT0xUQUdFXzMyNU1WCSgwIDw8IDIpCj4+ICAjZGVm aW5lIENSVF9IT1RQTFVHX0RFVEVDVF9WT0xUQUdFXzQ3NU1WCSgxIDw8IDIpCj4+ICAKPj4gLSNk ZWZpbmUgUE9SVF9IT1RQTFVHX1NUQVQJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjExMTQpCj4+ICsjZGVmaW5lIFBPUlRfSE9UUExVR19TVEFUCV9NTUlPKElO VEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTExNCkKPj4gIC8q Cj4+ICAgKiBIRE1JL0RQIGJpdHMgYXJlIGc0eCsKPj4gICAqCj4+IEBAIC00NDA3LDcgKzQ0MDcs NyBAQCBlbnVtIHsKPj4gIAo+PiAgI2RlZmluZSBQT1JUX0RGVF9JOVhYCQkJCV9NTUlPKDB4NjEx NTApCj4+ICAjZGVmaW5lICAgRENfQkFMQU5DRV9SRVNFVAkJCSgxIDw8IDI1KQo+PiAtI2RlZmlu ZSBQT1JUX0RGVDJfRzRYCQlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2MTE1NCkKPj4gKyNkZWZpbmUgUE9SVF9ERlQyX0c0WAkJX01NSU8oSU5URUxfSU5GTyhk ZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMTU0KQo+PiAgI2RlZmluZSAgIERD X0JBTEFOQ0VfUkVTRVRfVkxWCQkJKDEgPDwgMzEpCj4+ICAjZGVmaW5lICAgUElQRV9TQ1JBTUJM RV9SRVNFVF9NQVNLCQkoKDEgPDwgMTQpIHwgKDB4MyA8PCAwKSkKPj4gICNkZWZpbmUgICBQSVBF X0NfU0NSQU1CTEVfUkVTRVQJCQkoMSA8PCAxNCkgLyogY2h2ICovCj4+IEBAIC00NjgwLDcgKzQ2 ODAsNyBAQCBlbnVtIHsKPj4gICNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZU CTAKPj4gIAo+PiAgLyogUGFuZWwgZml0dGluZyAqLwo+PiAtI2RlZmluZSBQRklUX0NPTlRST0wJ X01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEyMzApCj4+ICsj ZGVmaW5lIFBGSVRfQ09OVFJPTAlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9t bWlvX29mZnNldCArIDB4NjEyMzApCj4+ICAjZGVmaW5lICAgUEZJVF9FTkFCTEUJCSgxIDw8IDMx KQo+PiAgI2RlZmluZSAgIFBGSVRfUElQRV9NQVNLCSgzIDw8IDI5KQo+PiAgI2RlZmluZSAgIFBG SVRfUElQRV9TSElGVAkyOQo+PiBAQCAtNDY5OCw3ICs0Njk4LDcgQEAgZW51bSB7Cj4+ICAjZGVm aW5lICAgUEZJVF9TQ0FMSU5HX1BST0dSQU1NRUQgKDEgPDwgMjYpCj4+ICAjZGVmaW5lICAgUEZJ VF9TQ0FMSU5HX1BJTExBUgkoMiA8PCAyNikKPj4gICNkZWZpbmUgICBQRklUX1NDQUxJTkdfTEVU VEVSCSgzIDw8IDI2KQo+PiAtI2RlZmluZSBQRklUX1BHTV9SQVRJT1MgX01NSU8oZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEyMzQpCj4+ICsjZGVmaW5lIFBGSVRfUEdN X1JBVElPUyBfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjEyMzQpCj4+ICAvKiBQcmUtOTY1ICovCj4+ICAjZGVmaW5lCQlQRklUX1ZFUlRfU0NBTEVf U0hJRlQJCTIwCj4+ICAjZGVmaW5lCQlQRklUX1ZFUlRfU0NBTEVfTUFTSwkJMHhmZmYwMDAwMAo+ PiBAQCAtNDcxMCwyNSArNDcxMCwyNSBAQCBlbnVtIHsKPj4gICNkZWZpbmUJCVBGSVRfSE9SSVpf U0NBTEVfU0hJRlRfOTY1CTAKPj4gICNkZWZpbmUJCVBGSVRfSE9SSVpfU0NBTEVfTUFTS185NjUJ MHgwMDAwMWZmZgo+PiAgCj4+IC0jZGVmaW5lIFBGSVRfQVVUT19SQVRJT1MgX01NSU8oZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEyMzgpCj4+ICsjZGVmaW5lIFBGSVRf QVVUT19SQVRJT1MgX01NSU8oSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDYxMjM4KQo+PiAgCj4+IC0jZGVmaW5lIF9WTFZfQkxDX1BXTV9DVEwyX0EgKGRldl9w cml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjUwKQo+PiAtI2RlZmluZSBfVkxW X0JMQ19QV01fQ1RMMl9CIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 MTM1MCkKPj4gKyNkZWZpbmUgX1ZMVl9CTENfUFdNX0NUTDJfQSAoSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjUwKQo+PiArI2RlZmluZSBfVkxWX0JMQ19Q V01fQ1RMMl9CIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjEzNTApCj4+ICAjZGVmaW5lIFZMVl9CTENfUFdNX0NUTDIocGlwZSkgX01NSU9fUElQRShwaXBl LCBfVkxWX0JMQ19QV01fQ1RMMl9BLCBcCj4+ICAJCQkJCSBfVkxWX0JMQ19QV01fQ1RMMl9CKQo+ PiAgCj4+IC0jZGVmaW5lIF9WTFZfQkxDX1BXTV9DVExfQSAoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjEyNTQpCj4+IC0jZGVmaW5lIF9WTFZfQkxDX1BXTV9DVExfQiAo ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEzNTQpCj4+ICsjZGVmaW5l IF9WTFZfQkxDX1BXTV9DVExfQSAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDYxMjU0KQo+PiArI2RlZmluZSBfVkxWX0JMQ19QV01fQ1RMX0IgKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTM1NCkKPj4gICNkZWZpbmUg VkxWX0JMQ19QV01fQ1RMKHBpcGUpIF9NTUlPX1BJUEUocGlwZSwgX1ZMVl9CTENfUFdNX0NUTF9B LCBcCj4+ICAJCQkJCV9WTFZfQkxDX1BXTV9DVExfQikKPj4gIAo+PiAtI2RlZmluZSBfVkxWX0JM Q19ISVNUX0NUTF9BIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI2 MCkKPj4gLSNkZWZpbmUgX1ZMVl9CTENfSElTVF9DVExfQiAoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjEzNjApCj4+ICsjZGVmaW5lIF9WTFZfQkxDX0hJU1RfQ1RMX0Eg KElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI2MCkKPj4g KyNkZWZpbmUgX1ZMVl9CTENfSElTVF9DVExfQiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDYxMzYwKQo+PiAgI2RlZmluZSBWTFZfQkxDX0hJU1RfQ1RMKHBp cGUpIF9NTUlPX1BJUEUocGlwZSwgX1ZMVl9CTENfSElTVF9DVExfQSwgXAo+PiAgCQkJCQkgX1ZM Vl9CTENfSElTVF9DVExfQikKPj4gIAo+PiAgLyogQmFja2xpZ2h0IGNvbnRyb2wgKi8KPj4gLSNk ZWZpbmUgQkxDX1BXTV9DVEwyCV9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDYxMjUwKSAvKiA5NjUrIG9ubHkgKi8KPj4gKyNkZWZpbmUgQkxDX1BXTV9DVEwyCV9N TUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI1MCkg LyogOTY1KyBvbmx5ICovCj4+ICAjZGVmaW5lICAgQkxNX1BXTV9FTkFCTEUJCSgxIDw8IDMxKQo+ PiAgI2RlZmluZSAgIEJMTV9DT01CSU5BVElPTl9NT0RFCQkoMSA8PCAzMCkgLyogZ2VuNCBvbmx5 ICovCj4+ICAjZGVmaW5lICAgQkxNX1BJUEVfU0VMRUNUCQkoMSA8PCAyOSkKPj4gQEAgLTQ3NTEs NyArNDc1MSw3IEBAIGVudW0gewo+PiAgI2RlZmluZSAgIEJMTV9QSEFTRV9JTl9DT1VOVF9NQVNL CSgweGZmIDw8IDgpCj4+ICAjZGVmaW5lICAgQkxNX1BIQVNFX0lOX0lOQ1JfU0hJRlQJKDApCj4+ ICAjZGVmaW5lICAgQkxNX1BIQVNFX0lOX0lOQ1JfTUFTSwkoMHhmZiA8PCAwKQo+PiAtI2RlZmlu ZSBCTENfUFdNX0NUTAlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2MTI1NCkKPj4gKyNkZWZpbmUgQkxDX1BXTV9DVEwJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjU0KQo+PiAgLyoKPj4gICAqIFRoaXMgaXMg dGhlIG1vc3Qgc2lnbmlmaWNhbnQgMTUgYml0cyBvZiB0aGUgbnVtYmVyIG9mIGJhY2tsaWdodCBj eWNsZXMgaW4gYQo+PiAgICogY29tcGxldGUgY3ljbGUgb2YgdGhlIG1vZHVsYXRlZCBiYWNrbGln aHQgY29udHJvbC4KPj4gQEAgLTQ3NzMsNyArNDc3Myw3IEBAIGVudW0gewo+PiAgI2RlZmluZSAg IEJBQ0tMSUdIVF9EVVRZX0NZQ0xFX01BU0tfUE5WCQkoMHhmZmZlKQo+PiAgI2RlZmluZSAgIEJM TV9QT0xBUklUWV9QTlYJCQkoMSA8PCAwKSAvKiBwbnYgb25seSAqLwo+PiAgCj4+IC0jZGVmaW5l IEJMQ19ISVNUX0NUTAlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2MTI2MCkKPj4gKyNkZWZpbmUgQkxDX0hJU1RfQ1RMCV9NTUlPKElOVEVMX0lORk8oZGV2X3By aXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI2MCkKPj4gICNkZWZpbmUgIEJMTV9ISVNU T0dSQU1fRU5BQkxFCQkJKDEgPDwgMzEpCj4+ICAKPj4gIC8qIE5ldyByZWdpc3RlcnMgZm9yIFBD SC1zcGxpdCBwbGF0Zm9ybXMuIFNhZmUgd2hlcmUgbmV3IGJpdHMgc2hvdyB1cCwgdGhlCj4+IEBA IC01Mzk3LDQ3ICs1Mzk3LDQ3IEBAIGVudW0gewo+PiAgICogaXMgMjAgYnl0ZXMgaW4gZWFjaCBk aXJlY3Rpb24sIGhlbmNlIHRoZSA1IGZpeGVkCj4+ICAgKiBkYXRhIHJlZ2lzdGVycwo+PiAgICov Cj4+IC0jZGVmaW5lIF9EUEFfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDY0MDEwKQo+PiAtI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBMQkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTQpCj4+IC0jZGVmaW5lIF9EUEFf QVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAx OCkKPj4gLSNkZWZpbmUgX0RQQV9BVVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDY0MDFjKQo+PiAtI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBNAkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjApCj4+IC0jZGVmaW5lIF9E UEFfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDAyNCkKPj4gLQo+PiAtI2RlZmluZSBfRFBCX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDExMCkKPj4gLSNkZWZpbmUgX0RQQl9BVVhfQ0hfREFU QTEJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTE0KQo+PiAtI2Rl ZmluZSBfRFBCX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQxMTgpCj4+IC0jZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDExYykKPj4gLSNkZWZpbmUgX0RQQl9BVVhfQ0hf REFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTIwKQo+PiAt I2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQxMjQpCj4+IC0KPj4gLSNkZWZpbmUgX0RQQ19BVVhfQ0hfQ1RMCQkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTApCj4+IC0jZGVmaW5lIF9EUENf QVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIx NCkKPj4gLSNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTIJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDY0MjE4KQo+PiAtI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMwkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMWMpCj4+IC0jZGVmaW5lIF9E UENfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDIyMCkKPj4gLSNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDY0MjI0KQo+PiAtCj4+IC0jZGVmaW5lIF9EUERfQVVYX0NIX0NU TAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzEwKQo+PiAtI2Rl ZmluZSBfRFBEX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQzMTQpCj4+IC0jZGVmaW5lIF9EUERfQVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxOCkKPj4gLSNkZWZpbmUgX0RQRF9BVVhfQ0hf REFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzFjKQo+PiAt I2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQzMjApCj4+IC0jZGVmaW5lIF9EUERfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyNCkKPj4gLQo+PiAtI2RlZmluZSBfRFBF X0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDQx MCkKPj4gLSNkZWZpbmUgX0RQRV9BVVhfQ0hfREFUQTEJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDY0NDE0KQo+PiAtI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBMgkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ0MTgpCj4+IC0jZGVmaW5lIF9E UEVfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDQxYykKPj4gLSNkZWZpbmUgX0RQRV9BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDY0NDIwKQo+PiAtI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBNQko ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ0MjQpCj4+IC0KPj4gLSNk ZWZpbmUgX0RQRl9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQ1MTApCj4+IC0jZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxNCkKPj4gLSNkZWZpbmUgX0RQRl9BVVhfQ0hf REFUQTIJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTE4KQo+PiAt I2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQ1MWMpCj4+IC0jZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUyMCkKPj4gLSNkZWZpbmUgX0RQRl9BVVhf Q0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTI0KQo+ PiArI2RlZmluZSBfRFBBX0FVWF9DSF9DVEwJCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQwMTApCj4+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEExCShJ TlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTQpCj4+ICsj ZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEEyCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9t bWlvX29mZnNldCArIDB4NjQwMTgpCj4+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEEzCShJTlRF TF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMWMpCj4+ICsjZGVm aW5lIF9EUEFfQVVYX0NIX0RBVEE0CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjQwMjApCj4+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEE1CShJTlRFTF9J TkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjQpCj4+ICsKPj4gKyNk ZWZpbmUgX0RQQl9BVVhfQ0hfQ1RMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDY0MTEwKQo+PiArI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMQkoSU5URUxf SU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTE0KQo+PiArI2RlZmlu ZSBfRFBCX0FVWF9DSF9EQVRBMgkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDY0MTE4KQo+PiArI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMwkoSU5URUxfSU5G TyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTFjKQo+PiArI2RlZmluZSBf RFBCX0FVWF9DSF9EQVRBNAkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDY0MTIwKQo+PiArI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBNQkoSU5URUxfSU5GTyhk ZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTI0KQo+PiArCj4+ICsjZGVmaW5l IF9EUENfQVVYX0NIX0NUTAkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg2NDIxMCkKPj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTEJKElOVEVMX0lORk8o ZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIxNCkKPj4gKyNkZWZpbmUgX0RQ Q19BVVhfQ0hfREFUQTIJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2NDIxOCkKPj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTMJKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIxYykKPj4gKyNkZWZpbmUgX0RQQ19B VVhfQ0hfREFUQTQJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDIyMCkKPj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTUJKElOVEVMX0lORk8oZGV2X3By aXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIyNCkKPj4gKwo+PiArI2RlZmluZSBfRFBE X0FVWF9DSF9DVEwJCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQzMTApCj4+ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEExCShJTlRFTF9JTkZPKGRldl9w cml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMTQpCj4+ICsjZGVmaW5lIF9EUERfQVVY X0NIX0RBVEEyCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjQzMTgpCj4+ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEEzCShJTlRFTF9JTkZPKGRldl9wcml2 KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMWMpCj4+ICsjZGVmaW5lIF9EUERfQVVYX0NI X0RBVEE0CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQz MjApCj4+ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEE1CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMjQpCj4+ICsKPj4gKyNkZWZpbmUgX0RQRV9BVVhf Q0hfQ1RMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 NDEwKQo+PiArI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBMQkoSU5URUxfSU5GTyhkZXZfcHJpdikt PmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NDE0KQo+PiArI2RlZmluZSBfRFBFX0FVWF9DSF9E QVRBMgkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NDE4 KQo+PiArI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBMwkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NDFjKQo+PiArI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRB NAkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NDIwKQo+ PiArI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBNQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDY0NDI0KQo+PiArCj4+ICsjZGVmaW5lIF9EUEZfQVVYX0NIX0NU TAkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxMCkK Pj4gKyNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTEJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxNCkKPj4gKyNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTIJ KElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxOCkKPj4g KyNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTMJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDUxYykKPj4gKyNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTQJKElO VEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUyMCkKPj4gKyNk ZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTUJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDUyNCkKPj4gIAo+PiAgI2RlZmluZSBEUF9BVVhfQ0hfQ1RMKGF1eF9j aCkJX01NSU9fUE9SVChhdXhfY2gsIF9EUEFfQVVYX0NIX0NUTCwgX0RQQl9BVVhfQ0hfQ1RMKQo+ PiAgI2RlZmluZSBEUF9BVVhfQ0hfREFUQShhdXhfY2gsIGkpCV9NTUlPKF9QT1JUKGF1eF9jaCwg X0RQQV9BVVhfQ0hfREFUQTEsIF9EUEJfQVVYX0NIX0RBVEExKSArIChpKSAqIDQpIC8qIDUgcmVn aXN0ZXJzICovCj4+IEBAIC01NzEzLDcgKzU3MTMsNyBAQCBlbnVtIHsKPj4gICNkZWZpbmUgICBE UElOVkdUVF9TVEFUVVNfTUFTSwkJCTB4ZmYKPj4gICNkZWZpbmUgICBEUElOVkdUVF9TVEFUVVNf TUFTS19DSFYJCTB4ZmZmCj4+ICAKPj4gLSNkZWZpbmUgRFNQQVJCCQkJX01NSU8oZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzAwMzApCj4+ICsjZGVmaW5lIERTUEFSQgkJ CV9NTUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDAz MCkKPj4gICNkZWZpbmUgICBEU1BBUkJfQ1NUQVJUX01BU0sJKDB4N2YgPDwgNykKPj4gICNkZWZp bmUgICBEU1BBUkJfQ1NUQVJUX1NISUZUCTcKPj4gICNkZWZpbmUgICBEU1BBUkJfQlNUQVJUX01B U0sJKDB4N2YpCj4+IEBAIC01NzQ4LDcgKzU3NDgsNyBAQCBlbnVtIHsKPj4gICNkZWZpbmUgICBE U1BBUkJfU1BSSVRFRl9NQVNLX1ZMVgkoMHhmZiA8PCA4KQo+PiAgCj4+ICAvKiBwbnYvZ2VuNC9n NHgvdmx2L2NodiAqLwo+PiAtI2RlZmluZSBEU1BGVzEJCV9NTUlPKGRldl9wcml2LT5pbmZvLmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDcwMDM0KQo+PiArI2RlZmluZSBEU1BGVzEJCV9NTUlPKElO VEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDAzNCkKPj4gICNk ZWZpbmUgICBEU1BGV19TUl9TSElGVAkJMjMKPj4gICNkZWZpbmUgICBEU1BGV19TUl9NQVNLCQkJ KDB4MWZmIDw8IDIzKQo+PiAgI2RlZmluZSAgIERTUEZXX0NVUlNPUkJfU0hJRlQJCTE2Cj4+IEBA IC01NzU5LDcgKzU3NTksNyBAQCBlbnVtIHsKPj4gICNkZWZpbmUgICBEU1BGV19QTEFORUFfU0hJ RlQJCTAKPj4gICNkZWZpbmUgICBEU1BGV19QTEFORUFfTUFTSwkJKDB4N2YgPDwgMCkKPj4gICNk ZWZpbmUgICBEU1BGV19QTEFORUFfTUFTS19WTFYJCSgweGZmIDw8IDApIC8qIHZsdi9jaHYgKi8K Pj4gLSNkZWZpbmUgRFNQRlcyCQlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg3MDAzOCkKPj4gKyNkZWZpbmUgRFNQRlcyCQlfTU1JTyhJTlRFTF9JTkZPKGRldl9w cml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzAwMzgpCj4+ICAjZGVmaW5lICAgRFNQRldf RkJDX1NSX0VOCQkoMSA8PCAzMSkJICAvKiBnNHggKi8KPj4gICNkZWZpbmUgICBEU1BGV19GQkNf U1JfU0hJRlQJCTI4Cj4+ICAjZGVmaW5lICAgRFNQRldfRkJDX1NSX01BU0sJCSgweDcgPDwgMjgp IC8qIGc0eCAqLwo+PiBAQCAtNTc3NSw3ICs1Nzc1LDcgQEAgZW51bSB7Cj4+ICAjZGVmaW5lICAg RFNQRldfU1BSSVRFQV9TSElGVAkJMAo+PiAgI2RlZmluZSAgIERTUEZXX1NQUklURUFfTUFTSwkJ KDB4N2YgPDwgMCkgLyogZzR4ICovCj4+ICAjZGVmaW5lICAgRFNQRldfU1BSSVRFQV9NQVNLX1ZM VgkoMHhmZiA8PCAwKSAvKiB2bHYvY2h2ICovCj4+IC0jZGVmaW5lIERTUEZXMwkJX01NSU8oZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzAwM2MpCj4+ICsjZGVmaW5lIERT UEZXMwkJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDcwMDNjKQo+PiAgI2RlZmluZSAgIERTUEZXX0hQTExfU1JfRU4JCSgxIDw8IDMxKQo+PiAgI2Rl ZmluZSAgIFBJTkVWSUVXX1NFTEZfUkVGUkVTSF9FTgkoMSA8PCAzMCkKPj4gICNkZWZpbmUgICBE U1BGV19DVVJTT1JfU1JfU0hJRlQJCTI0Cj4+IEBAIC02MTkxLDM1ICs2MTkxLDM1IEBAIGVudW0g ewo+PiAgICogWzEwOjFmXSBhbGwKPj4gICAqIFszMDozMl0gYWxsCj4+ICAgKi8KPj4gLSNkZWZp bmUgU1dGMChpKQlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3 MDQxMCArIChpKSAqIDQpCj4+IC0jZGVmaW5lIFNXRjEoaSkJX01NSU8oZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzE0MTAgKyAoaSkgKiA0KQo+PiAtI2RlZmluZSBTV0Yz KGkpCV9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcyNDE0ICsg KGkpICogNCkKPj4gKyNkZWZpbmUgU1dGMChpKQlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzA0MTAgKyAoaSkgKiA0KQo+PiArI2RlZmluZSBTV0Yx KGkpCV9NTUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3 MTQxMCArIChpKSAqIDQpCj4+ICsjZGVmaW5lIFNXRjMoaSkJX01NSU8oSU5URUxfSU5GTyhkZXZf cHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcyNDE0ICsgKGkpICogNCkKPj4gICNkZWZp bmUgU1dGX0lMSyhpKQlfTU1JTygweDRGMDAwICsgKGkpICogNCkKPj4gIAo+PiAgLyogUGlwZSBC ICovCj4+IC0jZGVmaW5lIF9QSVBFQkRTTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDcxMDAwKQo+PiAtI2RlZmluZSBfUElQRUJDT05GCQkoZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzEwMDgpCj4+IC0jZGVmaW5lIF9QSVBFQlNUQVQJCShk ZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTAyNCkKPj4gKyNkZWZpbmUg X1BJUEVCRFNMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDcxMDAwKQo+PiArI2RlZmluZSBfUElQRUJDT05GCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDA4KQo+PiArI2RlZmluZSBfUElQRUJTVEFUCQkoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDI0KQo+PiAgI2Rl ZmluZSBfUElQRUJGUkFNRUhJR0gJCTB4NzEwNDAKPj4gICNkZWZpbmUgX1BJUEVCRlJBTUVQSVhF TAkweDcxMDQ0Cj4+IC0jZGVmaW5lIF9QSVBFQl9GUk1DT1VOVF9HNFgJKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDQwKQo+PiAtI2RlZmluZSBfUElQRUJfRkxJUENP VU5UX0c0WAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzEwNDQpCj4+ ICsjZGVmaW5lIF9QSVBFQl9GUk1DT1VOVF9HNFgJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg3MTA0MCkKPj4gKyNkZWZpbmUgX1BJUEVCX0ZMSVBDT1VOVF9H NFgJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTA0NCkK Pj4gIAo+PiAgCj4+ICAvKiBEaXNwbGF5IEIgY29udHJvbCAqLwo+PiAtI2RlZmluZSBfRFNQQkNO VFIJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTE4MCkKPj4gKyNk ZWZpbmUgX0RTUEJDTlRSCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDcxMTgwKQo+PiAgI2RlZmluZSAgIERJU1BQTEFORV9BTFBIQV9UUkFOU19FTkFCTEUJ CSgxIDw8IDE1KQo+PiAgI2RlZmluZSAgIERJU1BQTEFORV9BTFBIQV9UUkFOU19ESVNBQkxFCQkw Cj4+ICAjZGVmaW5lICAgRElTUFBMQU5FX1NQUklURV9BQk9WRV9ESVNQTEFZCTAKPj4gICNkZWZp bmUgICBESVNQUExBTkVfU1BSSVRFX0FCT1ZFX09WRVJMQVkJKDEpCj4+IC0jZGVmaW5lIF9EU1BC QUREUgkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMTg0KQo+PiAt I2RlZmluZSBfRFNQQlNUUklERQkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDcxMTg4KQo+PiAtI2RlZmluZSBfRFNQQlBPUwkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDcxMThDKQo+PiAtI2RlZmluZSBfRFNQQlNJWkUJCShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTE5MCkKPj4gLSNkZWZpbmUgX0RTUEJTVVJG CQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzExOUMpCj4+IC0jZGVm aW5lIF9EU1BCVElMRU9GRgkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDcxMUE0KQo+PiAtI2RlZmluZSBfRFNQQk9GRlNFVAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDcxMUE0KQo+PiAtI2RlZmluZSBfRFNQQlNVUkZMSVZFCQkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzExQUMpCj4+ICsjZGVmaW5lIF9EU1BC QUREUgkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTE4 NCkKPj4gKyNkZWZpbmUgX0RTUEJTVFJJREUJCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NzExODgpCj4+ICsjZGVmaW5lIF9EU1BCUE9TCQkoSU5URUxfSU5G TyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMThDKQo+PiArI2RlZmluZSBf RFNQQlNJWkUJCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NzExOTApCj4+ICsjZGVmaW5lIF9EU1BCU1VSRgkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg3MTE5QykKPj4gKyNkZWZpbmUgX0RTUEJUSUxFT0ZGCQkoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMUE0KQo+PiArI2Rl ZmluZSBfRFNQQk9GRlNFVAkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg3MTFBNCkKPj4gKyNkZWZpbmUgX0RTUEJTVVJGTElWRQkJKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTFBQykKPj4gIAo+PiAgLyogSUNMIERT SSAwIGFuZCAxICovCj4+ICAjZGVmaW5lIF9QSVBFRFNJMENPTkYJCTB4N2IwMDgKPj4gQEAgLTg3 NzMsNyArODc3Myw3IEBAIGVudW0gewo+PiAgI2RlZmluZSAgIEdFTjlfRU5BQkxFX0dQR1BVX1BS RUVNUFRJT04JKDEgPDwgMikKPj4gIAo+PiAgLyogQXVkaW8gKi8KPj4gLSNkZWZpbmUgRzRYX0FV RF9WSURfRElECQkJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjIwMjApCj4+ICsjZGVmaW5lIEc0WF9BVURfVklEX0RJRAkJCV9NTUlPKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MjAyMCkKPj4gICNkZWZpbmUgICBJTlRF TF9BVURJT19ERVZDTAkJMHg4MDg2MjlGQgo+PiAgI2RlZmluZSAgIElOVEVMX0FVRElPX0RFVkJM QwkJMHg4MDg2MjgwMQo+PiAgI2RlZmluZSAgIElOVEVMX0FVRElPX0RFVkNURwkJMHg4MDg2Mjgw Mgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPj4gaW5kZXggYWVi N2I5MjI1YjE4Li4wMDc1OGQxMTA0N2IgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RldmljZV9pbmZvLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGV2aWNlX2luZm8uYwo+PiBAQCAtMTIxLDE5ICsxMjEsMTYgQEAgaW50ZWxfZGV2aWNlX2lu Zm9fZHVtcF9ydW50aW1lKGNvbnN0IHN0cnVjdCBpbnRlbF9ydW50aW1lX2RldmljZV9pbmZvICpp bmZvLAo+PiAgCWludGVsX3J1bnRpbWVfZGV2aWNlX2luZm9fZHVtcF9mbGFncyhpbmZvLCBwKTsK Pj4gIH0KPj4gIAo+PiAtdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19kdW1wKGNvbnN0IHN0cnVjdCBp bnRlbF9kZXZpY2VfaW5mbyAqaW5mbywKPj4gK3ZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJCQkgICAgc3RydWN0IGRybV9w cmludGVyICpwKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 Cj4+IC0JCWNvbnRhaW5lcl9vZihpbmZvLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgaW5mbyk7 Cj4+IC0KPj4gIAlkcm1fcHJpbnRmKHAsICJwY2lpZD0weCUwNHggcmV2PTB4JTAyeCBwbGF0Zm9y bT0lcyBnZW49JWlcbiIsCj4+ICAJCSAgIElOVEVMX0RFVklEKGRldl9wcml2KSwKPj4gIAkJICAg SU5URUxfUkVWSUQoZGV2X3ByaXYpLAo+PiAtCQkgICBpbnRlbF9wbGF0Zm9ybV9uYW1lKGluZm8t PnBsYXRmb3JtKSwKPj4gLQkJICAgaW5mby0+X19nZW4pOwo+PiArCQkgICBpbnRlbF9wbGF0Zm9y bV9uYW1lKElOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybSksCj4+ICsJCSAgIElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5fX2dlbik7Cj4+ICAKPj4gLQlpbnRlbF9kZXZpY2VfaW5mb19kdW1wX2Zs YWdzKGluZm8sIHApOwo+PiArCWludGVsX2RldmljZV9pbmZvX2R1bXBfZmxhZ3MoSU5URUxfSU5G TyhkZXZfcHJpdiksIHApOwo+PiAgfQo+PiAgCj4+ICB2b2lkIGludGVsX2RldmljZV9pbmZvX2R1 bXBfdG9wb2xvZ3koY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+PiBpbmRleCA1MGM4ZmRhMjBiZGQuLjli YWNkNDY2ZjRhMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2 aWNlX2luZm8uaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5oCj4+IEBAIC0yNzAsNyArMjcwLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNzZXVfc2V0X2V1 cyhzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwKPj4gIGNvbnN0IGNoYXIgKmludGVsX3BsYXRm b3JtX25hbWUoZW51bSBpbnRlbF9wbGF0Zm9ybSBwbGF0Zm9ybSk7Cj4+ICAKPj4gIHZvaWQgaW50 ZWxfZGV2aWNlX2luZm9fcnVudGltZV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cj4+IC12b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXAoY29uc3Qgc3RydWN0IGludGVs X2RldmljZV9pbmZvICppbmZvLAo+PiArdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19kdW1wKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gIAkJCSAgICBzdHJ1Y3QgZHJtX3ByaW50 ZXIgKnApOwo+PiAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19kdW1wX2ZsYWdzKGNvbnN0IHN0cnVj dCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbywKPj4gIAkJCQkgIHN0cnVjdCBkcm1fcHJpbnRlciAq cCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4+IGluZGV4IDkyODk1MTUxMDhj My4uZGVmNDk4NDAyYmJiIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91bmNvcmUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ PiBAQCAtMjI1Niw3ICsyMjU2LDcgQEAgYm9vbCBpbnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gIAo+PiAgYm9vbCBpbnRlbF9oYXNfcmVzZXRf ZW5naW5lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gIHsKPj4gLQlyZXR1 cm4gKGRldl9wcml2LT5pbmZvLmhhc19yZXNldF9lbmdpbmUgJiYKPj4gKwlyZXR1cm4gKElOVEVM X0lORk8oZGV2X3ByaXYpLT5oYXNfcmVzZXRfZW5naW5lICYmCj4+ICAJCWk5MTVfbW9kcGFyYW1z LnJlc2V0ID49IDIpOwo+PiAgfQoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBH cmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==