From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH] drm/i915: Introduce concept of a sub-platform Date: Fri, 15 Mar 2019 14:21:57 +0000 Message-ID: <75424372-8137-fa41-e924-6d18e2a087ad@linux.intel.com> References: <20190315122633.11421-1-tvrtko.ursulin@linux.intel.com> <20190315140936.GB3888@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 586BA6E432 for ; Fri, 15 Mar 2019 14:22:04 +0000 (UTC) In-Reply-To: <20190315140936.GB3888@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: Jani Nikula , Intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE1LzAzLzIwMTkgMTQ6MDksIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiBPbiBGcmksIE1h ciAxNSwgMjAxOSBhdCAxMjoyNjozM1BNICswMDAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPj4g RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4KPj4gQ29u Y2VwdCBvZiBhIHN1Yi1wbGF0Zm9ybSBhbHJlYWR5IGV4aXN0IGluIG91ciBjb2RlIChsaWtlIFVM WCBhbmQgVUxUCj4+IHBsYXRmb3JtIHZhcmlhbnRzIGFuZCBzaW1pbGFyKSxpbXBsZW1lbnRlZCB2 aWEgdGhlIG1hY3JvcyB3aGljaCBjaGVjayBhCj4+IGxpc3Qgb2YgZGV2aWNlIGlkcyB0byBkZXRl cm1pbmUgYSBtYXRjaC4KPj4KPj4gV2l0aCB0aGlzIHBhdGNoIHdlIGNvbnNvbGlkYXRlIGRldmlj ZSBpZHMgY2hlY2tpbmcgaW50byBhIHNpbmdsZSBmdW5jdGlvbgo+PiBjYWxsZWQgZHVyaW5nIGVh cmx5IGRyaXZlciBsb2FkLgo+Pgo+PiBBIGZldyBsb3cgYml0cyBpbiB0aGUgcGxhdGZvcm0gbWFz ayBhcmUgcmVzZXJ2ZWQgZm9yIHN1Yi1wbGF0Zm9ybQo+PiBpZGVudGlmaWNhdGlvbiBhbmQgZGVm aW5lZCBhcyBhIHBlci1wbGF0Zm9ybSBuYW1lc3BhY2UuCj4+Cj4+IEF0IHRoZSBzYW1lIHRpbWUg aXQgZnV0dXJlIHByb29mcyB0aGUgcGxhdGZvcm1fbWFzayBoYW5kbGluZyBieSBwcmVwYXJpbmcK Pj4gdGhlIGNvZGUgZm9yIGVhc3kgZXh0ZW5kaW5nLCBhbmQgdGlkaWVzIHRoZSB2ZXJ5IHZlcmJv c2UgV0FSTiBzdHJpbmdzCj4+IGdlbmVyYXRlZCB3aGVuIElTX1BMQVRGT1JNIG1hY3JvcyBhcmUg ZW1iZWRkZWQgaW50byBhIFdBUk4gdHlwZQo+PiBzdGF0ZW1lbnRzLgo+Pgo+PiBUaGUgYXBwcm9h Y2ggaXMgYWxzbyBiZW5lZmljaWFsIHRvIGRyaXZlciBzaXplLCB3aXRoIGFuIGNvbWJpbmVkIHNo cmluayBvZgo+PiBjb2RlIGFuZCBzdHJpbmdzIG9mIGFyb3VuZCAxLjcga2lCLgo+Pgo+PiB2Mjog Rml4ZWQgSVNfU1VCUExBVEZPUk0uIFVwZGF0ZWQgY29tbWl0IG1zZy4KPj4gdjM6IENocmlzIHdh cyByaWdodCwgdGhlcmUgaXMgYW4gb3JkZXJpbmcgcHJvYmxlbS4KPj4KPj4gdjQ6Cj4+ICAgKiBD YXRjaC11cCB3aXRoIG5ldyBzdWItcGxhdGZvcm1zLgo+PiAgICogUmViYXNlIGZvciBSVU5USU1F X0lORk8uCj4+ICAgKiBEcm9wIHN1YnBsYXRmb3JtIG1hc2sgdW5pb24gdHJpY2tzIGFuZCBjb252 ZXJ0IHBsYXRmb3JtX21hc2sgdG8gYW4KPj4gICAgIGFycmF5IGZvciBleHRlbnNpYmlsaXR5Lgo+ Pgo+PiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwu Y29tPgo+PiBTdWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgo+PiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+IENj OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+PiBDYzogTHVjYXMgRGUgTWFy Y2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Cj4+IENjOiBKb3NlIFNvdXphIDxqb3NlLnNv dXphQGludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyAgICAgICAgICB8ICAgNyArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgICAgfCAxMTAgKysrKysrKysrKysrKysrLS0tLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BjaS5jICAgICAgICAgIHwgICAyICstCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyB8ICA3OSArKysrKysrKysrKysrKysrCj4+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCB8ICAyOCArKysrKy0KPj4gICA1 IGZpbGVzIGNoYW5nZWQsIDE3OSBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKPj4KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4+IGluZGV4IDBkNzQzOTA3ZTdiYy4uMzIxODM1MGNkMjI1 IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPj4gQEAgLTg2Myw2ICs4NjMsOCBAQCBz dGF0aWMgaW50IGk5MTVfZHJpdmVyX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+PiAgIAlpZiAoaTkxNV9pbmplY3RfbG9hZF9mYWlsdXJlKCkpCj4+ICAgCQly ZXR1cm4gLUVOT0RFVjsKPj4gICAKPj4gKwlpbnRlbF9kZXZpY2VfaW5mb19zdWJwbGF0Zm9ybV9p bml0KGRldl9wcml2KTsKPj4gKwo+PiAgIAlzcGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPmlycV9s b2NrKTsKPj4gICAJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5ncHVfZXJyb3IubG9jayk7Cj4+ ICAgCW11dGV4X2luaXQoJmRldl9wcml2LT5iYWNrbGlnaHRfbG9jayk7Cj4+IEBAIC0xNzUyLDEw ICsxNzU0LDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfd2VsY29tZV9tZXNzYWdlcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAgCWlmIChkcm1fZGVidWcgJiBEUk1fVVRfRFJJ VkVSKSB7Cj4+ICAgCQlzdHJ1Y3QgZHJtX3ByaW50ZXIgcCA9IGRybV9kZWJ1Z19wcmludGVyKCJp OTE1IGRldmljZSBpbmZvOiIpOwo+PiAgIAo+PiAtCQlkcm1fcHJpbnRmKCZwLCAicGNpaWQ9MHgl MDR4IHJldj0weCUwMnggcGxhdGZvcm09JXMgZ2VuPSVpXG4iLAo+PiArCQlkcm1fcHJpbnRmKCZw LCAicGNpaWQ9MHglMDR4IHJldj0weCUwMnggcGxhdGZvcm09JXMgKCV4KSBnZW49JWlcbiIsCj4+ ICAgCQkJICAgSU5URUxfREVWSUQoZGV2X3ByaXYpLAo+PiAgIAkJCSAgIElOVEVMX1JFVklEKGRl dl9wcml2KSwKPj4gICAJCQkgICBpbnRlbF9wbGF0Zm9ybV9uYW1lKElOVEVMX0lORk8oZGV2X3By aXYpLT5wbGF0Zm9ybSksCj4+ICsJCQkgICBSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9y bV9tYXNrW0lOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybSAvIChCSVRTX1BFUl9UWVBFKFJV TlRJTUVfSU5GTyhkZXZfcHJpdiktPnBsYXRmb3JtX21hc2tbMF0pIC0gSU5URUxfU1VCUExBVEZP Uk1fQklUUyldLAo+PiAgIAkJCSAgIElOVEVMX0dFTihkZXZfcHJpdikpOwo+PiAgIAo+PiAgIAkJ aW50ZWxfZGV2aWNlX2luZm9fZHVtcF9mbGFncyhJTlRFTF9JTkZPKGRldl9wcml2KSwgJnApOwo+ PiBAQCAtMTc5OCw4ICsxODAxLDYgQEAgaTkxNV9kcml2ZXJfY3JlYXRlKHN0cnVjdCBwY2lfZGV2 ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQo+PiAgIAltZW1jcHkoZGV2 aWNlX2luZm8sIG1hdGNoX2luZm8sIHNpemVvZigqZGV2aWNlX2luZm8pKTsKPj4gICAJUlVOVElN RV9JTkZPKGk5MTUpLT5kZXZpY2VfaWQgPSBwZGV2LT5kZXZpY2U7Cj4+ICAgCj4+IC0JQlVJTERf QlVHX09OKElOVEVMX01BWF9QTEFURk9STVMgPgo+PiAtCQkgICAgIEJJVFNfUEVSX1RZUEUoZGV2 aWNlX2luZm8tPnBsYXRmb3JtX21hc2spKTsKPj4gICAJQlVHX09OKGRldmljZV9pbmZvLT5nZW4g PiBCSVRTX1BFUl9UWVBFKGRldmljZV9pbmZvLT5nZW5fbWFzaykpOwo+PiAgIAo+PiAgIAlyZXR1 cm4gaTkxNTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IGluZGV4IGRjY2I2MDA2YWFiZi4u MzQyODJjZjY2Y2IwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTIyODEs NyArMjI4MSw0NiBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpOTE1X3NnX3NlZ21lbnRf c2l6ZSh2b2lkKQo+PiAgICNkZWZpbmUgSVNfUkVWSUQocCwgc2luY2UsIHVudGlsKSBcCj4+ICAg CShJTlRFTF9SRVZJRChwKSA+PSAoc2luY2UpICYmIElOVEVMX1JFVklEKHApIDw9ICh1bnRpbCkp Cj4+ICAgCj4+IC0jZGVmaW5lIElTX1BMQVRGT1JNKGRldl9wcml2LCBwKSAoSU5URUxfSU5GTyhk ZXZfcHJpdiktPnBsYXRmb3JtX21hc2sgJiBCSVQocCkpCj4+ICsjZGVmaW5lIF9fSVNfUExBVEZP Uk0oZGV2X3ByaXYsIHApIFwKPj4gKyh7IFwKPj4gKwljb25zdCB1bnNpZ25lZCBpbnQgcGJpdHNf XyA9IFwKPj4gKwkJQklUU19QRVJfVFlQRShSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9y bV9tYXNrWzBdKSAtIFwKPj4gKwkJSU5URUxfU1VCUExBVEZPUk1fQklUUzsgXAo+PiArCWNvbnN0 IHVuc2lnbmVkIGludCBwaV9fID0gKHApIC8gcGJpdHNfXzsgXAo+PiArCWNvbnN0IHVuc2lnbmVk IGludCBwYl9fID0gKHApICUgcGJpdHNfXyArIElOVEVMX1NVQlBMQVRGT1JNX0JJVFM7IFwKPj4g K1wKPj4gKwlCVUlMRF9CVUdfT04oIV9fYnVpbHRpbl9jb25zdGFudF9wKHApKTsgXAo+PiArXAo+ PiArCShSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybV9tYXNrW3BpX19dICYgQklUKHBi X18pKTsgXAo+PiArfSkKPj4gKwo+PiArI2RlZmluZSBfX0lTX1NVQlBMQVRGT1JNKGRldl9wcml2 LCBwLCBzKSBcCj4+ICsoeyBcCj4+ICsJY29uc3QgdW5zaWduZWQgaW50IHBiaXRzX18gPSBcCj4+ ICsJCUJJVFNfUEVSX1RZUEUoUlVOVElNRV9JTkZPKGRldl9wcml2KS0+cGxhdGZvcm1fbWFza1sw XSkgLSBcCj4+ICsJCUlOVEVMX1NVQlBMQVRGT1JNX0JJVFM7IFwKPj4gKwljb25zdCB1bnNpZ25l ZCBpbnQgcGlfXyA9IChwKSAvIHBiaXRzX187IFwKPj4gKwljb25zdCB1bnNpZ25lZCBpbnQgcGJf XyA9IChwKSAlIHBiaXRzX18gKyBJTlRFTF9TVUJQTEFURk9STV9CSVRTOyBcCj4+ICtcCj4+ICsJ QlVJTERfQlVHX09OKCFfX2J1aWx0aW5fY29uc3RhbnRfcChwKSk7IFwKPj4gKwlCVUlMRF9CVUdf T04oIV9fYnVpbHRpbl9jb25zdGFudF9wKHMpKTsgXAo+PiArCUJVSUxEX0JVR19PTigocykgPj0g SU5URUxfU1VCUExBVEZPUk1fQklUUyk7IFwKPj4gK1wKPj4gKwkoUlVOVElNRV9JTkZPKGRldl9w cml2KS0+cGxhdGZvcm1fbWFza1twaV9fXSAmIChCSVQocGJfXykgfCBCSVQocykpKTsgXAo+PiAr fSkKPj4gKwo+PiArc3RhdGljIGlubGluZSBib29sCj4+ICtJU19QTEFURk9STShjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBpbnRlbF9wbGF0Zm9ybSBwKQo+PiArewo+ PiArCXJldHVybiBfX0lTX1BMQVRGT1JNKGk5MTUsIHApOwo+PiArfQo+PiArCj4+ICtzdGF0aWMg aW5saW5lIGJvb2wKPj4gK0lTX1NVQlBMQVRGT1JNKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAo+PiArCSAgICAgICBlbnVtIGludGVsX3BsYXRmb3JtIHAsIHVuc2lnbmVkIGlu dCBzKQo+PiArewo+PiArCXJldHVybiBfX0lTX1NVQlBMQVRGT1JNKGk5MTUsIHAsIHMpOwo+PiAr fQo+PiAgIAo+PiAgICNkZWZpbmUgSVNfSTgzMChkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3By aXYsIElOVEVMX0k4MzApCj4+ICAgI2RlZmluZSBJU19JODQ1RyhkZXZfcHJpdikJSVNfUExBVEZP Uk0oZGV2X3ByaXYsIElOVEVMX0k4NDVHKQo+PiBAQCAtMjI5NiwxMSArMjMzNSwxNSBAQCBzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBpOTE1X3NnX3NlZ21lbnRfc2l6ZSh2b2lkKQo+PiAgICNk ZWZpbmUgSVNfRzQ1KGRldl9wcml2KQlJU19QTEFURk9STShkZXZfcHJpdiwgSU5URUxfRzQ1KQo+ PiAgICNkZWZpbmUgSVNfR000NShkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVM X0dNNDUpCj4+ICAgI2RlZmluZSBJU19HNFgoZGV2X3ByaXYpCShJU19HNDUoZGV2X3ByaXYpIHx8 IElTX0dNNDUoZGV2X3ByaXYpKQo+PiAtI2RlZmluZSBJU19QSU5FVklFV19HKGRldl9wcml2KQko SU5URUxfREVWSUQoZGV2X3ByaXYpID09IDB4YTAwMSkKPj4gLSNkZWZpbmUgSVNfUElORVZJRVdf TShkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweGEwMTEpCj4+ICsjZGVmaW5l IElTX1BJTkVWSUVXX0coZGV2X3ByaXYpCVwKPj4gKwlJU19TVUJQTEFURk9STShkZXZfcHJpdiwg SU5URUxfUElORVZJRVcsIElOVEVMX1NVQlBMQVRGT1JNX1BJTkVWSUVXX0cpCj4+ICsjZGVmaW5l IElTX1BJTkVWSUVXX00oZGV2X3ByaXYpCVwKPj4gKwlJU19TVUJQTEFURk9STShkZXZfcHJpdiwg SU5URUxfUElORVZJRVcsIElOVEVMX1NVQlBMQVRGT1JNX1BJTkVWSUVXX00pCj4+ICAgI2RlZmlu ZSBJU19QSU5FVklFVyhkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX1BJTkVW SUVXKQo+IAo+IEkgaGF2ZSBhIGZlZWxpbmcgd2Ugc2hvdWxkIGp1c3QgdXNlIHRoZSBub3JtYWwg SVNfTU9CSUxFKCkgdGhpbmcKPiBoZXJlLiBCdXQgdW50YW5nbGluZyB0aGF0IG1lc3MgbWlnaHQg YmUgYSBiaXQgb2Ygd29yay4KPiAKPj4gICAjZGVmaW5lIElTX0czMyhkZXZfcHJpdikJSVNfUExB VEZPUk0oZGV2X3ByaXYsIElOVEVMX0czMykKPj4gLSNkZWZpbmUgSVNfSVJPTkxBS0VfTShkZXZf cHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweDAwNDYpCj4+ICsjZGVmaW5lIElTX0lS T05MQUtFKGRldl9wcml2KQlJU19QTEFURk9STShkZXZfcHJpdiwgSU5URUxfSVJPTkxBS0UpCj4+ ICsjZGVmaW5lIElTX0lST05MQUtFX00oZGV2X3ByaXYpCVwKPj4gKwlJU19TVUJQTEFURk9STShk ZXZfcHJpdiwgSU5URUxfSVJPTkxBS0UsIElOVEVMX1NVQlBMQVRGT1JNX0lST05MQUtFX00pCj4g Cj4gVGhpcyBpcyBjbGVhcmx5IGp1c3QgSVNfTU9CSUxFKCkuCgpPay4KCj4gT3Igd2UganVzdCBr ZWVwIHRoZSBjdXJyZW50IHBjaSBpZCBjaGVja3MuIEZyYW5rbHkgSSBzZWUgbm8gYmVuZWZpdCBp bgo+IGFic3RyYWN0aW5nIHRoZXNlIGZldyBleGNlcHRpb25zLgoKQXJlIHlvdSByZWZlcnJpbmcg dG8gSXJvbmxha2Ugb25seSBvciBpbiBnZW5lcmFsPwoKPiAKPj4gICAjZGVmaW5lIElTX0lWWUJS SURHRShkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0lWWUJSSURHRSkKPj4g ICAjZGVmaW5lIElTX0lWQl9HVDEoZGV2X3ByaXYpCShJU19JVllCUklER0UoZGV2X3ByaXYpICYm IFwKPj4gICAJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAxKQo+PiBAQCAtMjMxOCw0 MiArMjM2MSwzMSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpOTE1X3NnX3NlZ21lbnRf c2l6ZSh2b2lkKQo+PiAgICNkZWZpbmUgSVNfTU9CSUxFKGRldl9wcml2KQkoSU5URUxfSU5GTyhk ZXZfcHJpdiktPmlzX21vYmlsZSkKPj4gICAjZGVmaW5lIElTX0hTV19FQVJMWV9TRFYoZGV2X3By aXYpIChJU19IQVNXRUxMKGRldl9wcml2KSAmJiBcCj4+ICAgCQkJCSAgICAoSU5URUxfREVWSUQo ZGV2X3ByaXYpICYgMHhGRjAwKSA9PSAweDBDMDApCj4+IC0jZGVmaW5lIElTX0JEV19VTFQoZGV2 X3ByaXYpCShJU19CUk9BRFdFTEwoZGV2X3ByaXYpICYmIFwKPj4gLQkJCQkgKChJTlRFTF9ERVZJ RChkZXZfcHJpdikgJiAweGYpID09IDB4NiB8fAlcCj4+IC0JCQkJIChJTlRFTF9ERVZJRChkZXZf cHJpdikgJiAweGYpID09IDB4YiB8fAlcCj4+IC0JCQkJIChJTlRFTF9ERVZJRChkZXZfcHJpdikg JiAweGYpID09IDB4ZSkpCj4+IC0vKiBVTFggbWFjaGluZXMgYXJlIGFsc28gY29uc2lkZXJlZCBV TFQuICovCj4+IC0jZGVmaW5lIElTX0JEV19VTFgoZGV2X3ByaXYpCShJU19CUk9BRFdFTEwoZGV2 X3ByaXYpICYmIFwKPj4gLQkJCQkgKElOVEVMX0RFVklEKGRldl9wcml2KSAmIDB4ZikgPT0gMHhl KQo+PiArI2RlZmluZSBJU19CRFdfVUxUKGRldl9wcml2KSBcCj4+ICsJSVNfU1VCUExBVEZPUk0o ZGV2X3ByaXYsIElOVEVMX0JST0FEV0VMTCwgSU5URUxfU1VCUExBVEZPUk1fVUxUKQo+PiArI2Rl ZmluZSBJU19CRFdfVUxYKGRldl9wcml2KSBcCj4+ICsJSVNfU1VCUExBVEZPUk0oZGV2X3ByaXYs IElOVEVMX0JST0FEV0VMTCwgSU5URUxfU1VCUExBVEZPUk1fVUxYKQo+PiAgICNkZWZpbmUgSVNf QkRXX0dUMyhkZXZfcHJpdikJKElTX0JST0FEV0VMTChkZXZfcHJpdikgJiYgXAo+PiAgIAkJCQkg SU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDMpCj4+IC0jZGVmaW5lIElTX0hTV19VTFQoZGV2 X3ByaXYpCShJU19IQVNXRUxMKGRldl9wcml2KSAmJiBcCj4+IC0JCQkJIChJTlRFTF9ERVZJRChk ZXZfcHJpdikgJiAweEZGMDApID09IDB4MEEwMCkKPj4gKyNkZWZpbmUgSVNfSFNXX1VMVChkZXZf cHJpdikgXAo+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9IQVNXRUxMLCBJTlRF TF9TVUJQTEFURk9STV9VTFQpCj4+ICAgI2RlZmluZSBJU19IU1dfR1QzKGRldl9wcml2KQkoSVNf SEFTV0VMTChkZXZfcHJpdikgJiYgXAo+PiAgIAkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0 ID09IDMpCj4+ICAgI2RlZmluZSBJU19IU1dfR1QxKGRldl9wcml2KQkoSVNfSEFTV0VMTChkZXZf cHJpdikgJiYgXAo+PiAgIAkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDEpCj4+ICAg LyogVUxYIG1hY2hpbmVzIGFyZSBhbHNvIGNvbnNpZGVyZWQgVUxULiAqLwo+PiAtI2RlZmluZSBJ U19IU1dfVUxYKGRldl9wcml2KQkoSU5URUxfREVWSUQoZGV2X3ByaXYpID09IDB4MEEwRSB8fCBc Cj4+IC0JCQkJIElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweDBBMUUpCj4+IC0jZGVmaW5lIElT X1NLTF9VTFQoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTA2IHx8IFwK Pj4gLQkJCQkgSU5URUxfREVWSUQoZGV2X3ByaXYpID09IDB4MTkxMyB8fCBcCj4+IC0JCQkJIElO VEVMX0RFVklEKGRldl9wcml2KSA9PSAweDE5MTYgfHwgXAo+PiAtCQkJCSBJTlRFTF9ERVZJRChk ZXZfcHJpdikgPT0gMHgxOTIxIHx8IFwKPj4gLQkJCQkgSU5URUxfREVWSUQoZGV2X3ByaXYpID09 IDB4MTkyNikKPj4gLSNkZWZpbmUgSVNfU0tMX1VMWChkZXZfcHJpdikJKElOVEVMX0RFVklEKGRl dl9wcml2KSA9PSAweDE5MEUgfHwgXAo+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0g MHgxOTE1IHx8IFwKPj4gLQkJCQkgSU5URUxfREVWSUQoZGV2X3ByaXYpID09IDB4MTkxRSkKPj4g LSNkZWZpbmUgSVNfS0JMX1VMVChkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAw eDU5MDYgfHwgXAo+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg1OTEzIHx8IFwK Pj4gLQkJCQkgSU5URUxfREVWSUQoZGV2X3ByaXYpID09IDB4NTkxNiB8fCBcCj4+IC0JCQkJIElO VEVMX0RFVklEKGRldl9wcml2KSA9PSAweDU5MjEgfHwgXAo+PiAtCQkJCSBJTlRFTF9ERVZJRChk ZXZfcHJpdikgPT0gMHg1OTI2KQo+PiAtI2RlZmluZSBJU19LQkxfVUxYKGRldl9wcml2KQkoSU5U RUxfREVWSUQoZGV2X3ByaXYpID09IDB4NTkwRSB8fCBcCj4+IC0JCQkJIElOVEVMX0RFVklEKGRl dl9wcml2KSA9PSAweDU5MTUgfHwgXAo+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0g MHg1OTFFKQo+PiAtI2RlZmluZSBJU19BTUxfVUxYKGRldl9wcml2KQkoSU5URUxfREVWSUQoZGV2 X3ByaXYpID09IDB4NTkxQyB8fCBcCj4+IC0JCQkJIElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAw eDg3QzApCj4+ICsjZGVmaW5lIElTX0hTV19VTFgoZGV2X3ByaXYpIFwKPj4gKwlJU19TVUJQTEFU Rk9STShkZXZfcHJpdiwgSU5URUxfSEFTV0VMTCwgSU5URUxfU1VCUExBVEZPUk1fVUxYKQo+PiAr I2RlZmluZSBJU19TS0xfVUxUKGRldl9wcml2KSBcCj4+ICsJSVNfU1VCUExBVEZPUk0oZGV2X3By aXYsIElOVEVMX1NLWUxBS0UsIElOVEVMX1NVQlBMQVRGT1JNX1VMVCkKPj4gKyNkZWZpbmUgSVNf U0tMX1VMWChkZXZfcHJpdikgXAo+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9T S1lMQUtFLCBJTlRFTF9TVUJQTEFURk9STV9VTFgpCj4+ICsjZGVmaW5lIElTX0tCTF9VTFQoZGV2 X3ByaXYpIFwKPj4gKwlJU19TVUJQTEFURk9STShkZXZfcHJpdiwgSU5URUxfS0FCWUxBS0UsIElO VEVMX1NVQlBMQVRGT1JNX1VMVCkKPj4gKyNkZWZpbmUgSVNfS0JMX1VMWChkZXZfcHJpdikgXAo+ PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9LQUJZTEFLRSwgSU5URUxfU1VCUExB VEZPUk1fVUxYKQo+PiArI2RlZmluZSBJU19BTUxfVUxYKGRldl9wcml2KSBcCj4+ICsJSVNfU1VC UExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0tBQllMQUtFLCBJTlRFTF9TVUJQTEFURk9STV9BTUxf VUxYKQo+IAo+IFdoeSBpcyBBTUxfVUxYIGRpZmZlcmVudCBmcm9tIG5vcm1hbCBVTFg/CgpBcyBm YXIgYXMgSSBjb3VsZCBpdCBpcyBhIGRpZmZlcmVudCBkZXZpZCB3aGljaCB3ZSBvZmZpY2lhbGx5 IGNhbGwgCkFtYmVybGFrZSwgYnV0IGRpZCBub3QgYWRkIGl0IGFzIHNlcGFyYXRlIHBsYXRmb3Jt LgoKR2l2ZW4gaG93IHRoaXMgbWFjcm8gaXMgdXNlZCwgd2hpY2ggaXMgYWx3YXlzIGluIGNvbmp1 Y3Rpb24gd2l0aCAKSVNfS0JMX1VMWCwgSSBjb25zaWRlcmVkIGp1c3QgcmVtb3ZpbmcgaXQgYW5k IGFkZGluZyB0aGUgZGV2aWQgdG8gCktCTF9VTFgsIGJ1dCBkaWQgbm90IHdhbnQgdG8gaW50ZXJm ZXJyZSB3aXRoIG90aGVyIHBlb3BsZSdzIGlkZWFzLgoKPiAKPj4gICAjZGVmaW5lIElTX1NLTF9H VDIoZGV2X3ByaXYpCShJU19TS1lMQUtFKGRldl9wcml2KSAmJiBcCj4+ICAgCQkJCSBJTlRFTF9J TkZPKGRldl9wcml2KS0+Z3QgPT0gMikKPj4gICAjZGVmaW5lIElTX1NLTF9HVDMoZGV2X3ByaXYp CShJU19TS1lMQUtFKGRldl9wcml2KSAmJiBcCj4+IEBAIC0yMzY0LDE2ICsyMzk2LDE2IEBAIHN0 YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGk5MTVfc2dfc2VnbWVudF9zaXplKHZvaWQpCj4+ICAg CQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMikKPj4gICAjZGVmaW5lIElTX0tCTF9H VDMoZGV2X3ByaXYpCShJU19LQUJZTEFLRShkZXZfcHJpdikgJiYgXAo+PiAgIAkJCQkgSU5URUxf SU5GTyhkZXZfcHJpdiktPmd0ID09IDMpCj4+IC0jZGVmaW5lIElTX0NGTF9VTFQoZGV2X3ByaXYp CShJU19DT0ZGRUVMQUtFKGRldl9wcml2KSAmJiBcCj4+IC0JCQkJIChJTlRFTF9ERVZJRChkZXZf cHJpdikgJiAweDAwRjApID09IDB4MDBBMCkKPj4gKyNkZWZpbmUgSVNfQ0ZMX1VMVChkZXZfcHJp dikgXAo+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9DT0ZGRUVMQUtFLCBJTlRF TF9TVUJQTEFURk9STV9VTFQpCj4+ICAgI2RlZmluZSBJU19DRkxfR1QyKGRldl9wcml2KQkoSVNf Q09GRkVFTEFLRShkZXZfcHJpdikgJiYgXAo+PiAgIAkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdikt Pmd0ID09IDIpCj4+ICAgI2RlZmluZSBJU19DRkxfR1QzKGRldl9wcml2KQkoSVNfQ09GRkVFTEFL RShkZXZfcHJpdikgJiYgXAo+PiAgIAkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDMp Cj4+IC0jZGVmaW5lIElTX0NOTF9XSVRIX1BPUlRfRihkZXZfcHJpdikgICAoSVNfQ0FOTk9OTEFL RShkZXZfcHJpdikgJiYgXAo+PiAtCQkJCQkoSU5URUxfREVWSUQoZGV2X3ByaXYpICYgMHgwMDA0 KSA9PSAweDAwMDQpCj4+IC0jZGVmaW5lIElTX0lDTF9XSVRIX1BPUlRfRihkZXZfcHJpdikgICAo SVNfSUNFTEFLRShkZXZfcHJpdikgJiYgXAo+PiAtCQkJCQlJTlRFTF9ERVZJRChkZXZfcHJpdikg IT0gMHg4QTUxKQo+PiArI2RlZmluZSBJU19DTkxfV0lUSF9QT1JUX0YoZGV2X3ByaXYpIFwKPj4g KwlJU19TVUJQTEFURk9STShkZXZfcHJpdiwgSU5URUxfQ0FOTk9OTEFLRSwgSU5URUxfU1VCUExB VEZPUk1fUE9SVEYpCj4+ICsjZGVmaW5lIElTX0lDTF9XSVRIX1BPUlRfRihkZXZfcHJpdikgXAo+ PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9JQ0VMQUtFLCBJTlRFTF9TVUJQTEFU Rk9STV9QT1JURikKPiAKPiBHb2QgdGhhdCBQT1JURiB0aGluZyBpcyB1Z2x5LiBJIHdvdWxkIHN1 Z2dlc3Qgd2UganVzdCBhZGQgcG9ydF9tYXNrCj4gb3Igc29tZXRoaW5nIGFsb25nIHRob3NlIGxp bmVzIGludG8gdGhlIGRldmljZSBpbmZvLgo+IAo+IFRoZW4gd2UgY291bGQgcGVyaGFwcyBldmVu IGF2b2lkIGFkZGluZyBtb3JlIGFuZCBtb3JlIGJyYW5jaGVzIHRvCj4gaW50ZWxfc2V0dXBfb3V0 cHV0cygpLiBBbHRob3VnaCBJJ20gbm90IHN1cmUgd2UgbmVlZCBhbnl0aGluZyBmb3IgdGhhdAo+ IHNpbmNlIHdlJ2xsIGxvb2sgYXQgdGhlIFZCVCBhbnl3YXkgKHdoaWNoICptYXliZSogZG9lc24n dCBhZHZlcnRpemUKPiBwb3J0cyB0aGF0IGFyZW4ndCBwcmVzZW50PykuCgpObyBpZGVhLCBzb3Vu ZHMgbGlrZSBhIHF1ZXN0aW9uIGZvciB5b3UgZGlzcGxheSBmb2xrcyB0byBkZWNpZGUgCnNlcGFy YXRlbHkgb2YgdGhpcyBwcm9wb3NhbCBwcm9iYWJseT8KCj4gCj4+ICAgCj4+ICAgI2RlZmluZSBJ U19BTFBIQV9TVVBQT1JUKGludGVsX2luZm8pICgoaW50ZWxfaW5mbyktPmlzX2FscGhhX3N1cHBv cnQpCj4+ICAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwo+PiBpbmRleCAzY2Y2OTdlOGYxZmEu LjJiMDQyNjE4ZTNjYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w Y2kuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCj4+IEBAIC0zMiw3 ICszMiw3IEBACj4+ICAgI2luY2x1ZGUgImk5MTVfZ2xvYmFscy5oIgo+PiAgICNpbmNsdWRlICJp OTE1X3NlbGZ0ZXN0LmgiCj4+ICAgCj4+IC0jZGVmaW5lIFBMQVRGT1JNKHgpIC5wbGF0Zm9ybSA9 ICh4KSwgLnBsYXRmb3JtX21hc2sgPSBCSVQoeCkKPj4gKyNkZWZpbmUgUExBVEZPUk0oeCkgLnBs YXRmb3JtID0gKHgpCj4+ICAgI2RlZmluZSBHRU4oeCkgLmdlbiA9ICh4KSwgLmdlbl9tYXNrID0g QklUKCh4KSAtIDEpCj4+ICAgCj4+ICAgI2RlZmluZSBJODQ1X1BJUEVfT0ZGU0VUUyBcCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+PiBpbmRleCBhYWMxOWIxYzQx OWMuLmI4YTdlMTdjYjQ0MyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGV2aWNlX2luZm8uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZp Y2VfaW5mby5jCj4+IEBAIC03MDcsNiArNzA3LDg1IEBAIHN0YXRpYyB1MzIgcmVhZF90aW1lc3Rh bXBfZnJlcXVlbmN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gICAJcmV0 dXJuIDA7Cj4+ICAgfQo+PiAgIAo+PiArdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19zdWJwbGF0Zm9y bV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+PiArewo+PiArCWNvbnN0IHVu c2lnbmVkIGludCBwYml0cyA9Cj4+ICsJCUJJVFNfUEVSX1RZUEUoUlVOVElNRV9JTkZPKGk5MTUp LT5wbGF0Zm9ybV9tYXNrWzBdKSAtCj4+ICsJCUlOVEVMX1NVQlBMQVRGT1JNX0JJVFM7Cj4+ICsJ Y29uc3QgdW5zaWduZWQgaW50IHBpID0gSU5URUxfSU5GTyhpOTE1KS0+cGxhdGZvcm0gLyBwYml0 czsKPj4gKwljb25zdCB1bnNpZ25lZCBpbnQgcGIgPQo+PiArCQlJTlRFTF9JTkZPKGk5MTUpLT5w bGF0Zm9ybSAlIHBiaXRzICsgSU5URUxfU1VCUExBVEZPUk1fQklUUzsKPj4gKwlzdHJ1Y3QgaW50 ZWxfcnVudGltZV9pbmZvICppbmZvID0gUlVOVElNRV9JTkZPKGk5MTUpOwo+PiArCXUxNiBkZXZp ZCA9IElOVEVMX0RFVklEKGk5MTUpOwo+PiArCj4+ICsJQlVJTERfQlVHX09OKElOVEVMX01BWF9Q TEFURk9STVMgPgo+PiArCQkgICAgIHBiaXRzICogQVJSQVlfU0laRShSVU5USU1FX0lORk8oaTkx NSktPnBsYXRmb3JtX21hc2spKTsKPj4gKwo+PiArCWluZm8tPnBsYXRmb3JtX21hc2tbcGldID0g QklUKHBiKTsKPj4gKwo+PiArCWlmIChJU19QSU5FVklFVyhpOTE1KSkgewo+PiArCQlpZiAoZGV2 aWQgPT0gMHhhMDAxKQo+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0KPj4gKwkJCQlC SVQoSU5URUxfU1VCUExBVEZPUk1fUElORVZJRVdfRyk7Cj4+ICsJCWVsc2UgaWYgKGRldmlkID09 IDB4YTAxMSkKPj4gKwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9Cj4+ICsJCQkJQklUKElO VEVMX1NVQlBMQVRGT1JNX1BJTkVWSUVXX00pOwo+PiArCX0gZWxzZSBpZiAoSVNfSVJPTkxBS0Uo aTkxNSkpIHsKPj4gKwkJaWYgKGRldmlkID09IDB4MDA0NikKPj4gKwkJCWluZm8tPnBsYXRmb3Jt X21hc2tbcGldIHw9Cj4+ICsJCQkJQklUKElOVEVMX1NVQlBMQVRGT1JNX0lST05MQUtFX00pOwo+ PiArCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChpOTE1KSkgewo+PiArCQlpZiAoKGRldmlkICYgMHhG RjAwKSA9PSAweDBBMDApCj4+ICsJCQlpbmZvLT5wbGF0Zm9ybV9tYXNrW3BpXSB8PSBCSVQoSU5U RUxfU1VCUExBVEZPUk1fVUxUKTsKPj4gKwkJLyogVUxYIG1hY2hpbmVzIGFyZSBhbHNvIGNvbnNp ZGVyZWQgVUxULiAqLwo+PiArCQlpZiAoZGV2aWQgPT0gMHgwQTBFIHx8IGRldmlkID09IDB4MEEx RSkKPj4gKwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9IEJJVChJTlRFTF9TVUJQTEFURk9S TV9VTFgpOwo+PiArCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGk5MTUpKSB7Cj4+ICsJCWlmICgo ZGV2aWQgJiAweGYpID09IDB4NiB8fAo+PiArCQkgICAgKGRldmlkICYgMHhmKSA9PSAweGIgfHwK Pj4gKwkJICAgIChkZXZpZCAmIDB4ZikgPT0gMHhlKQo+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFz a1twaV0gfD0gQklUKElOVEVMX1NVQlBMQVRGT1JNX1VMVCk7Cj4+ICsJCS8qIFVMWCBtYWNoaW5l cyBhcmUgYWxzbyBjb25zaWRlcmVkIFVMVC4gKi8KPj4gKwkJaWYgKChkZXZpZCAmIDB4ZikgPT0g MHhlKQo+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0gQklUKElOVEVMX1NVQlBMQVRG T1JNX1VMWCk7Cj4+ICsJfSBlbHNlIGlmIChJU19TS1lMQUtFKGk5MTUpKSB7Cj4+ICsJCWlmIChk ZXZpZCA9PSAweDE5MDYgfHwKPj4gKwkJICAgIGRldmlkID09IDB4MTkxMyB8fAo+PiArCQkgICAg ZGV2aWQgPT0gMHgxOTE2IHx8Cj4+ICsJCSAgICBkZXZpZCA9PSAweDE5MjEgfHwKPj4gKwkJICAg IGRldmlkID09IDB4MTkyNikKPj4gKwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9IEJJVChJ TlRFTF9TVUJQTEFURk9STV9VTFQpOwo+PiArCQllbHNlIGlmIChkZXZpZCA9PSAweDE5MEUgfHwK Pj4gKwkJCSBkZXZpZCA9PSAweDE5MTUgfHwKPj4gKwkJCSBkZXZpZCA9PSAweDE5MUUpCj4+ICsJ CQlpbmZvLT5wbGF0Zm9ybV9tYXNrW3BpXSB8PSBCSVQoSU5URUxfU1VCUExBVEZPUk1fVUxYKTsK Pj4gKwl9IGVsc2UgaWYgKElTX0tBQllMQUtFKGk5MTUpKSB7Cj4+ICsJCWlmIChkZXZpZCA9PSAw eDU5MDYgfHwKPj4gKwkJICAgIGRldmlkID09IDB4NTkxMyB8fAo+PiArCQkgICAgZGV2aWQgPT0g MHg1OTE2IHx8Cj4+ICsJCSAgICBkZXZpZCA9PSAweDU5MjEgfHwKPj4gKwkJICAgIGRldmlkICA9 PSAweDU5MjYpCj4+ICsJCQlpbmZvLT5wbGF0Zm9ybV9tYXNrW3BpXSB8PSBCSVQoSU5URUxfU1VC UExBVEZPUk1fVUxUKTsKPj4gKwkJZWxzZSBpZiAoZGV2aWQgPT0gMHg1OTBFIHx8Cj4+ICsJCQkg ZGV2aWQgPT0gMHg1OTE1IHx8Cj4+ICsJCQkgZGV2aWQgPT0gMHg1OTFFKQo+PiArCQkJaW5mby0+ cGxhdGZvcm1fbWFza1twaV0gfD0gQklUKElOVEVMX1NVQlBMQVRGT1JNX1VMWCk7Cj4+ICsJCWVs c2UgaWYgKGRldmlkID09IDB4NTkxQyB8fAo+PiArCQkJIGRldmlkID09IDB4ODdDMCkKPj4gKwkJ CWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9Cj4+ICsJCQkJQklUKElOVEVMX1NVQlBMQVRGT1JN X0FNTF9VTFgpOwo+PiArCX0gZWxzZSBpZiAoSVNfQ09GRkVFTEFLRShpOTE1KSkgewo+PiArCQlp ZiAoKGRldmlkICYgMHgwMEYwKSA9PSAweDAwQTApCj4+ICsJCQlpbmZvLT5wbGF0Zm9ybV9tYXNr W3BpXSB8PSBCSVQoSU5URUxfU1VCUExBVEZPUk1fVUxUKTsKPj4gKwl9IGVsc2UgaWYgKElTX0NB Tk5PTkxBS0UoaTkxNSkpIHsKPj4gKwkJaWYgKChkZXZpZCAmIDB4MDAwNCkgPT0gMHgwMDA0KQo+ PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0gQklUKElOVEVMX1NVQlBMQVRGT1JNX1BP UlRGKTsKPj4gKwl9IGVsc2UgaWYgKElTX0lDRUxBS0UoaTkxNSkpIHsKPj4gKwkJaWYgKGRldmlk ICE9IDB4OEE1MSkKPj4gKwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9IEJJVChJTlRFTF9T VUJQTEFURk9STV9QT1JURik7Cj4+ICsJfQo+PiArfQo+PiArCj4+ICAgLyoqCj4+ICAgICogaW50 ZWxfZGV2aWNlX2luZm9fcnVudGltZV9pbml0IC0gaW5pdGlhbGl6ZSBydW50aW1lIGluZm8KPj4g ICAgKiBAZGV2X3ByaXY6IHRoZSBpOTE1IGRldmljZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RldmljZV9pbmZvLmgKPj4gaW5kZXggMDQ3ZDEwYmRkNDU1Li5iMDNmYmQyZTQ1MWEgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+PiBAQCAtNDQs NyArNDQsNyBAQCBlbnVtIGludGVsX3BsYXRmb3JtIHsKPj4gICAJSU5URUxfSTkxNUcsCj4+ICAg CUlOVEVMX0k5MTVHTSwKPj4gICAJSU5URUxfSTk0NUcsCj4+IC0JSU5URUxfSTk0NUdNLAo+PiAr CUlOVEVMX0k5NDVHTSA9IDgsCj4+ICAgCUlOVEVMX0czMywKPj4gICAJSU5URUxfUElORVZJRVcs Cj4+ICAgCS8qIGdlbjQgKi8KPj4gQEAgLTU1LDcgKzU1LDcgQEAgZW51bSBpbnRlbF9wbGF0Zm9y bSB7Cj4+ICAgCS8qIGdlbjUgKi8KPj4gICAJSU5URUxfSVJPTkxBS0UsCj4+ICAgCS8qIGdlbjYg Ki8KPj4gLQlJTlRFTF9TQU5EWUJSSURHRSwKPj4gKwlJTlRFTF9TQU5EWUJSSURHRSA9IDE2LAo+ PiAgIAkvKiBnZW43ICovCj4+ICAgCUlOVEVMX0lWWUJSSURHRSwKPj4gICAJSU5URUxfVkFMTEVZ VklFVywKPj4gQEAgLTY2LDcgKzY2LDcgQEAgZW51bSBpbnRlbF9wbGF0Zm9ybSB7Cj4+ICAgCS8q IGdlbjkgKi8KPj4gICAJSU5URUxfU0tZTEFLRSwKPj4gICAJSU5URUxfQlJPWFRPTiwKPj4gLQlJ TlRFTF9LQUJZTEFLRSwKPj4gKwlJTlRFTF9LQUJZTEFLRSA9IDI0LAo+IAo+IFRvbyBtdWNoIG1h Z2ljLiBMb29rcyByYXRoZXIgZnJhZ2lsZS4KCkltYWdpbmUgdGhlc2UgaHVua3MgZ29uZS4gVGhp cyBpcyBub3QgcmVxdWlyZWQgZm9yIHRoaXMgcGF0Y2ggYXQgYWxsLCBvciAKZm9yIGFueXRoaW5n IGZvciB0aGF0IG1hdHRlci4gV2hhdCBkbyB5b3UgdGhpbmsgaXMgbWFnaWMgYW5kIGZyYWdpbGU/ CgpSZWdhcmRzLAoKVHZydGtvCgo+IAo+PiAgIAlJTlRFTF9HRU1JTklMQUtFLAo+PiAgIAlJTlRF TF9DT0ZGRUVMQUtFLAo+PiAgIAkvKiBnZW4xMCAqLwo+PiBAQCAtNzYsNiArNzYsMjQgQEAgZW51 bSBpbnRlbF9wbGF0Zm9ybSB7Cj4+ICAgCUlOVEVMX01BWF9QTEFURk9STVMKPj4gICB9Owo+PiAg IAo+PiArLyoKPj4gKyAqIFN1YnBsYXRmb3JtIGJpdHMgc2hhcmUgdGhlIHNhbWUgbmFtZXNwYWNl IHBlciBwYXJlbnQgcGxhdGZvcm0uIEluIG90aGVyIHdvcmRzCj4+ICsgKiBpdCBpcyBmaW5lIGZv ciB0aGUgc2FtZSBiaXQgdG8gYmUgdXNlZCBvbiBtdWx0aXBsZSBwYXJlbnQgcGxhdGZvcm1zLgo+ PiArICovCj4+ICsKPj4gKyNkZWZpbmUgSU5URUxfU1VCUExBVEZPUk1fQklUUyAoMykKPj4gKwo+ PiArI2RlZmluZSBJTlRFTF9TVUJQTEFURk9STV9JUk9OTEFLRV9NICgwKQo+PiArCj4+ICsjZGVm aW5lIElOVEVMX1NVQlBMQVRGT1JNX1BJTkVWSUVXX0cgKDApCj4+ICsjZGVmaW5lIElOVEVMX1NV QlBMQVRGT1JNX1BJTkVWSUVXX00gKDEpCj4+ICsKPj4gKyNkZWZpbmUgSU5URUxfU1VCUExBVEZP Uk1fVUxUCSAgKDApCj4+ICsjZGVmaW5lIElOVEVMX1NVQlBMQVRGT1JNX1VMWAkgICgxKQo+PiAr I2RlZmluZSBJTlRFTF9TVUJQTEFURk9STV9BTUxfVUxYICgyKQo+PiArCj4+ICsjZGVmaW5lIElO VEVMX1NVQlBMQVRGT1JNX1BPUlRGICgwKQo+PiArCj4+ICAgZW51bSBpbnRlbF9wcGd0dCB7Cj4+ ICAgCUlOVEVMX1BQR1RUX05PTkUgPSBJOTE1X0dFTV9QUEdUVF9OT05FLAo+PiAgIAlJTlRFTF9Q UEdUVF9BTElBU0lORyA9IEk5MTVfR0VNX1BQR1RUX0FMSUFTSU5HLAo+PiBAQCAtMTYwLDcgKzE3 OCw2IEBAIHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyB7Cj4+ICAgCWludGVsX2VuZ2luZV9tYXNr X3QgZW5naW5lX21hc2s7IC8qIEVuZ2luZXMgc3VwcG9ydGVkIGJ5IHRoZSBIVyAqLwo+PiAgIAo+ PiAgIAllbnVtIGludGVsX3BsYXRmb3JtIHBsYXRmb3JtOwo+PiAtCXUzMiBwbGF0Zm9ybV9tYXNr Owo+PiAgIAo+PiAgIAllbnVtIGludGVsX3BwZ3R0IHBwZ3R0Owo+PiAgIAl1bnNpZ25lZCBpbnQg cGFnZV9zaXplczsgLyogcGFnZSBzaXplcyBzdXBwb3J0ZWQgYnkgdGhlIEhXICovCj4+IEBAIC0x OTUsNiArMjEyLDggQEAgc3RydWN0IGludGVsX2RldmljZV9pbmZvIHsKPj4gICB9Owo+PiAgIAo+ PiAgIHN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gewo+PiArCXUzMiBwbGF0Zm9ybV9tYXNrWzFd Owo+PiArCj4+ICAgCXUxNiBkZXZpY2VfaWQ7Cj4+ICAgCj4+ICAgCXU4IG51bV9zcHJpdGVzW0k5 MTVfTUFYX1BJUEVTXTsKPj4gQEAgLTI2OSw2ICsyODgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg c3NldV9zZXRfZXVzKHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LAo+PiAgIAo+PiAgIGNvbnN0 IGNoYXIgKmludGVsX3BsYXRmb3JtX25hbWUoZW51bSBpbnRlbF9wbGF0Zm9ybSBwbGF0Zm9ybSk7 Cj4+ICAgCj4+ICt2b2lkIGludGVsX2RldmljZV9pbmZvX3N1YnBsYXRmb3JtX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4gICB2b2lkIGludGVsX2RldmljZV9pbmZv X3J1bnRpbWVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+PiAgIHZv aWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9mbGFncyhjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gKmluZm8sCj4+ICAgCQkJCSAgc3RydWN0IGRybV9wcmludGVyICpwKTsKPj4gLS0gCj4+ IDIuMTkuMQo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4