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:45:02 +0200 Message-ID: <87bm6tgq0x.fsf@intel.com> References: <20181112171242.7640-1-tvrtko.ursulin@linux.intel.com> <20181112171242.7640-5-tvrtko.ursulin@linux.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 19D196E3A5 for ; Tue, 13 Nov 2018 11:45:09 +0000 (UTC) In-Reply-To: <20181112171242.7640-5-tvrtko.ursulin@linux.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 T24gTW9uLCAxMiBOb3YgMjAxOCwgVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGlu QGludGVsLmNvbT4KPgo+IE5vdyB0aGF0IHdlIGFyZSBkb3duIHRvIG9uZSBjYWxsZXIsIHdoaWNo IGRvZXMgbm90IGV2ZW4gbW9kaWZ5IGNvcGllZAo+IGRldmljZSBpbmZvLCB3ZSBjYW4gcmVtb3Zl IHRoZSBta3dyaXRlX2RldmljZV9pbmZvIGhlbHBlciBhbmQgY29udmVydCB0aGUKPiBkZXZpY2Ug aW5mbyBwb2ludGVyIGl0c2VsZiB0byBiZSBhIHBvaW50ZXIgdG8gc3RhdGljIHRhYmxlIGluc3Rl YWQgb2YgYQo+IGNvcHkuCj4KPiBPbmx5IHVuZm9ydG5hdGUgdGhpbmcgaXMgdGhhdCB3ZSBuZWVk IHRvIGNvbnZlcnQgYWxsIGNhbGxzaXRlcyB3aGljaCB3ZXJlCj4gcmVmZXJlbmNpbmcgdGhlIGRl dmljZSBpbmZvIGRpcmVjdGx5IHRvIHVzaW5nIHRoZSBJTlRFTF9JTkZPIGhlbHBlci4KCkknbSBu b3Qgc3VyZSBpZiB0aGF0J3MgYWxsIHRoYXQgYmFkLiBXaGVuIEkgd2FzIHRveWluZyBhcm91bmQg d2l0aApta3dyaXRlX2RldmljZV9pbmZvIHJlbW92YWwsIEkgYWN0dWFsbHkgc3RhcnRlZCBvZmYg d2l0aCBjaGFuZ2luZyBhbGwKZGV2aWNlIGluZm8gcmVmZXJlbmNlcyB0byBJTlRFTF9JTkZPLiBJ dCdzIGEgYmlnIHBhdGNoLCBidXQgaXQgbmljZWx5CmNlbnRyYWxpemVzIG1hbnkgb2YgdGhlIG90 aGVyIGNoYW5nZXMgaW5zdGVhZCBvZiBzcGxhdHRlcmluZyBhbGwgb3Zlcgp0aGUgcGxhY2UuCgpJ J2QgYWN0dWFsbHkgbGlrZSB0byBzZWUgUlVOVElNRV9JTkZPIG9yIHNpbWlsYXIgbWFjcm8gYXMg d2VsbCwganVzdCB0bwpiZSBhYmxlIHRvIGNoYW5nZSB0aGUgd2F5IGl0J3MgaGFuZGxlZCBsYXRl ciBvbi4KCkJSLApKYW5pLgoKCj4KPiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICB8ICAgOSArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgMTA3ICsrKysrKy0t LS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICB8IDE5MCAr KysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZp Y2VfaW5mby5jIHwgIDExICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmggfCAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgICAg ICB8ICAgMiArLQo+ICA2IGZpbGVzIGNoYW5nZWQsIDE1MSBpbnNlcnRpb25zKCspLCAxNzAgZGVs ZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBiYmRkMzYxMTllYWUu Ljc3ZGQ3NzYzYjMzNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC0xNjIwLDcg KzE2MjAsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3dlbGNvbWVfbWVzc2FnZXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJaWYgKGRybV9kZWJ1ZyAmIERSTV9VVF9EUklWRVIp IHsKPiAgCQlzdHJ1Y3QgZHJtX3ByaW50ZXIgcCA9IGRybV9kZWJ1Z19wcmludGVyKCJpOTE1IGRl dmljZSBpbmZvOiIpOwo+ICAKPiAtCQlpbnRlbF9kZXZpY2VfaW5mb19kdW1wKCZkZXZfcHJpdi0+ aW5mbywgJnApOwo+ICsJCWludGVsX2RldmljZV9pbmZvX2R1bXAoZGV2X3ByaXYsICZwKTsKPiAg CQlpbnRlbF9kZXZpY2VfaW5mb19kdW1wX3J1bnRpbWUoJmRldl9wcml2LT5ydW50aW1lX2luZm8s ICZwKTsKPiAgCX0KPiAgCj4gQEAgLTE2MzgsNyArMTYzOCw3IEBAIGk5MTVfZHJpdmVyX2NyZWF0 ZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkK PiAgCWNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqbWF0Y2hfaW5mbyA9Cj4gIAkJKHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqKWVudC0+ZHJpdmVyX2RhdGE7Cj4gIAlzdHJ1Y3QgaW50 ZWxfcnVudGltZV9kZXZpY2VfaW5mbyAqcnVudGltZV9pbmZvOwo+IC0Jc3RydWN0IGludGVsX2Rl dmljZV9pbmZvICpkZXZpY2VfaW5mbzsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5m byAqZGV2aWNlX2luZm87Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKPiAgCWlu dCBlcnI7Cj4gIAo+IEBAIC0xNjU0LDEyICsxNjU0LDkgQEAgaTkxNV9kcml2ZXJfY3JlYXRlKHN0 cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQo+ICAK PiAgCWk5MTUtPmRybS5wZGV2ID0gcGRldjsKPiAgCWk5MTUtPmRybS5kZXZfcHJpdmF0ZSA9IGk5 MTU7Cj4gKwlpOTE1LT5pbmZvID0gZGV2aWNlX2luZm8gPSBtYXRjaF9pbmZvOwo+ICAJcGNpX3Nl dF9kcnZkYXRhKHBkZXYsICZpOTE1LT5kcm0pOwo+ICAKPiAtCS8qIFNldHVwIHRoZSB3cml0ZS1v bmNlICJjb25zdGFudCIgZGV2aWNlIGluZm8gKi8KPiAtCWRldmljZV9pbmZvID0gbWt3cml0ZV9k ZXZpY2VfaW5mbyhpOTE1KTsKPiAtCW1lbWNweShkZXZpY2VfaW5mbywgbWF0Y2hfaW5mbywgc2l6 ZW9mKCpkZXZpY2VfaW5mbykpOwo+IC0KPiAgCUJVSUxEX0JVR19PTihJTlRFTF9NQVhfUExBVEZP Uk1TID4KPiAgCQkgICAgIEJJVFNfUEVSX1RZUEUoZGV2aWNlX2luZm8tPnBsYXRmb3JtX21hc2sp KTsKPiAgCUJVR19PTihkZXZpY2VfaW5mby0+X19nZW4gPiBCSVRTX1BFUl9UWVBFKGRldmljZV9p bmZvLT5nZW5fbWFzaykpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDRmYWJiY2Q2 Y2ZiMi4uNzdlZjQxZDUzNTU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTE1 ODgsNyArMTU4OCw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAgCXN0cnVjdCBrbWVt X2NhY2hlICpkZXBlbmRlbmNpZXM7Cj4gIAlzdHJ1Y3Qga21lbV9jYWNoZSAqcHJpb3JpdGllczsK PiAgCj4gLQljb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW5mbzsKPiArCWNvbnN0IHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbzsKPiAgCXN0cnVjdCBpbnRlbF9ydW50aW1lX2Rl dmljZV9pbmZvIHJ1bnRpbWVfaW5mbzsKPiAgCXN0cnVjdCBpbnRlbF9kcml2ZXJfY2FwcyBjYXBz Owo+ICAKPiBAQCAtMjM0OSwxMyArMjM0OSw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50 IGk5MTVfc2dfc2VnbWVudF9zaXplKHZvaWQpCj4gIAlyZXR1cm4gc2l6ZTsKPiAgfQo+ICAKPiAt c3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKgo+IC1pbnRlbF9p bmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAtewo+IC0JcmV0 dXJuICZkZXZfcHJpdi0+aW5mbzsKPiAtfQo+IC0KPiAtI2RlZmluZSBJTlRFTF9JTkZPKGRldl9w cml2KQlpbnRlbF9pbmZvKChkZXZfcHJpdikpCj4gKyNkZWZpbmUgSU5URUxfSU5GTyhkZXZfcHJp dikJKChkZXZfcHJpdiktPmluZm8pCj4gICNkZWZpbmUgRFJJVkVSX0NBUFMoZGV2X3ByaXYpCSgm KGRldl9wcml2KS0+Y2FwcykKPiAgCj4gICNkZWZpbmUgSU5URUxfR0VOKGRldl9wcml2KQkoKGRl dl9wcml2KS0+cnVudGltZV9pbmZvLmdlbikKPiBAQCAtMjM3MSw3ICsyMzY1LDcgQEAgaW50ZWxf aW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICAvKiBS ZXR1cm5zIHRydWUgaWYgR2VuIGlzIGluIGluY2x1c2l2ZSByYW5nZSBbU3RhcnQsIEVuZF0gKi8K PiAgI2RlZmluZSBJU19HRU4oZGV2X3ByaXYsIHMsIGUpIFwKPiAtCSghISgoZGV2X3ByaXYpLT5p bmZvLmdlbl9tYXNrICYgSU5URUxfR0VOX01BU0soKHMpLCAoZSkpKSkKPiArCSghIShJTlRFTF9J TkZPKGRldl9wcml2KS0+Z2VuX21hc2sgJiBJTlRFTF9HRU5fTUFTSygocyksIChlKSkpKQo+ICAK PiAgLyoKPiAgICogUmV0dXJuIHRydWUgaWYgcmV2aXNpb24gaXMgaW4gcmFuZ2UgW3NpbmNlLHVu dGlsXSBpbmNsdXNpdmUuCj4gQEAgLTIzODEsNyArMjM3NSw3IEBAIGludGVsX2luZm8oY29uc3Qg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAjZGVmaW5lIElTX1JFVklEKHAs IHNpbmNlLCB1bnRpbCkgXAo+ICAJKElOVEVMX1JFVklEKHApID49IChzaW5jZSkgJiYgSU5URUxf UkVWSUQocCkgPD0gKHVudGlsKSkKPiAgCj4gLSNkZWZpbmUgSVNfUExBVEZPUk0oZGV2X3ByaXYs IHApICgoZGV2X3ByaXYpLT5pbmZvLnBsYXRmb3JtX21hc2sgJiBCSVQocCkpCj4gKyNkZWZpbmUg SVNfUExBVEZPUk0oZGV2X3ByaXYsIHApIChJTlRFTF9JTkZPKGRldl9wcml2KS0+cGxhdGZvcm1f bWFzayAmIEJJVChwKSkKPiAgCj4gICNkZWZpbmUgSVNfSTgzMChkZXZfcHJpdikJSVNfUExBVEZP Uk0oZGV2X3ByaXYsIElOVEVMX0k4MzApCj4gICNkZWZpbmUgSVNfSTg0NUcoZGV2X3ByaXYpCUlT X1BMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9JODQ1RykKPiBAQCAtMjQwMyw3ICsyMzk3LDcgQEAg aW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICNk ZWZpbmUgSVNfSVJPTkxBS0VfTShkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAw eDAwNDYpCj4gICNkZWZpbmUgSVNfSVZZQlJJREdFKGRldl9wcml2KQlJU19QTEFURk9STShkZXZf cHJpdiwgSU5URUxfSVZZQlJJREdFKQo+ICAjZGVmaW5lIElTX0lWQl9HVDEoZGV2X3ByaXYpCShJ U19JVllCUklER0UoZGV2X3ByaXYpICYmIFwKPiAtCQkJCSAoZGV2X3ByaXYpLT5pbmZvLmd0ID09 IDEpCj4gKwkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDEpCj4gICNkZWZpbmUgSVNf VkFMTEVZVklFVyhkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX1ZBTExFWVZJ RVcpCj4gICNkZWZpbmUgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3By aXYsIElOVEVMX0NIRVJSWVZJRVcpCj4gICNkZWZpbmUgSVNfSEFTV0VMTChkZXZfcHJpdikJSVNf UExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0hBU1dFTEwpCj4gQEAgLTI0MTUsNyArMjQwOSw3IEBA IGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAj ZGVmaW5lIElTX0NPRkZFRUxBS0UoZGV2X3ByaXYpCUlTX1BMQVRGT1JNKGRldl9wcml2LCBJTlRF TF9DT0ZGRUVMQUtFKQo+ICAjZGVmaW5lIElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpCUlTX1BMQVRG T1JNKGRldl9wcml2LCBJTlRFTF9DQU5OT05MQUtFKQo+ICAjZGVmaW5lIElTX0lDRUxBS0UoZGV2 X3ByaXYpCUlTX1BMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9JQ0VMQUtFKQo+IC0jZGVmaW5lIElT X01PQklMRShkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaXNfbW9iaWxlKQo+ICsjZGVmaW5l IElTX01PQklMRShkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5pc19tb2JpbGUpCj4g ICNkZWZpbmUgSVNfSFNXX0VBUkxZX1NEVihkZXZfcHJpdikgKElTX0hBU1dFTEwoZGV2X3ByaXYp ICYmIFwKPiAgCQkJCSAgICAoSU5URUxfREVWSUQoZGV2X3ByaXYpICYgMHhGRjAwKSA9PSAweDBD MDApCj4gICNkZWZpbmUgSVNfQkRXX1VMVChkZXZfcHJpdikJKElTX0JST0FEV0VMTChkZXZfcHJp dikgJiYgXAo+IEBAIC0yNDI2LDExICsyNDIwLDExIEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAjZGVmaW5lIElTX0JEV19VTFgoZGV2X3By aXYpCShJU19CUk9BRFdFTEwoZGV2X3ByaXYpICYmIFwKPiAgCQkJCSAoSU5URUxfREVWSUQoZGV2 X3ByaXYpICYgMHhmKSA9PSAweGUpCj4gICNkZWZpbmUgSVNfQkRXX0dUMyhkZXZfcHJpdikJKElT X0JST0FEV0VMTChkZXZfcHJpdikgJiYgXAo+IC0JCQkJIChkZXZfcHJpdiktPmluZm8uZ3QgPT0g MykKPiArCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMykKPiAgI2RlZmluZSBJU19I U1dfVUxUKGRldl9wcml2KQkoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYgXAo+ICAJCQkJIChJTlRF TF9ERVZJRChkZXZfcHJpdikgJiAweEZGMDApID09IDB4MEEwMCkKPiAgI2RlZmluZSBJU19IU1df R1QzKGRldl9wcml2KQkoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYgXAo+IC0JCQkJIChkZXZfcHJp diktPmluZm8uZ3QgPT0gMykKPiArCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMykK PiAgLyogVUxYIG1hY2hpbmVzIGFyZSBhbHNvIGNvbnNpZGVyZWQgVUxULiAqLwo+ICAjZGVmaW5l IElTX0hTV19VTFgoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgwQTBFIHx8 IFwKPiAgCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgwQTFFKQo+IEBAIC0yNDUzLDIx ICsyNDQ3LDIxIEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICAjZGVmaW5lIElTX0FNTF9VTFgoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZf cHJpdikgPT0gMHg1OTFDIHx8IFwKPiAgCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg4 N0MwKQo+ICAjZGVmaW5lIElTX1NLTF9HVDIoZGV2X3ByaXYpCShJU19TS1lMQUtFKGRldl9wcml2 KSAmJiBcCj4gLQkJCQkgKGRldl9wcml2KS0+aW5mby5ndCA9PSAyKQo+ICsJCQkJIElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5ndCA9PSAyKQo+ICAjZGVmaW5lIElTX1NLTF9HVDMoZGV2X3ByaXYpCShJ U19TS1lMQUtFKGRldl9wcml2KSAmJiBcCj4gLQkJCQkgKGRldl9wcml2KS0+aW5mby5ndCA9PSAz KQo+ICsJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAzKQo+ICAjZGVmaW5lIElTX1NL TF9HVDQoZGV2X3ByaXYpCShJU19TS1lMQUtFKGRldl9wcml2KSAmJiBcCj4gLQkJCQkgKGRldl9w cml2KS0+aW5mby5ndCA9PSA0KQo+ICsJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSA0 KQo+ICAjZGVmaW5lIElTX0tCTF9HVDIoZGV2X3ByaXYpCShJU19LQUJZTEFLRShkZXZfcHJpdikg JiYgXAo+IC0JCQkJIChkZXZfcHJpdiktPmluZm8uZ3QgPT0gMikKPiArCQkJCSBJTlRFTF9JTkZP KGRldl9wcml2KS0+Z3QgPT0gMikKPiAgI2RlZmluZSBJU19LQkxfR1QzKGRldl9wcml2KQkoSVNf S0FCWUxBS0UoZGV2X3ByaXYpICYmIFwKPiAtCQkJCSAoZGV2X3ByaXYpLT5pbmZvLmd0ID09IDMp Cj4gKwkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDMpCj4gICNkZWZpbmUgSVNfQ0ZM X1VMVChkZXZfcHJpdikJKElTX0NPRkZFRUxBS0UoZGV2X3ByaXYpICYmIFwKPiAgCQkJCSAoSU5U RUxfREVWSUQoZGV2X3ByaXYpICYgMHgwMEYwKSA9PSAweDAwQTApCj4gICNkZWZpbmUgSVNfQ0ZM X0dUMihkZXZfcHJpdikJKElTX0NPRkZFRUxBS0UoZGV2X3ByaXYpICYmIFwKPiAtCQkJCSAoZGV2 X3ByaXYpLT5pbmZvLmd0ID09IDIpCj4gKwkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09 IDIpCj4gICNkZWZpbmUgSVNfQ0ZMX0dUMyhkZXZfcHJpdikJKElTX0NPRkZFRUxBS0UoZGV2X3By aXYpICYmIFwKPiAtCQkJCSAoZGV2X3ByaXYpLT5pbmZvLmd0ID09IDMpCj4gKwkJCQkgSU5URUxf SU5GTyhkZXZfcHJpdiktPmd0ID09IDMpCj4gICNkZWZpbmUgSVNfQ05MX1dJVEhfUE9SVF9GKGRl dl9wcml2KSAgIChJU19DQU5OT05MQUtFKGRldl9wcml2KSAmJiBcCj4gIAkJCQkJKElOVEVMX0RF VklEKGRldl9wcml2KSAmIDB4MDAwNCkgPT0gMHgwMDA0KQo+ICAKPiBAQCAtMjUzMCwxNiArMjUy NCwxNiBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgICogaGF2ZSB0aGVpciBvd24gKGUuZy4gSEFTX1BDSF9TUExJVCBmb3IgSUxLKyBkaXNw bGF5LCBJU19mb28gZm9yIHBhcnRpY3VsYXIKPiAgICogY2hpcHMsIGV0Yy4pLgo+ICAgKi8KPiAt I2RlZmluZSBJU19HRU4yKGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5nZW5fbWFzayAm IEJJVCgxKSkpCj4gLSNkZWZpbmUgSVNfR0VOMyhkZXZfcHJpdikJKCEhKChkZXZfcHJpdiktPmlu Zm8uZ2VuX21hc2sgJiBCSVQoMikpKQo+IC0jZGVmaW5lIElTX0dFTjQoZGV2X3ByaXYpCSghISgo ZGV2X3ByaXYpLT5pbmZvLmdlbl9tYXNrICYgQklUKDMpKSkKPiAtI2RlZmluZSBJU19HRU41KGRl dl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5nZW5fbWFzayAmIEJJVCg0KSkpCj4gLSNkZWZp bmUgSVNfR0VONihkZXZfcHJpdikJKCEhKChkZXZfcHJpdiktPmluZm8uZ2VuX21hc2sgJiBCSVQo NSkpKQo+IC0jZGVmaW5lIElTX0dFTjcoZGV2X3ByaXYpCSghISgoZGV2X3ByaXYpLT5pbmZvLmdl bl9tYXNrICYgQklUKDYpKSkKPiAtI2RlZmluZSBJU19HRU44KGRldl9wcml2KQkoISEoKGRldl9w cml2KS0+aW5mby5nZW5fbWFzayAmIEJJVCg3KSkpCj4gLSNkZWZpbmUgSVNfR0VOOShkZXZfcHJp dikJKCEhKChkZXZfcHJpdiktPmluZm8uZ2VuX21hc2sgJiBCSVQoOCkpKQo+IC0jZGVmaW5lIElT X0dFTjEwKGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+aW5mby5nZW5fbWFzayAmIEJJVCg5KSkp Cj4gLSNkZWZpbmUgSVNfR0VOMTEoZGV2X3ByaXYpCSghISgoZGV2X3ByaXYpLT5pbmZvLmdlbl9t YXNrICYgQklUKDEwKSkpCj4gKyNkZWZpbmUgSVNfR0VOMihkZXZfcHJpdikJKCEhKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCgxKSkpCj4gKyNkZWZpbmUgSVNfR0VOMyhkZXZf cHJpdikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCgyKSkpCj4gKyNk ZWZpbmUgSVNfR0VONChkZXZfcHJpdikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFz ayAmIEJJVCgzKSkpCj4gKyNkZWZpbmUgSVNfR0VONShkZXZfcHJpdikJKCEhKElOVEVMX0lORk8o ZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCg0KSkpCj4gKyNkZWZpbmUgSVNfR0VONihkZXZfcHJp dikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCg1KSkpCj4gKyNkZWZp bmUgSVNfR0VONyhkZXZfcHJpdikJKCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAm IEJJVCg2KSkpCj4gKyNkZWZpbmUgSVNfR0VOOChkZXZfcHJpdikJKCEhKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5nZW5fbWFzayAmIEJJVCg3KSkpCj4gKyNkZWZpbmUgSVNfR0VOOShkZXZfcHJpdikJ KCEhKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW5fbWFzayAmIEJJVCg4KSkpCj4gKyNkZWZpbmUg SVNfR0VOMTAoZGV2X3ByaXYpCSghIShJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuX21hc2sgJiBC SVQoOSkpKQo+ICsjZGVmaW5lIElTX0dFTjExKGRldl9wcml2KQkoISEoSU5URUxfSU5GTyhkZXZf cHJpdiktPmdlbl9tYXNrICYgQklUKDEwKSkpCj4gIAo+ICAjZGVmaW5lIElTX0xQKGRldl9wcml2 KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmlzX2xwKQo+ICAjZGVmaW5lIElTX0dFTjlfTFAoZGV2 X3ByaXYpCShJU19HRU45KGRldl9wcml2KSAmJiBJU19MUChkZXZfcHJpdikpCj4gQEAgLTI1NjYs MjAgKzI1NjAsMjAgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIAo+ICAjZGVmaW5lIEhBU19MRUdBQ1lfU0VNQVBIT1JFUyhkZXZfcHJpdikg SVNfR0VONyhkZXZfcHJpdikKPiAgCj4gLSNkZWZpbmUgSEFTX0xMQyhkZXZfcHJpdikJKChkZXZf cHJpdiktPmluZm8uaGFzX2xsYykKPiAtI2RlZmluZSBIQVNfU05PT1AoZGV2X3ByaXYpCSgoZGV2 X3ByaXYpLT5pbmZvLmhhc19zbm9vcCkKPiArI2RlZmluZSBIQVNfTExDKGRldl9wcml2KQkoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmhhc19sbGMpCj4gKyNkZWZpbmUgSEFTX1NOT09QKGRldl9wcml2 KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19zbm9vcCkKPiAgI2RlZmluZSBIQVNfRURSQU0o ZGV2X3ByaXYpCSghISgoZGV2X3ByaXYpLT5lZHJhbV9jYXAgJiBFRFJBTV9FTkFCTEVEKSkKPiAg I2RlZmluZSBIQVNfV1QoZGV2X3ByaXYpCSgoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgXAo+ICAJ CQkJIElTX0JST0FEV0VMTChkZXZfcHJpdikpICYmIEhBU19FRFJBTShkZXZfcHJpdikpCj4gIAo+ IC0jZGVmaW5lIEhXU19ORUVEU19QSFlTSUNBTChkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8u aHdzX25lZWRzX3BoeXNpY2FsKQo+ICsjZGVmaW5lIEhXU19ORUVEU19QSFlTSUNBTChkZXZfcHJp dikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5od3NfbmVlZHNfcGh5c2ljYWwpCj4gIAo+ICAjZGVm aW5lIEhBU19MT0dJQ0FMX1JJTkdfQ09OVEVYVFMoZGV2X3ByaXYpIFwKPiAtCQkoKGRldl9wcml2 KS0+aW5mby5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzKQo+ICsJCShJTlRFTF9JTkZPKGRldl9w cml2KS0+aGFzX2xvZ2ljYWxfcmluZ19jb250ZXh0cykKPiAgI2RlZmluZSBIQVNfTE9HSUNBTF9S SU5HX0VMU1EoZGV2X3ByaXYpIFwKPiAtCQkoKGRldl9wcml2KS0+aW5mby5oYXNfbG9naWNhbF9y aW5nX2Vsc3EpCj4gKwkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfbG9naWNhbF9yaW5nX2Vs c3EpCj4gICNkZWZpbmUgSEFTX0xPR0lDQUxfUklOR19QUkVFTVBUSU9OKGRldl9wcml2KSBcCj4g LQkJKChkZXZfcHJpdiktPmluZm8uaGFzX2xvZ2ljYWxfcmluZ19wcmVlbXB0aW9uKQo+ICsJCShJ TlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX2xvZ2ljYWxfcmluZ19wcmVlbXB0aW9uKQo+ICAKPiAg I2RlZmluZSBIQVNfRVhFQ0xJU1RTKGRldl9wcml2KSBIQVNfTE9HSUNBTF9SSU5HX0NPTlRFWFRT KGRldl9wcml2KQo+ICAKPiBAQCAtMjU5Niw5ICsyNTkwLDkgQEAgaW50ZWxfaW5mbyhjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkoKHNpemVzKSAmIH4oZGV2X3By aXYpLT5ydW50aW1lX2luZm8ucGFnZV9zaXplcykgPT0gMDsgXAo+ICB9KQo+ICAKPiAtI2RlZmlu ZSBIQVNfT1ZFUkxBWShkZXZfcHJpdikJCSAoKGRldl9wcml2KS0+aW5mby5oYXNfb3ZlcmxheSkK PiArI2RlZmluZSBIQVNfT1ZFUkxBWShkZXZfcHJpdikJCSAoSU5URUxfSU5GTyhkZXZfcHJpdikt Pmhhc19vdmVybGF5KQo+ICAjZGVmaW5lIE9WRVJMQVlfTkVFRFNfUEhZU0lDQUwoZGV2X3ByaXYp IFwKPiAtCQkoKGRldl9wcml2KS0+aW5mby5vdmVybGF5X25lZWRzX3BoeXNpY2FsKQo+ICsJCShJ TlRFTF9JTkZPKGRldl9wcml2KS0+b3ZlcmxheV9uZWVkc19waHlzaWNhbCkKPiAgCj4gIC8qIEVh cmx5IGdlbjIgaGF2ZSBhIHRvdGFsbHkgYnVzdGVkIENTIHRsYiBhbmQgcmVxdWlyZSBwaW5uZWQg YmF0Y2hlcy4gKi8KPiAgI2RlZmluZSBIQVNfQlJPS0VOX0NTX1RMQihkZXZfcHJpdikJKElTX0k4 MzAoZGV2X3ByaXYpIHx8IElTX0k4NDVHKGRldl9wcml2KSkKPiBAQCAtMjYxOSw4ICsyNjEzLDgg QEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4g ICNkZWZpbmUgSEFTXzEyOF9CWVRFX1lfVElMSU5HKGRldl9wcml2KSAoIUlTX0dFTjIoZGV2X3By aXYpICYmIFwKPiAgCQkJCQkgIShJU19JOTE1RyhkZXZfcHJpdikgfHwgXAo+ICAJCQkJCSBJU19J OTE1R00oZGV2X3ByaXYpKSkKPiAtI2RlZmluZSBTVVBQT1JUU19UVihkZXZfcHJpdikJCSgoZGV2 X3ByaXYpLT5pbmZvLnN1cHBvcnRzX3R2KQo+IC0jZGVmaW5lIEk5MTVfSEFTX0hPVFBMVUcoZGV2 X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19ob3RwbHVnKQo+ICsjZGVmaW5lIFNVUFBPUlRT X1RWKGRldl9wcml2KQkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5zdXBwb3J0c190dikKPiArI2Rl ZmluZSBJOTE1X0hBU19IT1RQTFVHKGRldl9wcml2KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhh c19ob3RwbHVnKQo+ICAKPiAgI2RlZmluZSBIQVNfRldfQkxDKGRldl9wcml2KSAJKElOVEVMX0dF TihkZXZfcHJpdikgPiAyKQo+ICAjZGVmaW5lIEhBU19GQkMoZGV2X3ByaXYpCSgoZGV2X3ByaXYp LT5ydW50aW1lX2luZm8uaGFzX2ZiYykKPiBAQCAtMjYyOCwzMCArMjYyMiwzMCBAQCBpbnRlbF9p bmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gICNkZWZp bmUgSEFTX0lQUyhkZXZfcHJpdikJKElTX0hTV19VTFQoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VM TChkZXZfcHJpdikpCj4gIAo+IC0jZGVmaW5lIEhBU19EUF9NU1QoZGV2X3ByaXYpCSgoZGV2X3By aXYpLT5pbmZvLmhhc19kcF9tc3QpCj4gKyNkZWZpbmUgSEFTX0RQX01TVChkZXZfcHJpdikJKElO VEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfZHBfbXN0KQo+ICAKPiAtI2RlZmluZSBIQVNfRERJKGRl dl9wcml2KQkJICgoZGV2X3ByaXYpLT5pbmZvLmhhc19kZGkpCj4gLSNkZWZpbmUgSEFTX0ZQR0Ff REJHX1VOQ0xBSU1FRChkZXZfcHJpdikgKChkZXZfcHJpdiktPmluZm8uaGFzX2ZwZ2FfZGJnKQo+ IC0jZGVmaW5lIEhBU19QU1IoZGV2X3ByaXYpCQkgKChkZXZfcHJpdiktPmluZm8uaGFzX3BzcikK PiArI2RlZmluZSBIQVNfRERJKGRldl9wcml2KQkJIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFz X2RkaSkKPiArI2RlZmluZSBIQVNfRlBHQV9EQkdfVU5DTEFJTUVEKGRldl9wcml2KSAoSU5URUxf SU5GTyhkZXZfcHJpdiktPmhhc19mcGdhX2RiZykKPiArI2RlZmluZSBIQVNfUFNSKGRldl9wcml2 KQkJIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX3BzcikKPiAgCj4gICNkZWZpbmUgSEFTX1JD NihkZXZfcHJpdikJCSAoKGRldl9wcml2KS0+cnVudGltZV9pbmZvLmhhc19yYzYpCj4gICNkZWZp bmUgSEFTX1JDNnAoZGV2X3ByaXYpCQkgKChkZXZfcHJpdiktPnJ1bnRpbWVfaW5mby5oYXNfcmM2 cCkKPiAgI2RlZmluZSBIQVNfUkM2cHAoZGV2X3ByaXYpCQkgKGZhbHNlKSAvKiBIVyB3YXMgbmV2 ZXIgdmFsaWRhdGVkICovCj4gIAo+IC0jZGVmaW5lIEhBU19DU1IoZGV2X3ByaXYpCSgoZGV2X3By aXYpLT5pbmZvLmhhc19jc3IpCj4gKyNkZWZpbmUgSEFTX0NTUihkZXZfcHJpdikJKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5oYXNfY3NyKQo+ICAKPiAtI2RlZmluZSBIQVNfUlVOVElNRV9QTShkZXZf cHJpdikgKChkZXZfcHJpdiktPmluZm8uaGFzX3J1bnRpbWVfcG0pCj4gLSNkZWZpbmUgSEFTXzY0 QklUX1JFTE9DKGRldl9wcml2KSAoKGRldl9wcml2KS0+aW5mby5oYXNfNjRiaXRfcmVsb2MpCj4g KyNkZWZpbmUgSEFTX1JVTlRJTUVfUE0oZGV2X3ByaXYpIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ aGFzX3J1bnRpbWVfcG0pCj4gKyNkZWZpbmUgSEFTXzY0QklUX1JFTE9DKGRldl9wcml2KSAoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmhhc182NGJpdF9yZWxvYykKPiAgCj4gLSNkZWZpbmUgSEFTX0lQ QyhkZXZfcHJpdikJCSAoKGRldl9wcml2KS0+aW5mby5oYXNfaXBjKQo+ICsjZGVmaW5lIEhBU19J UEMoZGV2X3ByaXYpCQkgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfaXBjKQo+ICAKPiAgLyoK PiAgICogRm9yIG5vdywgYW55dGhpbmcgd2l0aCBhIEd1QyByZXF1aXJlcyB1Q29kZSBsb2FkaW5n LCBhbmQgdGhlbiBzdXBwb3J0cwo+ICAgKiBjb21tYW5kIHN1Ym1pc3Npb24gb25jZSBsb2FkZWQu IEJ1dCB0aGVzZSBhcmUgbG9naWNhbGx5IGluZGVwZW5kZW50Cj4gICAqIHByb3BlcnRpZXMsIHNv IHdlIGhhdmUgc2VwYXJhdGUgbWFjcm9zIHRvIHRlc3QgdGhlbS4KPiAgICovCj4gLSNkZWZpbmUg SEFTX0dVQyhkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2d1YykKPiAtI2RlZmluZSBI QVNfR1VDX0NUKGRldl9wcml2KQkoKGRldl9wcml2KS0+aW5mby5oYXNfZ3VjX2N0KQo+ICsjZGVm aW5lIEhBU19HVUMoZGV2X3ByaXYpCShJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX2d1YykKPiAr I2RlZmluZSBIQVNfR1VDX0NUKGRldl9wcml2KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19n dWNfY3QpCj4gICNkZWZpbmUgSEFTX0dVQ19VQ09ERShkZXZfcHJpdikJKEhBU19HVUMoZGV2X3By aXYpKQo+ICAjZGVmaW5lIEhBU19HVUNfU0NIRUQoZGV2X3ByaXYpCShIQVNfR1VDKGRldl9wcml2 KSkKPiAgCj4gQEAgLTI3MDQsMTIgKzI2OTgsMTIgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICNkZWZpbmUgSEFTX1BDSF9OT1AoZGV2X3By aXYpIChJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikgPT0gUENIX05PUCkKPiAgI2RlZmluZSBIQVNf UENIX1NQTElUKGRldl9wcml2KSAoSU5URUxfUENIX1RZUEUoZGV2X3ByaXYpICE9IFBDSF9OT05F KQo+ICAKPiAtI2RlZmluZSBIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2KSAoKGRldl9wcml2KS0+ aW5mby5oYXNfZ21jaF9kaXNwbGF5KQo+ICsjZGVmaW5lIEhBU19HTUNIX0RJU1BMQVkoZGV2X3By aXYpIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX2dtY2hfZGlzcGxheSkKPiAgCj4gICNkZWZp bmUgSEFTX0xTUENPTihkZXZfcHJpdikgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCj4g IC8qIERQRiA9PSBkeW5hbWljIHBhcml0eSBmZWF0dXJlICovCj4gLSNkZWZpbmUgSEFTX0wzX0RQ RihkZXZfcHJpdikgKChkZXZfcHJpdiktPmluZm8uaGFzX2wzX2RwZikKPiArI2RlZmluZSBIQVNf TDNfRFBGKGRldl9wcml2KSAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19sM19kcGYpCj4gICNk ZWZpbmUgTlVNX0wzX1NMSUNFUyhkZXZfcHJpdikgKElTX0hTV19HVDMoZGV2X3ByaXYpID8gXAo+ ICAJCQkJIDIgOiBIQVNfTDNfRFBGKGRldl9wcml2KSkKPiAgCj4gQEAgLTM0NjUsMTMgKzM0NTks NiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfcmVnaXN0ZXJfZHNtX2hhbmRsZXIodm9pZCkg eyByZXR1cm47IH0KPiAgc3RhdGljIGlubGluZSB2b2lkIGludGVsX3VucmVnaXN0ZXJfZHNtX2hh bmRsZXIodm9pZCkgeyByZXR1cm47IH0KPiAgI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCj4gIAo+ IC0vKiBpbnRlbF9kZXZpY2VfaW5mby5jICovCj4gLXN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVs X2RldmljZV9pbmZvICoKPiAtbWt3cml0ZV9kZXZpY2VfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gLXsKPiAtCXJldHVybiAoc3RydWN0IGludGVsX2RldmljZV9pbmZv ICopJmRldl9wcml2LT5pbmZvOwo+IC19Cj4gLQo+ICAvKiBtb2Rlc2V0dGluZyAqLwo+ICBleHRl cm4gdm9pZCBpbnRlbF9tb2Rlc2V0X2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4g IGV4dGVybiBpbnQgaW50ZWxfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IGZlNGI5MTNlNDZhYy4uNGMwZTViNjJlN2Zh IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTE3OSwxNSArMTc5LDE1IEBAIHN0 YXRpYyBpbmxpbmUgYm9vbCBpOTE1X21taW9fcmVnX3ZhbGlkKGk5MTVfcmVnX3QgcmVnKQo+ICAg KiBEZXZpY2UgaW5mbyBvZmZzZXQgYXJyYXkgYmFzZWQgaGVscGVycyBmb3IgZ3JvdXBzIG9mIHJl Z2lzdGVycyB3aXRoIHVuZXZlbmx5Cj4gICAqIHNwYWNlZCBiYXNlIG9mZnNldHMuCj4gICAqLwo+ IC0jZGVmaW5lIF9NTUlPX1BJUEUyKHBpcGUsIHJlZykJCV9NTUlPKGRldl9wcml2LT5pbmZvLnBp cGVfb2Zmc2V0c1twaXBlXSAtIFwKPiAtCQkJCQkgICAgICBkZXZfcHJpdi0+aW5mby5waXBlX29m ZnNldHNbUElQRV9BXSArIChyZWcpICsgXAo+IC0JCQkJCSAgICAgIGRldl9wcml2LT5pbmZvLmRp c3BsYXlfbW1pb19vZmZzZXQpCj4gLSNkZWZpbmUgX01NSU9fVFJBTlMyKHBpcGUsIHJlZykJCV9N TUlPKGRldl9wcml2LT5pbmZvLnRyYW5zX29mZnNldHNbKHBpcGUpXSAtIFwKPiAtCQkJCQkgICAg ICBkZXZfcHJpdi0+aW5mby50cmFuc19vZmZzZXRzW1RSQU5TQ09ERVJfQV0gKyAocmVnKSArIFwK PiAtCQkJCQkgICAgICBkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0KQo+IC0jZGVm aW5lIF9DVVJTT1IyKHBpcGUsIHJlZykJCV9NTUlPKGRldl9wcml2LT5pbmZvLmN1cnNvcl9vZmZz ZXRzWyhwaXBlKV0gLSBcCj4gLQkJCQkJICAgICAgZGV2X3ByaXYtPmluZm8uY3Vyc29yX29mZnNl dHNbUElQRV9BXSArIChyZWcpICsgXAo+IC0JCQkJCSAgICAgIGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQpCj4gKyNkZWZpbmUgX01NSU9fUElQRTIocGlwZSwgcmVnKQkJX01NSU8o SU5URUxfSU5GTyhkZXZfcHJpdiktPnBpcGVfb2Zmc2V0c1twaXBlXSAtIFwKPiArCQkJCQkgICAg ICBJTlRFTF9JTkZPKGRldl9wcml2KS0+cGlwZV9vZmZzZXRzW1BJUEVfQV0gKyAocmVnKSArIFwK PiArCQkJCQkgICAgICBJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCkK PiArI2RlZmluZSBfTU1JT19UUkFOUzIocGlwZSwgcmVnKQkJX01NSU8oSU5URUxfSU5GTyhkZXZf cHJpdiktPnRyYW5zX29mZnNldHNbKHBpcGUpXSAtIFwKPiArCQkJCQkgICAgICBJTlRFTF9JTkZP KGRldl9wcml2KS0+dHJhbnNfb2Zmc2V0c1tUUkFOU0NPREVSX0FdICsgKHJlZykgKyBcCj4gKwkJ CQkJICAgICAgSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQpCj4gKyNk ZWZpbmUgX0NVUlNPUjIocGlwZSwgcmVnKQkJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJpdiktPmN1 cnNvcl9vZmZzZXRzWyhwaXBlKV0gLSBcCj4gKwkJCQkJICAgICAgSU5URUxfSU5GTyhkZXZfcHJp diktPmN1cnNvcl9vZmZzZXRzW1BJUEVfQV0gKyAocmVnKSArIFwKPiArCQkJCQkgICAgICBJTlRF TF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCkKPiAgCj4gICNkZWZpbmUgX19N QVNLRURfRklFTEQobWFzaywgdmFsdWUpICgobWFzaykgPDwgMTYgfCAodmFsdWUpKQo+ICAjZGVm aW5lIF9NQVNLRURfRklFTEQobWFzaywgdmFsdWUpICh7CQkJCQkgICBcCj4gQEAgLTMxNTMsOSAr MzE1Myw5IEBAIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHsKPiAgLyoKPiAgICogQ2xvY2sgY29u dHJvbCAmIHBvd2VyIG1hbmFnZW1lbnQKPiAgICovCj4gLSNkZWZpbmUgX0RQTExfQSAoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAxNCkKPiAtI2RlZmluZSBfRFBMTF9C IChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDE4KQo+IC0jZGVmaW5l IF9DSFZfRFBMTF9DIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDMw KQo+ICsjZGVmaW5lIF9EUExMX0EgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2MDE0KQo+ICsjZGVmaW5lIF9EUExMX0IgKElOVEVMX0lORk8oZGV2X3ByaXYp LT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDE4KQo+ICsjZGVmaW5lIF9DSFZfRFBMTF9DIChJ TlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAzMCkKPiAgI2Rl ZmluZSBEUExMKHBpcGUpIF9NTUlPX1BJUEUzKChwaXBlKSwgX0RQTExfQSwgX0RQTExfQiwgX0NI Vl9EUExMX0MpCj4gIAo+ICAjZGVmaW5lIFZHQTAJX01NSU8oMHg2MDAwKQo+IEBAIC0zMjUyLDkg KzMyNTIsOSBAQCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7Cj4gICNkZWZpbmUgICBTRFZPX01V TFRJUExJRVJfU0hJRlRfSElSRVMJCTQKPiAgI2RlZmluZSAgIFNEVk9fTVVMVElQTElFUl9TSElG VF9WR0EJCTAKPiAgCj4gLSNkZWZpbmUgX0RQTExfQV9NRCAoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjAxYykKPiAtI2RlZmluZSBfRFBMTF9CX01EIChkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDIwKQo+IC0jZGVmaW5lIF9DSFZfRFBMTF9D X01EIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDNjKQo+ICsjZGVm aW5lIF9EUExMX0FfTUQgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2MDFjKQo+ICsjZGVmaW5lIF9EUExMX0JfTUQgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MDIwKQo+ICsjZGVmaW5lIF9DSFZfRFBMTF9DX01EIChJ TlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAzYykKPiAgI2Rl ZmluZSBEUExMX01EKHBpcGUpIF9NTUlPX1BJUEUzKChwaXBlKSwgX0RQTExfQV9NRCwgX0RQTExf Ql9NRCwgX0NIVl9EUExMX0NfTUQpCj4gIAo+ICAvKgo+IEBAIC0zMzI2LDcgKzMzMjYsNyBAQCBl bnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7Cj4gICNkZWZpbmUgIERTVEFURV9QTExfRDNfT0ZGCQkJ KDEgPDwgMykKPiAgI2RlZmluZSAgRFNUQVRFX0dGWF9DTE9DS19HQVRJTkcJCSgxIDw8IDEpCj4g ICNkZWZpbmUgIERTVEFURV9ET1RfQ0xPQ0tfR0FUSU5HCQkoMSA8PCAwKQo+IC0jZGVmaW5lIERT UENMS19HQVRFX0QJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjIwMCkKPiArI2RlZmluZSBEU1BDTEtfR0FURV9ECV9NTUlPKElOVEVMX0lORk8oZGV2X3ByaXYp LT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MjAwKQo+ICAjIGRlZmluZSBEUFVOSVRfQl9DTE9D S19HQVRFX0RJU0FCTEUJCSgxIDw8IDMwKSAvKiA5NjUgKi8KPiAgIyBkZWZpbmUgVlNVTklUX0NM T0NLX0dBVEVfRElTQUJMRQkJKDEgPDwgMjkpIC8qIDk2NSAqLwo+ICAjIGRlZmluZSBWUkhVTklU X0NMT0NLX0dBVEVfRElTQUJMRQkJKDEgPDwgMjgpIC8qIDk2NSAqLwo+IEBAIC0zNDY2LDcgKzM0 NjYsNyBAQCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7Cj4gICNkZWZpbmUgX1BBTEVUVEVfQQkJ MHhhMDAwCj4gICNkZWZpbmUgX1BBTEVUVEVfQgkJMHhhODAwCj4gICNkZWZpbmUgX0NIVl9QQUxF VFRFX0MJCTB4YzAwMAo+IC0jZGVmaW5lIFBBTEVUVEUocGlwZSwgaSkJX01NSU8oZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIFwKPiArI2RlZmluZSBQQUxFVFRFKHBpcGUsIGkp CV9NTUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgXAo+ICAJ CQkJICAgICAgX1BJQ0soKHBpcGUpLCBfUEFMRVRURV9BLAkJXAo+ICAJCQkJCSAgICBfUEFMRVRU RV9CLCBfQ0hWX1BBTEVUVEVfQykgKyBcCj4gIAkJCQkgICAgICAoaSkgKiA0KQo+IEBAIC00Mjk1 LDcgKzQyOTUsNyBAQCBlbnVtIHsKPiAgCj4gIAo+ICAvKiBIb3RwbHVnIGNvbnRyb2wgKDk0NSsg b25seSkgKi8KPiAtI2RlZmluZSBQT1JUX0hPVFBMVUdfRU4JCV9NTUlPKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMTEwKQo+ICsjZGVmaW5lIFBPUlRfSE9UUExVR19F TgkJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYx MTEwKQo+ICAjZGVmaW5lICAgUE9SVEJfSE9UUExVR19JTlRfRU4JCQkoMSA8PCAyOSkKPiAgI2Rl ZmluZSAgIFBPUlRDX0hPVFBMVUdfSU5UX0VOCQkJKDEgPDwgMjgpCj4gICNkZWZpbmUgICBQT1JU RF9IT1RQTFVHX0lOVF9FTgkJCSgxIDw8IDI3KQo+IEBAIC00MzI1LDcgKzQzMjUsNyBAQCBlbnVt IHsKPiAgI2RlZmluZSBDUlRfSE9UUExVR19ERVRFQ1RfVk9MVEFHRV8zMjVNVgkoMCA8PCAyKQo+ ICAjZGVmaW5lIENSVF9IT1RQTFVHX0RFVEVDVF9WT0xUQUdFXzQ3NU1WCSgxIDw8IDIpCj4gIAo+ IC0jZGVmaW5lIFBPUlRfSE9UUExVR19TVEFUCV9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDYxMTE0KQo+ICsjZGVmaW5lIFBPUlRfSE9UUExVR19TVEFUCV9NTUlP KElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTExNCkKPiAg LyoKPiAgICogSERNSS9EUCBiaXRzIGFyZSBnNHgrCj4gICAqCj4gQEAgLTQ0MDcsNyArNDQwNyw3 IEBAIGVudW0gewo+ICAKPiAgI2RlZmluZSBQT1JUX0RGVF9JOVhYCQkJCV9NTUlPKDB4NjExNTAp Cj4gICNkZWZpbmUgICBEQ19CQUxBTkNFX1JFU0VUCQkJKDEgPDwgMjUpCj4gLSNkZWZpbmUgUE9S VF9ERlQyX0c0WAkJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjExNTQpCj4gKyNkZWZpbmUgUE9SVF9ERlQyX0c0WAkJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMTU0KQo+ICAjZGVmaW5lICAgRENfQkFMQU5D RV9SRVNFVF9WTFYJCQkoMSA8PCAzMSkKPiAgI2RlZmluZSAgIFBJUEVfU0NSQU1CTEVfUkVTRVRf TUFTSwkJKCgxIDw8IDE0KSB8ICgweDMgPDwgMCkpCj4gICNkZWZpbmUgICBQSVBFX0NfU0NSQU1C TEVfUkVTRVQJCQkoMSA8PCAxNCkgLyogY2h2ICovCj4gQEAgLTQ2ODAsNyArNDY4MCw3IEBAIGVu dW0gewo+ICAjZGVmaW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAkwCj4gIAo+ICAv KiBQYW5lbCBmaXR0aW5nICovCj4gLSNkZWZpbmUgUEZJVF9DT05UUk9MCV9NTUlPKGRldl9wcml2 LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjMwKQo+ICsjZGVmaW5lIFBGSVRfQ09O VFJPTAlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjEyMzApCj4gICNkZWZpbmUgICBQRklUX0VOQUJMRQkJKDEgPDwgMzEpCj4gICNkZWZpbmUgICBQ RklUX1BJUEVfTUFTSwkoMyA8PCAyOSkKPiAgI2RlZmluZSAgIFBGSVRfUElQRV9TSElGVAkyOQo+ IEBAIC00Njk4LDcgKzQ2OTgsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIFBGSVRfU0NBTElOR19Q Uk9HUkFNTUVEICgxIDw8IDI2KQo+ICAjZGVmaW5lICAgUEZJVF9TQ0FMSU5HX1BJTExBUgkoMiA8 PCAyNikKPiAgI2RlZmluZSAgIFBGSVRfU0NBTElOR19MRVRURVIJKDMgPDwgMjYpCj4gLSNkZWZp bmUgUEZJVF9QR01fUkFUSU9TIF9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDYxMjM0KQo+ICsjZGVmaW5lIFBGSVRfUEdNX1JBVElPUyBfTU1JTyhJTlRFTF9JTkZP KGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEyMzQpCj4gIC8qIFByZS05NjUg Ki8KPiAgI2RlZmluZQkJUEZJVF9WRVJUX1NDQUxFX1NISUZUCQkyMAo+ICAjZGVmaW5lCQlQRklU X1ZFUlRfU0NBTEVfTUFTSwkJMHhmZmYwMDAwMAo+IEBAIC00NzEwLDI1ICs0NzEwLDI1IEBAIGVu dW0gewo+ICAjZGVmaW5lCQlQRklUX0hPUklaX1NDQUxFX1NISUZUXzk2NQkwCj4gICNkZWZpbmUJ CVBGSVRfSE9SSVpfU0NBTEVfTUFTS185NjUJMHgwMDAwMWZmZgo+ICAKPiAtI2RlZmluZSBQRklU X0FVVE9fUkFUSU9TIF9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDYxMjM4KQo+ICsjZGVmaW5lIFBGSVRfQVVUT19SQVRJT1MgX01NSU8oSU5URUxfSU5GTyhkZXZf cHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjM4KQo+ICAKPiAtI2RlZmluZSBfVkxW X0JMQ19QV01fQ1RMMl9BIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 MTI1MCkKPiAtI2RlZmluZSBfVkxWX0JMQ19QV01fQ1RMMl9CIChkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2MTM1MCkKPiArI2RlZmluZSBfVkxWX0JMQ19QV01fQ1RMMl9B IChJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEyNTApCj4g KyNkZWZpbmUgX1ZMVl9CTENfUFdNX0NUTDJfQiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDYxMzUwKQo+ICAjZGVmaW5lIFZMVl9CTENfUFdNX0NUTDIocGlw ZSkgX01NSU9fUElQRShwaXBlLCBfVkxWX0JMQ19QV01fQ1RMMl9BLCBcCj4gIAkJCQkJIF9WTFZf QkxDX1BXTV9DVEwyX0IpCj4gIAo+IC0jZGVmaW5lIF9WTFZfQkxDX1BXTV9DVExfQSAoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEyNTQpCj4gLSNkZWZpbmUgX1ZMVl9C TENfUFdNX0NUTF9CIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTM1 NCkKPiArI2RlZmluZSBfVkxWX0JMQ19QV01fQ1RMX0EgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI1NCkKPiArI2RlZmluZSBfVkxWX0JMQ19QV01fQ1RM X0IgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTM1NCkK PiAgI2RlZmluZSBWTFZfQkxDX1BXTV9DVEwocGlwZSkgX01NSU9fUElQRShwaXBlLCBfVkxWX0JM Q19QV01fQ1RMX0EsIFwKPiAgCQkJCQlfVkxWX0JMQ19QV01fQ1RMX0IpCj4gIAo+IC0jZGVmaW5l IF9WTFZfQkxDX0hJU1RfQ1RMX0EgKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDYxMjYwKQo+IC0jZGVmaW5lIF9WTFZfQkxDX0hJU1RfQ1RMX0IgKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMzYwKQo+ICsjZGVmaW5lIF9WTFZfQkxDX0hJU1Rf Q1RMX0EgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI2 MCkKPiArI2RlZmluZSBfVkxWX0JMQ19ISVNUX0NUTF9CIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEzNjApCj4gICNkZWZpbmUgVkxWX0JMQ19ISVNUX0NU TChwaXBlKSBfTU1JT19QSVBFKHBpcGUsIF9WTFZfQkxDX0hJU1RfQ1RMX0EsIFwKPiAgCQkJCQkg X1ZMVl9CTENfSElTVF9DVExfQikKPiAgCj4gIC8qIEJhY2tsaWdodCBjb250cm9sICovCj4gLSNk ZWZpbmUgQkxDX1BXTV9DVEwyCV9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDYxMjUwKSAvKiA5NjUrIG9ubHkgKi8KPiArI2RlZmluZSBCTENfUFdNX0NUTDIJX01N SU8oSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjUwKSAv KiA5NjUrIG9ubHkgKi8KPiAgI2RlZmluZSAgIEJMTV9QV01fRU5BQkxFCQkoMSA8PCAzMSkKPiAg I2RlZmluZSAgIEJMTV9DT01CSU5BVElPTl9NT0RFCQkoMSA8PCAzMCkgLyogZ2VuNCBvbmx5ICov Cj4gICNkZWZpbmUgICBCTE1fUElQRV9TRUxFQ1QJCSgxIDw8IDI5KQo+IEBAIC00NzUxLDcgKzQ3 NTEsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIEJMTV9QSEFTRV9JTl9DT1VOVF9NQVNLCSgweGZm IDw8IDgpCj4gICNkZWZpbmUgICBCTE1fUEhBU0VfSU5fSU5DUl9TSElGVAkoMCkKPiAgI2RlZmlu ZSAgIEJMTV9QSEFTRV9JTl9JTkNSX01BU0sJKDB4ZmYgPDwgMCkKPiAtI2RlZmluZSBCTENfUFdN X0NUTAlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI1NCkK PiArI2RlZmluZSBCTENfUFdNX0NUTAlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjEyNTQpCj4gIC8qCj4gICAqIFRoaXMgaXMgdGhlIG1vc3Qgc2ln bmlmaWNhbnQgMTUgYml0cyBvZiB0aGUgbnVtYmVyIG9mIGJhY2tsaWdodCBjeWNsZXMgaW4gYQo+ ICAgKiBjb21wbGV0ZSBjeWNsZSBvZiB0aGUgbW9kdWxhdGVkIGJhY2tsaWdodCBjb250cm9sLgo+ IEBAIC00NzczLDcgKzQ3NzMsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIEJBQ0tMSUdIVF9EVVRZ X0NZQ0xFX01BU0tfUE5WCQkoMHhmZmZlKQo+ICAjZGVmaW5lICAgQkxNX1BPTEFSSVRZX1BOVgkJ CSgxIDw8IDApIC8qIHBudiBvbmx5ICovCj4gIAo+IC0jZGVmaW5lIEJMQ19ISVNUX0NUTAlfTU1J TyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI2MCkKPiArI2RlZmlu ZSBCTENfSElTVF9DVEwJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDYxMjYwKQo+ICAjZGVmaW5lICBCTE1fSElTVE9HUkFNX0VOQUJMRQkJCSgxIDw8 IDMxKQo+ICAKPiAgLyogTmV3IHJlZ2lzdGVycyBmb3IgUENILXNwbGl0IHBsYXRmb3Jtcy4gU2Fm ZSB3aGVyZSBuZXcgYml0cyBzaG93IHVwLCB0aGUKPiBAQCAtNTM5Nyw0NyArNTM5Nyw0NyBAQCBl bnVtIHsKPiAgICogaXMgMjAgYnl0ZXMgaW4gZWFjaCBkaXJlY3Rpb24sIGhlbmNlIHRoZSA1IGZp eGVkCj4gICAqIGRhdGEgcmVnaXN0ZXJzCj4gICAqLwo+IC0jZGVmaW5lIF9EUEFfQVVYX0NIX0NU TAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDEwKQo+IC0jZGVm aW5lIF9EUEFfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2NDAxNCkKPiAtI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTgpCj4gLSNkZWZpbmUgX0RQQV9BVVhfQ0hfREFU QTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDFjKQo+IC0jZGVm aW5lIF9EUEFfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2NDAyMCkKPiAtI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjQpCj4gLQo+IC0jZGVmaW5lIF9EUEJfQVVYX0NI X0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTEwKQo+IC0j ZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg2NDExNCkKPiAtI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMTgpCj4gLSNkZWZpbmUgX0RQQl9BVVhfQ0hf REFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTFjKQo+IC0j ZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg2NDEyMCkKPiAtI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMjQpCj4gLQo+IC0jZGVmaW5lIF9EUENfQVVY X0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjEwKQo+ IC0jZGVmaW5lIF9EUENfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDIxNCkKPiAtI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTgpCj4gLSNkZWZpbmUgX0RQQ19BVVhf Q0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjFjKQo+ IC0jZGVmaW5lIF9EUENfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDIyMCkKPiAtI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMjQpCj4gLQo+IC0jZGVmaW5lIF9EUERf QVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzEw KQo+IC0jZGVmaW5lIF9EUERfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDMxNCkKPiAtI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBMgkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMTgpCj4gLSNkZWZpbmUgX0RQRF9B VVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzFj KQo+IC0jZGVmaW5lIF9EUERfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDMyMCkKPiAtI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBNQkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMjQpCj4gLQo+IC0jZGVmaW5lIF9E UEVfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 NDEwKQo+IC0jZGVmaW5lIF9EUEVfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDQxNCkKPiAtI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBMgkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ0MTgpCj4gLSNkZWZpbmUgX0RQ RV9BVVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 NDFjKQo+IC0jZGVmaW5lIF9EUEVfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDQyMCkKPiAtI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBNQkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ0MjQpCj4gLQo+IC0jZGVmaW5l IF9EUEZfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDY0NTEwKQo+IC0jZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxNCkKPiAtI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBMgko ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MTgpCj4gLSNkZWZpbmUg X0RQRl9BVVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDY0NTFjKQo+IC0jZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDUyMCkKPiAtI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBNQko ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MjQpCj4gKyNkZWZpbmUg X0RQQV9BVVhfQ0hfQ1RMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDY0MDEwKQo+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEExCShJTlRFTF9JTkZPKGRl dl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTQpCj4gKyNkZWZpbmUgX0RQQV9B VVhfQ0hfREFUQTIJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDAxOCkKPiArI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBMwkoSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDFjKQo+ICsjZGVmaW5lIF9EUEFfQVVYX0NI X0RBVEE0CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQw MjApCj4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfREFUQTUJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAyNCkKPiArCj4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hf Q1RMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTEw KQo+ICsjZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEExCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQxMTQpCj4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTIJ KElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDExOCkKPiAr I2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMwkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDY0MTFjKQo+ICsjZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEE0CShJTlRF TF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMjApCj4gKyNkZWZp bmUgX0RQQl9BVVhfQ0hfREFUQTUJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDEyNCkKPiArCj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfQ1RMCQkoSU5URUxf SU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjEwKQo+ICsjZGVmaW5l IF9EUENfQVVYX0NIX0RBVEExCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQyMTQpCj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTIJKElOVEVMX0lORk8o ZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIxOCkKPiArI2RlZmluZSBfRFBD X0FVWF9DSF9EQVRBMwkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDY0MjFjKQo+ICsjZGVmaW5lIF9EUENfQVVYX0NIX0RBVEE0CShJTlRFTF9JTkZPKGRldl9w cml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMjApCj4gKyNkZWZpbmUgX0RQQ19BVVhf Q0hfREFUQTUJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDIyNCkKPiArCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfQ1RMCQkoSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzEwKQo+ICsjZGVmaW5lIF9EUERfQVVYX0NI X0RBVEExCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQz MTQpCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTIJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxOCkKPiArI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRB MwkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzFjKQo+ ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEE0CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQzMjApCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTUJKElO VEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyNCkKPiArCj4g KyNkZWZpbmUgX0RQRV9BVVhfQ0hfQ1RMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDY0NDEwKQo+ICsjZGVmaW5lIF9EUEVfQVVYX0NIX0RBVEExCShJTlRF TF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ0MTQpCj4gKyNkZWZp bmUgX0RQRV9BVVhfQ0hfREFUQTIJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDQxOCkKPiArI2RlZmluZSBfRFBFX0FVWF9DSF9EQVRBMwkoSU5URUxfSU5G TyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NDFjKQo+ICsjZGVmaW5lIF9E UEVfQVVYX0NIX0RBVEE0CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQ0MjApCj4gKyNkZWZpbmUgX0RQRV9BVVhfQ0hfREFUQTUJKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDQyNCkKPiArCj4gKyNkZWZpbmUgX0RQ Rl9BVVhfQ0hfQ1RMCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDY0NTEwKQo+ICsjZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEExCShJTlRFTF9JTkZPKGRldl9w cml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MTQpCj4gKyNkZWZpbmUgX0RQRl9BVVhf Q0hfREFUQTIJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDUxOCkKPiArI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBMwkoSU5URUxfSU5GTyhkZXZfcHJpdikt PmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTFjKQo+ICsjZGVmaW5lIF9EUEZfQVVYX0NIX0RB VEE0CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MjAp Cj4gKyNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTUJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDUyNCkKPiAgCj4gICNkZWZpbmUgRFBfQVVYX0NIX0NUTChh dXhfY2gpCV9NTUlPX1BPUlQoYXV4X2NoLCBfRFBBX0FVWF9DSF9DVEwsIF9EUEJfQVVYX0NIX0NU TCkKPiAgI2RlZmluZSBEUF9BVVhfQ0hfREFUQShhdXhfY2gsIGkpCV9NTUlPKF9QT1JUKGF1eF9j aCwgX0RQQV9BVVhfQ0hfREFUQTEsIF9EUEJfQVVYX0NIX0RBVEExKSArIChpKSAqIDQpIC8qIDUg cmVnaXN0ZXJzICovCj4gQEAgLTU3MTMsNyArNTcxMyw3IEBAIGVudW0gewo+ICAjZGVmaW5lICAg RFBJTlZHVFRfU1RBVFVTX01BU0sJCQkweGZmCj4gICNkZWZpbmUgICBEUElOVkdUVF9TVEFUVVNf TUFTS19DSFYJCTB4ZmZmCj4gIAo+IC0jZGVmaW5lIERTUEFSQgkJCV9NTUlPKGRldl9wcml2LT5p bmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcwMDMwKQo+ICsjZGVmaW5lIERTUEFSQgkJCV9N TUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDAzMCkK PiAgI2RlZmluZSAgIERTUEFSQl9DU1RBUlRfTUFTSwkoMHg3ZiA8PCA3KQo+ICAjZGVmaW5lICAg RFNQQVJCX0NTVEFSVF9TSElGVAk3Cj4gICNkZWZpbmUgICBEU1BBUkJfQlNUQVJUX01BU0sJKDB4 N2YpCj4gQEAgLTU3NDgsNyArNTc0OCw3IEBAIGVudW0gewo+ICAjZGVmaW5lICAgRFNQQVJCX1NQ UklURUZfTUFTS19WTFYJKDB4ZmYgPDwgOCkKPiAgCj4gIC8qIHBudi9nZW40L2c0eC92bHYvY2h2 ICovCj4gLSNkZWZpbmUgRFNQRlcxCQlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg3MDAzNCkKPiArI2RlZmluZSBEU1BGVzEJCV9NTUlPKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDAzNCkKPiAgI2RlZmluZSAgIERTUEZX X1NSX1NISUZUCQkyMwo+ICAjZGVmaW5lICAgRFNQRldfU1JfTUFTSwkJCSgweDFmZiA8PCAyMykK PiAgI2RlZmluZSAgIERTUEZXX0NVUlNPUkJfU0hJRlQJCTE2Cj4gQEAgLTU3NTksNyArNTc1OSw3 IEBAIGVudW0gewo+ICAjZGVmaW5lICAgRFNQRldfUExBTkVBX1NISUZUCQkwCj4gICNkZWZpbmUg ICBEU1BGV19QTEFORUFfTUFTSwkJKDB4N2YgPDwgMCkKPiAgI2RlZmluZSAgIERTUEZXX1BMQU5F QV9NQVNLX1ZMVgkJKDB4ZmYgPDwgMCkgLyogdmx2L2NodiAqLwo+IC0jZGVmaW5lIERTUEZXMgkJ X01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzAwMzgpCj4gKyNk ZWZpbmUgRFNQRlcyCQlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NzAwMzgpCj4gICNkZWZpbmUgICBEU1BGV19GQkNfU1JfRU4JCSgxIDw8IDMxKQkg IC8qIGc0eCAqLwo+ICAjZGVmaW5lICAgRFNQRldfRkJDX1NSX1NISUZUCQkyOAo+ICAjZGVmaW5l ICAgRFNQRldfRkJDX1NSX01BU0sJCSgweDcgPDwgMjgpIC8qIGc0eCAqLwo+IEBAIC01Nzc1LDcg KzU3NzUsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUFfU0hJRlQJCTAKPiAg I2RlZmluZSAgIERTUEZXX1NQUklURUFfTUFTSwkJKDB4N2YgPDwgMCkgLyogZzR4ICovCj4gICNk ZWZpbmUgICBEU1BGV19TUFJJVEVBX01BU0tfVkxWCSgweGZmIDw8IDApIC8qIHZsdi9jaHYgKi8K PiAtI2RlZmluZSBEU1BGVzMJCV9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDcwMDNjKQo+ICsjZGVmaW5lIERTUEZXMwkJX01NSU8oSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcwMDNjKQo+ICAjZGVmaW5lICAgRFNQRldfSFBM TF9TUl9FTgkJKDEgPDwgMzEpCj4gICNkZWZpbmUgICBQSU5FVklFV19TRUxGX1JFRlJFU0hfRU4J KDEgPDwgMzApCj4gICNkZWZpbmUgICBEU1BGV19DVVJTT1JfU1JfU0hJRlQJCTI0Cj4gQEAgLTYx OTEsMzUgKzYxOTEsMzUgQEAgZW51bSB7Cj4gICAqIFsxMDoxZl0gYWxsCj4gICAqIFszMDozMl0g YWxsCj4gICAqLwo+IC0jZGVmaW5lIFNXRjAoaSkJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NzA0MTAgKyAoaSkgKiA0KQo+IC0jZGVmaW5lIFNXRjEoaSkJX01N SU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzE0MTAgKyAoaSkgKiA0 KQo+IC0jZGVmaW5lIFNXRjMoaSkJX01NSU8oZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NzI0MTQgKyAoaSkgKiA0KQo+ICsjZGVmaW5lIFNXRjAoaSkJX01NSU8oSU5URUxf SU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcwNDEwICsgKGkpICogNCkK PiArI2RlZmluZSBTV0YxKGkpCV9NTUlPKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg3MTQxMCArIChpKSAqIDQpCj4gKyNkZWZpbmUgU1dGMyhpKQlfTU1JTyhJ TlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzI0MTQgKyAoaSkg KiA0KQo+ICAjZGVmaW5lIFNXRl9JTEsoaSkJX01NSU8oMHg0RjAwMCArIChpKSAqIDQpCj4gIAo+ ICAvKiBQaXBlIEIgKi8KPiAtI2RlZmluZSBfUElQRUJEU0wJCShkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg3MTAwMCkKPiAtI2RlZmluZSBfUElQRUJDT05GCQkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzEwMDgpCj4gLSNkZWZpbmUgX1BJUEVC U1RBVAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDI0KQo+ICsj ZGVmaW5lIF9QSVBFQkRTTAkJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg3MTAwMCkKPiArI2RlZmluZSBfUElQRUJDT05GCQkoSU5URUxfSU5GTyhkZXZfcHJp diktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDA4KQo+ICsjZGVmaW5lIF9QSVBFQlNUQVQJ CShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzEwMjQpCj4g ICNkZWZpbmUgX1BJUEVCRlJBTUVISUdICQkweDcxMDQwCj4gICNkZWZpbmUgX1BJUEVCRlJBTUVQ SVhFTAkweDcxMDQ0Cj4gLSNkZWZpbmUgX1BJUEVCX0ZSTUNPVU5UX0c0WAkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzEwNDApCj4gLSNkZWZpbmUgX1BJUEVCX0ZMSVBD T1VOVF9HNFgJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDQ0KQo+ ICsjZGVmaW5lIF9QSVBFQl9GUk1DT1VOVF9HNFgJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg3MTA0MCkKPiArI2RlZmluZSBfUElQRUJfRkxJUENPVU5UX0c0 WAkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMDQ0KQo+ ICAKPiAgCj4gIC8qIERpc3BsYXkgQiBjb250cm9sICovCj4gLSNkZWZpbmUgX0RTUEJDTlRSCQko ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzExODApCj4gKyNkZWZpbmUg X0RTUEJDTlRSCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDcxMTgwKQo+ICAjZGVmaW5lICAgRElTUFBMQU5FX0FMUEhBX1RSQU5TX0VOQUJMRQkJKDEgPDwg MTUpCj4gICNkZWZpbmUgICBESVNQUExBTkVfQUxQSEFfVFJBTlNfRElTQUJMRQkJMAo+ICAjZGVm aW5lICAgRElTUFBMQU5FX1NQUklURV9BQk9WRV9ESVNQTEFZCTAKPiAgI2RlZmluZSAgIERJU1BQ TEFORV9TUFJJVEVfQUJPVkVfT1ZFUkxBWQkoMSkKPiAtI2RlZmluZSBfRFNQQkFERFIJCShkZXZf cHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTE4NCkKPiAtI2RlZmluZSBfRFNQ QlNUUklERQkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMTg4KQo+ IC0jZGVmaW5lIF9EU1BCUE9TCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NzExOEMpCj4gLSNkZWZpbmUgX0RTUEJTSVpFCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9t bWlvX29mZnNldCArIDB4NzExOTApCj4gLSNkZWZpbmUgX0RTUEJTVVJGCQkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzExOUMpCj4gLSNkZWZpbmUgX0RTUEJUSUxFT0ZG CQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzExQTQpCj4gLSNkZWZp bmUgX0RTUEJPRkZTRVQJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3 MTFBNCkKPiAtI2RlZmluZSBfRFNQQlNVUkZMSVZFCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9t bWlvX29mZnNldCArIDB4NzExQUMpCj4gKyNkZWZpbmUgX0RTUEJBRERSCQkoSU5URUxfSU5GTyhk ZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMTg0KQo+ICsjZGVmaW5lIF9EU1BC U1RSSURFCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcx MTg4KQo+ICsjZGVmaW5lIF9EU1BCUE9TCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDcxMThDKQo+ICsjZGVmaW5lIF9EU1BCU0laRQkJKElOVEVMX0lORk8o ZGV2X3ByaXYpLT5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTE5MCkKPiArI2RlZmluZSBfRFNQ QlNVUkYJCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzEx OUMpCj4gKyNkZWZpbmUgX0RTUEJUSUxFT0ZGCQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDcxMUE0KQo+ICsjZGVmaW5lIF9EU1BCT0ZGU0VUCQkoSU5URUxf SU5GTyhkZXZfcHJpdiktPmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxMUE0KQo+ICsjZGVmaW5l IF9EU1BCU1VSRkxJVkUJCShJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NzExQUMpCj4gIAo+ICAvKiBJQ0wgRFNJIDAgYW5kIDEgKi8KPiAgI2RlZmluZSBfUElQ RURTSTBDT05GCQkweDdiMDA4Cj4gQEAgLTg3NzMsNyArODc3Myw3IEBAIGVudW0gewo+ICAjZGVm aW5lICAgR0VOOV9FTkFCTEVfR1BHUFVfUFJFRU1QVElPTgkoMSA8PCAyKQo+ICAKPiAgLyogQXVk aW8gKi8KPiAtI2RlZmluZSBHNFhfQVVEX1ZJRF9ESUQJCQlfTU1JTyhkZXZfcHJpdi0+aW5mby5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MjAyMCkKPiArI2RlZmluZSBHNFhfQVVEX1ZJRF9ESUQJ CQlfTU1JTyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjIw MjApCj4gICNkZWZpbmUgICBJTlRFTF9BVURJT19ERVZDTAkJMHg4MDg2MjlGQgo+ICAjZGVmaW5l ICAgSU5URUxfQVVESU9fREVWQkxDCQkweDgwODYyODAxCj4gICNkZWZpbmUgICBJTlRFTF9BVURJ T19ERVZDVEcJCTB4ODA4NjI4MDIKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGV2aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmMKPiBpbmRleCBhZWI3YjkyMjViMTguLjAwNzU4ZDExMDQ3YiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+IEBAIC0xMjEsMTkgKzEyMSwxNiBAQCBp bnRlbF9kZXZpY2VfaW5mb19kdW1wX3J1bnRpbWUoY29uc3Qgc3RydWN0IGludGVsX3J1bnRpbWVf ZGV2aWNlX2luZm8gKmluZm8sCj4gIAlpbnRlbF9ydW50aW1lX2RldmljZV9pbmZvX2R1bXBfZmxh Z3MoaW5mbywgcCk7Cj4gIH0KPiAgCj4gLXZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcChjb25z dCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8sCj4gK3ZvaWQgaW50ZWxfZGV2aWNlX2lu Zm9fZHVtcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSAgICBzdHJ1 Y3QgZHJtX3ByaW50ZXIgKnApCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9Cj4gLQkJY29udGFpbmVyX29mKGluZm8sIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBp bmZvKTsKPiAtCj4gIAlkcm1fcHJpbnRmKHAsICJwY2lpZD0weCUwNHggcmV2PTB4JTAyeCBwbGF0 Zm9ybT0lcyBnZW49JWlcbiIsCj4gIAkJICAgSU5URUxfREVWSUQoZGV2X3ByaXYpLAo+ICAJCSAg IElOVEVMX1JFVklEKGRldl9wcml2KSwKPiAtCQkgICBpbnRlbF9wbGF0Zm9ybV9uYW1lKGluZm8t PnBsYXRmb3JtKSwKPiAtCQkgICBpbmZvLT5fX2dlbik7Cj4gKwkJICAgaW50ZWxfcGxhdGZvcm1f bmFtZShJTlRFTF9JTkZPKGRldl9wcml2KS0+cGxhdGZvcm0pLAo+ICsJCSAgIElOVEVMX0lORk8o ZGV2X3ByaXYpLT5fX2dlbik7Cj4gIAo+IC0JaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9mbGFncyhp bmZvLCBwKTsKPiArCWludGVsX2RldmljZV9pbmZvX2R1bXBfZmxhZ3MoSU5URUxfSU5GTyhkZXZf cHJpdiksIHApOwo+ICB9Cj4gIAo+ICB2b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXBfdG9wb2xv Z3koY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXZpY2VfaW5mby5oCj4gaW5kZXggNTBjOGZkYTIwYmRkLi45YmFjZDQ2NmY0YTIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiBAQCAtMjcw LDcgKzI3MCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzc2V1X3NldF9ldXMoc3RydWN0IHNzZXVf ZGV2X2luZm8gKnNzZXUsCj4gIGNvbnN0IGNoYXIgKmludGVsX3BsYXRmb3JtX25hbWUoZW51bSBp bnRlbF9wbGF0Zm9ybSBwbGF0Zm9ybSk7Cj4gIAo+ICB2b2lkIGludGVsX2RldmljZV9pbmZvX3J1 bnRpbWVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IC12b2lkIGlu dGVsX2RldmljZV9pbmZvX2R1bXAoY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvICppbmZv LAo+ICt2b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ICAJCQkgICAgc3RydWN0IGRybV9wcmludGVyICpwKTsKPiAgdm9pZCBpbnRl bF9kZXZpY2VfaW5mb19kdW1wX2ZsYWdzKGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAq aW5mbywKPiAgCQkJCSAgc3RydWN0IGRybV9wcmludGVyICpwKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwo+IGluZGV4IDkyODk1MTUxMDhjMy4uZGVmNDk4NDAyYmJiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiBAQCAtMjI1Niw3ICsyMjU2LDcgQEAgYm9v bCBpbnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgCj4gIGJvb2wgaW50ZWxfaGFzX3Jlc2V0X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCXJldHVybiAoZGV2X3ByaXYtPmluZm8uaGFzX3Jlc2V0X2Vu Z2luZSAmJgo+ICsJcmV0dXJuIChJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX3Jlc2V0X2VuZ2lu ZSAmJgo+ICAJCWk5MTVfbW9kcGFyYW1zLnJlc2V0ID49IDIpOwo+ICB9CgotLSAKSmFuaSBOaWt1 bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK