From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Introduce concept of a sub-platform Date: Fri, 15 Mar 2019 17:55:19 +0200 Message-ID: <20190315155519.GC3888@intel.com> References: <20190315122633.11421-1-tvrtko.ursulin@linux.intel.com> <20190315140936.GB3888@intel.com> <75424372-8137-fa41-e924-6d18e2a087ad@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 B85716E49C for ; Fri, 15 Mar 2019 15:55:25 +0000 (UTC) Content-Disposition: inline In-Reply-To: <75424372-8137-fa41-e924-6d18e2a087ad@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 Cc: Jani Nikula , Intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBNYXIgMTUsIDIwMTkgYXQgMDI6MjE6NTdQTSArMDAwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gCj4gT24gMTUvMDMvMjAxOSAxNDowOSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ ID4gT24gRnJpLCBNYXIgMTUsIDIwMTkgYXQgMTI6MjY6MzNQTSArMDAwMCwgVHZydGtvIFVyc3Vs aW4gd3JvdGU6Cj4gPj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KPiA+Pgo+ID4+IENvbmNlcHQgb2YgYSBzdWItcGxhdGZvcm0gYWxyZWFkeSBleGlzdCBp biBvdXIgY29kZSAobGlrZSBVTFggYW5kIFVMVAo+ID4+IHBsYXRmb3JtIHZhcmlhbnRzIGFuZCBz aW1pbGFyKSxpbXBsZW1lbnRlZCB2aWEgdGhlIG1hY3JvcyB3aGljaCBjaGVjayBhCj4gPj4gbGlz dCBvZiBkZXZpY2UgaWRzIHRvIGRldGVybWluZSBhIG1hdGNoLgo+ID4+Cj4gPj4gV2l0aCB0aGlz IHBhdGNoIHdlIGNvbnNvbGlkYXRlIGRldmljZSBpZHMgY2hlY2tpbmcgaW50byBhIHNpbmdsZSBm dW5jdGlvbgo+ID4+IGNhbGxlZCBkdXJpbmcgZWFybHkgZHJpdmVyIGxvYWQuCj4gPj4KPiA+PiBB IGZldyBsb3cgYml0cyBpbiB0aGUgcGxhdGZvcm0gbWFzayBhcmUgcmVzZXJ2ZWQgZm9yIHN1Yi1w bGF0Zm9ybQo+ID4+IGlkZW50aWZpY2F0aW9uIGFuZCBkZWZpbmVkIGFzIGEgcGVyLXBsYXRmb3Jt IG5hbWVzcGFjZS4KPiA+Pgo+ID4+IEF0IHRoZSBzYW1lIHRpbWUgaXQgZnV0dXJlIHByb29mcyB0 aGUgcGxhdGZvcm1fbWFzayBoYW5kbGluZyBieSBwcmVwYXJpbmcKPiA+PiB0aGUgY29kZSBmb3Ig ZWFzeSBleHRlbmRpbmcsIGFuZCB0aWRpZXMgdGhlIHZlcnkgdmVyYm9zZSBXQVJOIHN0cmluZ3MK PiA+PiBnZW5lcmF0ZWQgd2hlbiBJU19QTEFURk9STSBtYWNyb3MgYXJlIGVtYmVkZGVkIGludG8g YSBXQVJOIHR5cGUKPiA+PiBzdGF0ZW1lbnRzLgo+ID4+Cj4gPj4gVGhlIGFwcHJvYWNoIGlzIGFs c28gYmVuZWZpY2lhbCB0byBkcml2ZXIgc2l6ZSwgd2l0aCBhbiBjb21iaW5lZCBzaHJpbmsgb2YK PiA+PiBjb2RlIGFuZCBzdHJpbmdzIG9mIGFyb3VuZCAxLjcga2lCLgo+ID4+Cj4gPj4gdjI6IEZp eGVkIElTX1NVQlBMQVRGT1JNLiBVcGRhdGVkIGNvbW1pdCBtc2cuCj4gPj4gdjM6IENocmlzIHdh cyByaWdodCwgdGhlcmUgaXMgYW4gb3JkZXJpbmcgcHJvYmxlbS4KPiA+Pgo+ID4+IHY0Ogo+ID4+ ICAgKiBDYXRjaC11cCB3aXRoIG5ldyBzdWItcGxhdGZvcm1zLgo+ID4+ICAgKiBSZWJhc2UgZm9y IFJVTlRJTUVfSU5GTy4KPiA+PiAgICogRHJvcCBzdWJwbGF0Zm9ybSBtYXNrIHVuaW9uIHRyaWNr cyBhbmQgY29udmVydCBwbGF0Zm9ybV9tYXNrIHRvIGFuCj4gPj4gICAgIGFycmF5IGZvciBleHRl bnNpYmlsaXR5Lgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KPiA+PiBTdWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KPiA+PiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KPiA+PiBDYzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Cj4g Pj4gQ2M6IEpvc2UgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+ID4+IC0tLQo+ID4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICB8ICAgNyArLQo+ID4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8IDExMCArKysrKysrKysr KysrKystLS0tLS0tLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAg ICAgICB8ICAgMiArLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2lu Zm8uYyB8ICA3OSArKysrKysrKysrKysrKysrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZXZpY2VfaW5mby5oIHwgIDI4ICsrKysrLQo+ID4+ICAgNSBmaWxlcyBjaGFuZ2VkLCAx NzkgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKPiA+PiBpbmRleCAwZDc0MzkwN2U3YmMuLjMyMTgzNTBjZDIyNSAxMDA2NDQKPiA+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4+IEBAIC04NjMsNiArODYzLDggQEAgc3RhdGlj IGludCBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiA+PiAgIAlpZiAoaTkxNV9pbmplY3RfbG9hZF9mYWlsdXJlKCkpCj4gPj4gICAJCXJl dHVybiAtRU5PREVWOwo+ID4+ICAgCj4gPj4gKwlpbnRlbF9kZXZpY2VfaW5mb19zdWJwbGF0Zm9y bV9pbml0KGRldl9wcml2KTsKPiA+PiArCj4gPj4gICAJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2 LT5pcnFfbG9jayk7Cj4gPj4gICAJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5ncHVfZXJyb3Iu bG9jayk7Cj4gPj4gICAJbXV0ZXhfaW5pdCgmZGV2X3ByaXYtPmJhY2tsaWdodF9sb2NrKTsKPiA+ PiBAQCAtMTc1MiwxMCArMTc1NCwxMSBAQCBzdGF0aWMgdm9pZCBpOTE1X3dlbGNvbWVfbWVzc2Fn ZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ICAgCWlmIChkcm1fZGVi dWcgJiBEUk1fVVRfRFJJVkVSKSB7Cj4gPj4gICAJCXN0cnVjdCBkcm1fcHJpbnRlciBwID0gZHJt X2RlYnVnX3ByaW50ZXIoImk5MTUgZGV2aWNlIGluZm86Iik7Cj4gPj4gICAKPiA+PiAtCQlkcm1f cHJpbnRmKCZwLCAicGNpaWQ9MHglMDR4IHJldj0weCUwMnggcGxhdGZvcm09JXMgZ2VuPSVpXG4i LAo+ID4+ICsJCWRybV9wcmludGYoJnAsICJwY2lpZD0weCUwNHggcmV2PTB4JTAyeCBwbGF0Zm9y bT0lcyAoJXgpIGdlbj0laVxuIiwKPiA+PiAgIAkJCSAgIElOVEVMX0RFVklEKGRldl9wcml2KSwK PiA+PiAgIAkJCSAgIElOVEVMX1JFVklEKGRldl9wcml2KSwKPiA+PiAgIAkJCSAgIGludGVsX3Bs YXRmb3JtX25hbWUoSU5URUxfSU5GTyhkZXZfcHJpdiktPnBsYXRmb3JtKSwKPiA+PiArCQkJICAg UlVOVElNRV9JTkZPKGRldl9wcml2KS0+cGxhdGZvcm1fbWFza1tJTlRFTF9JTkZPKGRldl9wcml2 KS0+cGxhdGZvcm0gLyAoQklUU19QRVJfVFlQRShSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5wbGF0 Zm9ybV9tYXNrWzBdKSAtIElOVEVMX1NVQlBMQVRGT1JNX0JJVFMpXSwKPiA+PiAgIAkJCSAgIElO VEVMX0dFTihkZXZfcHJpdikpOwo+ID4+ICAgCj4gPj4gICAJCWludGVsX2RldmljZV9pbmZvX2R1 bXBfZmxhZ3MoSU5URUxfSU5GTyhkZXZfcHJpdiksICZwKTsKPiA+PiBAQCAtMTc5OCw4ICsxODAx LDYgQEAgaTkxNV9kcml2ZXJfY3JlYXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1 Y3QgcGNpX2RldmljZV9pZCAqZW50KQo+ID4+ICAgCW1lbWNweShkZXZpY2VfaW5mbywgbWF0Y2hf aW5mbywgc2l6ZW9mKCpkZXZpY2VfaW5mbykpOwo+ID4+ICAgCVJVTlRJTUVfSU5GTyhpOTE1KS0+ ZGV2aWNlX2lkID0gcGRldi0+ZGV2aWNlOwo+ID4+ICAgCj4gPj4gLQlCVUlMRF9CVUdfT04oSU5U RUxfTUFYX1BMQVRGT1JNUyA+Cj4gPj4gLQkJICAgICBCSVRTX1BFUl9UWVBFKGRldmljZV9pbmZv LT5wbGF0Zm9ybV9tYXNrKSk7Cj4gPj4gICAJQlVHX09OKGRldmljZV9pbmZvLT5nZW4gPiBCSVRT X1BFUl9UWVBFKGRldmljZV9pbmZvLT5nZW5fbWFzaykpOwo+ID4+ICAgCj4gPj4gICAJcmV0dXJu IGk5MTU7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPj4gaW5kZXggZGNjYjYwMDZhYWJm Li4zNDI4MmNmNjZjYjAgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PiBA QCAtMjI4MSw3ICsyMjgxLDQ2IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGk5MTVfc2df c2VnbWVudF9zaXplKHZvaWQpCj4gPj4gICAjZGVmaW5lIElTX1JFVklEKHAsIHNpbmNlLCB1bnRp bCkgXAo+ID4+ICAgCShJTlRFTF9SRVZJRChwKSA+PSAoc2luY2UpICYmIElOVEVMX1JFVklEKHAp IDw9ICh1bnRpbCkpCj4gPj4gICAKPiA+PiAtI2RlZmluZSBJU19QTEFURk9STShkZXZfcHJpdiwg cCkgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybV9tYXNrICYgQklUKHApKQo+ID4+ICsj ZGVmaW5lIF9fSVNfUExBVEZPUk0oZGV2X3ByaXYsIHApIFwKPiA+PiArKHsgXAo+ID4+ICsJY29u c3QgdW5zaWduZWQgaW50IHBiaXRzX18gPSBcCj4gPj4gKwkJQklUU19QRVJfVFlQRShSVU5USU1F X0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybV9tYXNrWzBdKSAtIFwKPiA+PiArCQlJTlRFTF9TVUJQ TEFURk9STV9CSVRTOyBcCj4gPj4gKwljb25zdCB1bnNpZ25lZCBpbnQgcGlfXyA9IChwKSAvIHBi aXRzX187IFwKPiA+PiArCWNvbnN0IHVuc2lnbmVkIGludCBwYl9fID0gKHApICUgcGJpdHNfXyAr IElOVEVMX1NVQlBMQVRGT1JNX0JJVFM7IFwKPiA+PiArXAo+ID4+ICsJQlVJTERfQlVHX09OKCFf X2J1aWx0aW5fY29uc3RhbnRfcChwKSk7IFwKPiA+PiArXAo+ID4+ICsJKFJVTlRJTUVfSU5GTyhk ZXZfcHJpdiktPnBsYXRmb3JtX21hc2tbcGlfX10gJiBCSVQocGJfXykpOyBcCj4gPj4gK30pCj4g Pj4gKwo+ID4+ICsjZGVmaW5lIF9fSVNfU1VCUExBVEZPUk0oZGV2X3ByaXYsIHAsIHMpIFwKPiA+ PiArKHsgXAo+ID4+ICsJY29uc3QgdW5zaWduZWQgaW50IHBiaXRzX18gPSBcCj4gPj4gKwkJQklU U19QRVJfVFlQRShSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybV9tYXNrWzBdKSAtIFwK PiA+PiArCQlJTlRFTF9TVUJQTEFURk9STV9CSVRTOyBcCj4gPj4gKwljb25zdCB1bnNpZ25lZCBp bnQgcGlfXyA9IChwKSAvIHBiaXRzX187IFwKPiA+PiArCWNvbnN0IHVuc2lnbmVkIGludCBwYl9f ID0gKHApICUgcGJpdHNfXyArIElOVEVMX1NVQlBMQVRGT1JNX0JJVFM7IFwKPiA+PiArXAo+ID4+ ICsJQlVJTERfQlVHX09OKCFfX2J1aWx0aW5fY29uc3RhbnRfcChwKSk7IFwKPiA+PiArCUJVSUxE X0JVR19PTighX19idWlsdGluX2NvbnN0YW50X3AocykpOyBcCj4gPj4gKwlCVUlMRF9CVUdfT04o KHMpID49IElOVEVMX1NVQlBMQVRGT1JNX0JJVFMpOyBcCj4gPj4gK1wKPiA+PiArCShSVU5USU1F X0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybV9tYXNrW3BpX19dICYgKEJJVChwYl9fKSB8IEJJVChz KSkpOyBcCj4gPj4gK30pCj4gPj4gKwo+ID4+ICtzdGF0aWMgaW5saW5lIGJvb2wKPiA+PiArSVNf UExBVEZPUk0oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGVudW0gaW50ZWxf cGxhdGZvcm0gcCkKPiA+PiArewo+ID4+ICsJcmV0dXJuIF9fSVNfUExBVEZPUk0oaTkxNSwgcCk7 Cj4gPj4gK30KPiA+PiArCj4gPj4gK3N0YXRpYyBpbmxpbmUgYm9vbAo+ID4+ICtJU19TVUJQTEFU Rk9STShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiA+PiArCSAgICAgICBl bnVtIGludGVsX3BsYXRmb3JtIHAsIHVuc2lnbmVkIGludCBzKQo+ID4+ICt7Cj4gPj4gKwlyZXR1 cm4gX19JU19TVUJQTEFURk9STShpOTE1LCBwLCBzKTsKPiA+PiArfQo+ID4+ICAgCj4gPj4gICAj ZGVmaW5lIElTX0k4MzAoZGV2X3ByaXYpCUlTX1BMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9JODMw KQo+ID4+ICAgI2RlZmluZSBJU19JODQ1RyhkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYs IElOVEVMX0k4NDVHKQo+ID4+IEBAIC0yMjk2LDExICsyMzM1LDE1IEBAIHN0YXRpYyBpbmxpbmUg dW5zaWduZWQgaW50IGk5MTVfc2dfc2VnbWVudF9zaXplKHZvaWQpCj4gPj4gICAjZGVmaW5lIElT X0c0NShkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0c0NSkKPiA+PiAgICNk ZWZpbmUgSVNfR000NShkZXZfcHJpdikJSVNfUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0dNNDUp Cj4gPj4gICAjZGVmaW5lIElTX0c0WChkZXZfcHJpdikJKElTX0c0NShkZXZfcHJpdikgfHwgSVNf R000NShkZXZfcHJpdikpCj4gPj4gLSNkZWZpbmUgSVNfUElORVZJRVdfRyhkZXZfcHJpdikJKElO VEVMX0RFVklEKGRldl9wcml2KSA9PSAweGEwMDEpCj4gPj4gLSNkZWZpbmUgSVNfUElORVZJRVdf TShkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweGEwMTEpCj4gPj4gKyNkZWZp bmUgSVNfUElORVZJRVdfRyhkZXZfcHJpdikJXAo+ID4+ICsJSVNfU1VCUExBVEZPUk0oZGV2X3By aXYsIElOVEVMX1BJTkVWSUVXLCBJTlRFTF9TVUJQTEFURk9STV9QSU5FVklFV19HKQo+ID4+ICsj ZGVmaW5lIElTX1BJTkVWSUVXX00oZGV2X3ByaXYpCVwKPiA+PiArCUlTX1NVQlBMQVRGT1JNKGRl dl9wcml2LCBJTlRFTF9QSU5FVklFVywgSU5URUxfU1VCUExBVEZPUk1fUElORVZJRVdfTSkKPiA+ PiAgICNkZWZpbmUgSVNfUElORVZJRVcoZGV2X3ByaXYpCUlTX1BMQVRGT1JNKGRldl9wcml2LCBJ TlRFTF9QSU5FVklFVykKPiA+IAo+ID4gSSBoYXZlIGEgZmVlbGluZyB3ZSBzaG91bGQganVzdCB1 c2UgdGhlIG5vcm1hbCBJU19NT0JJTEUoKSB0aGluZwo+ID4gaGVyZS4gQnV0IHVudGFuZ2xpbmcg dGhhdCBtZXNzIG1pZ2h0IGJlIGEgYml0IG9mIHdvcmsuCj4gPiAKPiA+PiAgICNkZWZpbmUgSVNf RzMzKGRldl9wcml2KQlJU19QTEFURk9STShkZXZfcHJpdiwgSU5URUxfRzMzKQo+ID4+IC0jZGVm aW5lIElTX0lST05MQUtFX00oZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgw MDQ2KQo+ID4+ICsjZGVmaW5lIElTX0lST05MQUtFKGRldl9wcml2KQlJU19QTEFURk9STShkZXZf cHJpdiwgSU5URUxfSVJPTkxBS0UpCj4gPj4gKyNkZWZpbmUgSVNfSVJPTkxBS0VfTShkZXZfcHJp dikJXAo+ID4+ICsJSVNfU1VCUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0lST05MQUtFLCBJTlRF TF9TVUJQTEFURk9STV9JUk9OTEFLRV9NKQo+ID4gCj4gPiBUaGlzIGlzIGNsZWFybHkganVzdCBJ U19NT0JJTEUoKS4KPiAKPiBPay4KPiAKPiA+IE9yIHdlIGp1c3Qga2VlcCB0aGUgY3VycmVudCBw Y2kgaWQgY2hlY2tzLiBGcmFua2x5IEkgc2VlIG5vIGJlbmVmaXQgaW4KPiA+IGFic3RyYWN0aW5n IHRoZXNlIGZldyBleGNlcHRpb25zLgo+IAo+IEFyZSB5b3UgcmVmZXJyaW5nIHRvIElyb25sYWtl IG9ubHkgb3IgaW4gZ2VuZXJhbD8KCnBudiBhbmQgaWxrLgoKPiAKPiA+IAo+ID4+ICAgI2RlZmlu ZSBJU19JVllCUklER0UoZGV2X3ByaXYpCUlTX1BMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9JVllC UklER0UpCj4gPj4gICAjZGVmaW5lIElTX0lWQl9HVDEoZGV2X3ByaXYpCShJU19JVllCUklER0Uo ZGV2X3ByaXYpICYmIFwKPiA+PiAgIAkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPmd0ID09IDEp Cj4gPj4gQEAgLTIzMTgsNDIgKzIzNjEsMzEgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQg aTkxNV9zZ19zZWdtZW50X3NpemUodm9pZCkKPiA+PiAgICNkZWZpbmUgSVNfTU9CSUxFKGRldl9w cml2KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmlzX21vYmlsZSkKPiA+PiAgICNkZWZpbmUgSVNf SFNXX0VBUkxZX1NEVihkZXZfcHJpdikgKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIFwKPiA+PiAg IAkJCQkgICAgKElOVEVMX0RFVklEKGRldl9wcml2KSAmIDB4RkYwMCkgPT0gMHgwQzAwKQo+ID4+ IC0jZGVmaW5lIElTX0JEV19VTFQoZGV2X3ByaXYpCShJU19CUk9BRFdFTEwoZGV2X3ByaXYpICYm IFwKPiA+PiAtCQkJCSAoKElOVEVMX0RFVklEKGRldl9wcml2KSAmIDB4ZikgPT0gMHg2IHx8CVwK PiA+PiAtCQkJCSAoSU5URUxfREVWSUQoZGV2X3ByaXYpICYgMHhmKSA9PSAweGIgfHwJXAo+ID4+ IC0JCQkJIChJTlRFTF9ERVZJRChkZXZfcHJpdikgJiAweGYpID09IDB4ZSkpCj4gPj4gLS8qIFVM WCBtYWNoaW5lcyBhcmUgYWxzbyBjb25zaWRlcmVkIFVMVC4gKi8KPiA+PiAtI2RlZmluZSBJU19C RFdfVUxYKGRldl9wcml2KQkoSVNfQlJPQURXRUxMKGRldl9wcml2KSAmJiBcCj4gPj4gLQkJCQkg KElOVEVMX0RFVklEKGRldl9wcml2KSAmIDB4ZikgPT0gMHhlKQo+ID4+ICsjZGVmaW5lIElTX0JE V19VTFQoZGV2X3ByaXYpIFwKPiA+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9C Uk9BRFdFTEwsIElOVEVMX1NVQlBMQVRGT1JNX1VMVCkKPiA+PiArI2RlZmluZSBJU19CRFdfVUxY KGRldl9wcml2KSBcCj4gPj4gKwlJU19TVUJQTEFURk9STShkZXZfcHJpdiwgSU5URUxfQlJPQURX RUxMLCBJTlRFTF9TVUJQTEFURk9STV9VTFgpCj4gPj4gICAjZGVmaW5lIElTX0JEV19HVDMoZGV2 X3ByaXYpCShJU19CUk9BRFdFTEwoZGV2X3ByaXYpICYmIFwKPiA+PiAgIAkJCQkgSU5URUxfSU5G TyhkZXZfcHJpdiktPmd0ID09IDMpCj4gPj4gLSNkZWZpbmUgSVNfSFNXX1VMVChkZXZfcHJpdikJ KElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIFwKPiA+PiAtCQkJCSAoSU5URUxfREVWSUQoZGV2X3By aXYpICYgMHhGRjAwKSA9PSAweDBBMDApCj4gPj4gKyNkZWZpbmUgSVNfSFNXX1VMVChkZXZfcHJp dikgXAo+ID4+ICsJSVNfU1VCUExBVEZPUk0oZGV2X3ByaXYsIElOVEVMX0hBU1dFTEwsIElOVEVM X1NVQlBMQVRGT1JNX1VMVCkKPiA+PiAgICNkZWZpbmUgSVNfSFNXX0dUMyhkZXZfcHJpdikJKElT X0hBU1dFTEwoZGV2X3ByaXYpICYmIFwKPiA+PiAgIAkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdikt Pmd0ID09IDMpCj4gPj4gICAjZGVmaW5lIElTX0hTV19HVDEoZGV2X3ByaXYpCShJU19IQVNXRUxM KGRldl9wcml2KSAmJiBcCj4gPj4gICAJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAx KQo+ID4+ICAgLyogVUxYIG1hY2hpbmVzIGFyZSBhbHNvIGNvbnNpZGVyZWQgVUxULiAqLwo+ID4+ IC0jZGVmaW5lIElTX0hTV19VTFgoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0g MHgwQTBFIHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgwQTFFKQo+ ID4+IC0jZGVmaW5lIElTX1NLTF9VTFQoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikg PT0gMHgxOTA2IHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTEz IHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTE2IHx8IFwKPiA+ PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTIxIHx8IFwKPiA+PiAtCQkJCSBJ TlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTI2KQo+ID4+IC0jZGVmaW5lIElTX1NLTF9VTFgo ZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTBFIHx8IFwKPiA+PiAtCQkJ CSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgxOTE1IHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9E RVZJRChkZXZfcHJpdikgPT0gMHgxOTFFKQo+ID4+IC0jZGVmaW5lIElTX0tCTF9VTFQoZGV2X3By aXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg1OTA2IHx8IFwKPiA+PiAtCQkJCSBJTlRF TF9ERVZJRChkZXZfcHJpdikgPT0gMHg1OTEzIHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChk ZXZfcHJpdikgPT0gMHg1OTE2IHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikg PT0gMHg1OTIxIHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg1OTI2 KQo+ID4+IC0jZGVmaW5lIElTX0tCTF9VTFgoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJp dikgPT0gMHg1OTBFIHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg1 OTE1IHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg1OTFFKQo+ID4+ IC0jZGVmaW5lIElTX0FNTF9VTFgoZGV2X3ByaXYpCShJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0g MHg1OTFDIHx8IFwKPiA+PiAtCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHg4N0MwKQo+ ID4+ICsjZGVmaW5lIElTX0hTV19VTFgoZGV2X3ByaXYpIFwKPiA+PiArCUlTX1NVQlBMQVRGT1JN KGRldl9wcml2LCBJTlRFTF9IQVNXRUxMLCBJTlRFTF9TVUJQTEFURk9STV9VTFgpCj4gPj4gKyNk ZWZpbmUgSVNfU0tMX1VMVChkZXZfcHJpdikgXAo+ID4+ICsJSVNfU1VCUExBVEZPUk0oZGV2X3By aXYsIElOVEVMX1NLWUxBS0UsIElOVEVMX1NVQlBMQVRGT1JNX1VMVCkKPiA+PiArI2RlZmluZSBJ U19TS0xfVUxYKGRldl9wcml2KSBcCj4gPj4gKwlJU19TVUJQTEFURk9STShkZXZfcHJpdiwgSU5U RUxfU0tZTEFLRSwgSU5URUxfU1VCUExBVEZPUk1fVUxYKQo+ID4+ICsjZGVmaW5lIElTX0tCTF9V TFQoZGV2X3ByaXYpIFwKPiA+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9LQUJZ TEFLRSwgSU5URUxfU1VCUExBVEZPUk1fVUxUKQo+ID4+ICsjZGVmaW5lIElTX0tCTF9VTFgoZGV2 X3ByaXYpIFwKPiA+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9LQUJZTEFLRSwg SU5URUxfU1VCUExBVEZPUk1fVUxYKQo+ID4+ICsjZGVmaW5lIElTX0FNTF9VTFgoZGV2X3ByaXYp IFwKPiA+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9LQUJZTEFLRSwgSU5URUxf U1VCUExBVEZPUk1fQU1MX1VMWCkKPiA+IAo+ID4gV2h5IGlzIEFNTF9VTFggZGlmZmVyZW50IGZy b20gbm9ybWFsIFVMWD8KPiAKPiBBcyBmYXIgYXMgSSBjb3VsZCBpdCBpcyBhIGRpZmZlcmVudCBk ZXZpZCB3aGljaCB3ZSBvZmZpY2lhbGx5IGNhbGwgCj4gQW1iZXJsYWtlLCBidXQgZGlkIG5vdCBh ZGQgaXQgYXMgc2VwYXJhdGUgcGxhdGZvcm0uCj4gCj4gR2l2ZW4gaG93IHRoaXMgbWFjcm8gaXMg dXNlZCwgd2hpY2ggaXMgYWx3YXlzIGluIGNvbmp1Y3Rpb24gd2l0aCAKPiBJU19LQkxfVUxYLCBJ IGNvbnNpZGVyZWQganVzdCByZW1vdmluZyBpdCBhbmQgYWRkaW5nIHRoZSBkZXZpZCB0byAKPiBL QkxfVUxYLCBidXQgZGlkIG5vdCB3YW50IHRvIGludGVyZmVycmUgd2l0aCBvdGhlciBwZW9wbGUn cyBpZGVhcy4KClRoaXMgd2hvbGUgQU1MX1VMWCBtYWtlcyBubyBzZW5zZS4gVGhlICJub24tVUxY IiBBTUwgaXMgYWxzbwpkb2N1Y2VtZW50ZWQgdG8gYmUgYSBZIFNLVSwgc28gQUZBSUNTIGl0IHNo b3VsZCB1c2UgdGhlIGV4YWN0CnNhbWUgY29kZXBhdGhzIGFzIEtCTCBZIChha2EuIEtCTF9VTFgp LiBDYzppbmcgSm9zZSB3aG8gYWRkZWQgdGhpcwpzZWNvbmQgQU1MIHZhcmlhbnQuLi4KCkknbSBy ZWFsbHkgdGVtcHRlZCB0byBqdXN0IGdvIGFuZCBudWtlIGFsbCBDRkwsQU1MLGV0Yy4gZnJvbSB0 aGUKY29kZSB0byBtYWtlIGl0IGFjdHVhbGx5IG1hdGNoIHRoZSBzcGVjLgoKPiAKPiA+IAo+ID4+ ICAgI2RlZmluZSBJU19TS0xfR1QyKGRldl9wcml2KQkoSVNfU0tZTEFLRShkZXZfcHJpdikgJiYg XAo+ID4+ICAgCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMikKPiA+PiAgICNkZWZp bmUgSVNfU0tMX0dUMyhkZXZfcHJpdikJKElTX1NLWUxBS0UoZGV2X3ByaXYpICYmIFwKPiA+PiBA QCAtMjM2NCwxNiArMjM5NiwxNiBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpOTE1X3Nn X3NlZ21lbnRfc2l6ZSh2b2lkKQo+ID4+ICAgCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3Qg PT0gMikKPiA+PiAgICNkZWZpbmUgSVNfS0JMX0dUMyhkZXZfcHJpdikJKElTX0tBQllMQUtFKGRl dl9wcml2KSAmJiBcCj4gPj4gICAJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAzKQo+ ID4+IC0jZGVmaW5lIElTX0NGTF9VTFQoZGV2X3ByaXYpCShJU19DT0ZGRUVMQUtFKGRldl9wcml2 KSAmJiBcCj4gPj4gLQkJCQkgKElOVEVMX0RFVklEKGRldl9wcml2KSAmIDB4MDBGMCkgPT0gMHgw MEEwKQo+ID4+ICsjZGVmaW5lIElTX0NGTF9VTFQoZGV2X3ByaXYpIFwKPiA+PiArCUlTX1NVQlBM QVRGT1JNKGRldl9wcml2LCBJTlRFTF9DT0ZGRUVMQUtFLCBJTlRFTF9TVUJQTEFURk9STV9VTFQp Cj4gPj4gICAjZGVmaW5lIElTX0NGTF9HVDIoZGV2X3ByaXYpCShJU19DT0ZGRUVMQUtFKGRldl9w cml2KSAmJiBcCj4gPj4gICAJCQkJIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ndCA9PSAyKQo+ID4+ ICAgI2RlZmluZSBJU19DRkxfR1QzKGRldl9wcml2KQkoSVNfQ09GRkVFTEFLRShkZXZfcHJpdikg JiYgXAo+ID4+ICAgCQkJCSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z3QgPT0gMykKPiA+PiAtI2Rl ZmluZSBJU19DTkxfV0lUSF9QT1JUX0YoZGV2X3ByaXYpICAgKElTX0NBTk5PTkxBS0UoZGV2X3By aXYpICYmIFwKPiA+PiAtCQkJCQkoSU5URUxfREVWSUQoZGV2X3ByaXYpICYgMHgwMDA0KSA9PSAw eDAwMDQpCj4gPj4gLSNkZWZpbmUgSVNfSUNMX1dJVEhfUE9SVF9GKGRldl9wcml2KSAgIChJU19J Q0VMQUtFKGRldl9wcml2KSAmJiBcCj4gPj4gLQkJCQkJSU5URUxfREVWSUQoZGV2X3ByaXYpICE9 IDB4OEE1MSkKPiA+PiArI2RlZmluZSBJU19DTkxfV0lUSF9QT1JUX0YoZGV2X3ByaXYpIFwKPiA+ PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9DQU5OT05MQUtFLCBJTlRFTF9TVUJQ TEFURk9STV9QT1JURikKPiA+PiArI2RlZmluZSBJU19JQ0xfV0lUSF9QT1JUX0YoZGV2X3ByaXYp IFwKPiA+PiArCUlTX1NVQlBMQVRGT1JNKGRldl9wcml2LCBJTlRFTF9JQ0VMQUtFLCBJTlRFTF9T VUJQTEFURk9STV9QT1JURikKPiA+IAo+ID4gR29kIHRoYXQgUE9SVEYgdGhpbmcgaXMgdWdseS4g SSB3b3VsZCBzdWdnZXN0IHdlIGp1c3QgYWRkIHBvcnRfbWFzawo+ID4gb3Igc29tZXRoaW5nIGFs b25nIHRob3NlIGxpbmVzIGludG8gdGhlIGRldmljZSBpbmZvLgo+ID4gCj4gPiBUaGVuIHdlIGNv dWxkIHBlcmhhcHMgZXZlbiBhdm9pZCBhZGRpbmcgbW9yZSBhbmQgbW9yZSBicmFuY2hlcyB0bwo+ ID4gaW50ZWxfc2V0dXBfb3V0cHV0cygpLiBBbHRob3VnaCBJJ20gbm90IHN1cmUgd2UgbmVlZCBh bnl0aGluZyBmb3IgdGhhdAo+ID4gc2luY2Ugd2UnbGwgbG9vayBhdCB0aGUgVkJUIGFueXdheSAo d2hpY2ggKm1heWJlKiBkb2Vzbid0IGFkdmVydGl6ZQo+ID4gcG9ydHMgdGhhdCBhcmVuJ3QgcHJl c2VudD8pLgo+IAo+IE5vIGlkZWEsIHNvdW5kcyBsaWtlIGEgcXVlc3Rpb24gZm9yIHlvdSBkaXNw bGF5IGZvbGtzIHRvIGRlY2lkZSAKPiBzZXBhcmF0ZWx5IG9mIHRoaXMgcHJvcG9zYWwgcHJvYmFi bHk/Cj4gCj4gPiAKPiA+PiAgIAo+ID4+ICAgI2RlZmluZSBJU19BTFBIQV9TVVBQT1JUKGludGVs X2luZm8pICgoaW50ZWxfaW5mbyktPmlzX2FscGhhX3N1cHBvcnQpCj4gPj4gICAKPiA+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMKPiA+PiBpbmRleCAzY2Y2OTdlOGYxZmEuLjJiMDQyNjE4ZTNjYSAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCj4gPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwo+ID4+IEBAIC0zMiw3ICszMiw3IEBA Cj4gPj4gICAjaW5jbHVkZSAiaTkxNV9nbG9iYWxzLmgiCj4gPj4gICAjaW5jbHVkZSAiaTkxNV9z ZWxmdGVzdC5oIgo+ID4+ICAgCj4gPj4gLSNkZWZpbmUgUExBVEZPUk0oeCkgLnBsYXRmb3JtID0g KHgpLCAucGxhdGZvcm1fbWFzayA9IEJJVCh4KQo+ID4+ICsjZGVmaW5lIFBMQVRGT1JNKHgpIC5w bGF0Zm9ybSA9ICh4KQo+ID4+ICAgI2RlZmluZSBHRU4oeCkgLmdlbiA9ICh4KSwgLmdlbl9tYXNr ID0gQklUKCh4KSAtIDEpCj4gPj4gICAKPiA+PiAgICNkZWZpbmUgSTg0NV9QSVBFX09GRlNFVFMg XAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+ID4+IGluZGV4 IGFhYzE5YjFjNDE5Yy4uYjhhN2UxN2NiNDQzIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCj4gPj4gQEAgLTcwNyw2ICs3MDcsODUgQEAgc3RhdGlj IHUzMiByZWFkX3RpbWVzdGFtcF9mcmVxdWVuY3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ID4+ICAgCXJldHVybiAwOwo+ID4+ICAgfQo+ID4+ICAgCj4gPj4gK3ZvaWQgaW50 ZWxfZGV2aWNlX2luZm9fc3VicGxhdGZvcm1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKPiA+PiArewo+ID4+ICsJY29uc3QgdW5zaWduZWQgaW50IHBiaXRzID0KPiA+PiArCQlC SVRTX1BFUl9UWVBFKFJVTlRJTUVfSU5GTyhpOTE1KS0+cGxhdGZvcm1fbWFza1swXSkgLQo+ID4+ ICsJCUlOVEVMX1NVQlBMQVRGT1JNX0JJVFM7Cj4gPj4gKwljb25zdCB1bnNpZ25lZCBpbnQgcGkg PSBJTlRFTF9JTkZPKGk5MTUpLT5wbGF0Zm9ybSAvIHBiaXRzOwo+ID4+ICsJY29uc3QgdW5zaWdu ZWQgaW50IHBiID0KPiA+PiArCQlJTlRFTF9JTkZPKGk5MTUpLT5wbGF0Zm9ybSAlIHBiaXRzICsg SU5URUxfU1VCUExBVEZPUk1fQklUUzsKPiA+PiArCXN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8g KmluZm8gPSBSVU5USU1FX0lORk8oaTkxNSk7Cj4gPj4gKwl1MTYgZGV2aWQgPSBJTlRFTF9ERVZJ RChpOTE1KTsKPiA+PiArCj4gPj4gKwlCVUlMRF9CVUdfT04oSU5URUxfTUFYX1BMQVRGT1JNUyA+ Cj4gPj4gKwkJICAgICBwYml0cyAqIEFSUkFZX1NJWkUoUlVOVElNRV9JTkZPKGk5MTUpLT5wbGF0 Zm9ybV9tYXNrKSk7Cj4gPj4gKwo+ID4+ICsJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gPSBCSVQo cGIpOwo+ID4+ICsKPiA+PiArCWlmIChJU19QSU5FVklFVyhpOTE1KSkgewo+ID4+ICsJCWlmIChk ZXZpZCA9PSAweGEwMDEpCj4gPj4gKwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9Cj4gPj4g KwkJCQlCSVQoSU5URUxfU1VCUExBVEZPUk1fUElORVZJRVdfRyk7Cj4gPj4gKwkJZWxzZSBpZiAo ZGV2aWQgPT0gMHhhMDExKQo+ID4+ICsJCQlpbmZvLT5wbGF0Zm9ybV9tYXNrW3BpXSB8PQo+ID4+ ICsJCQkJQklUKElOVEVMX1NVQlBMQVRGT1JNX1BJTkVWSUVXX00pOwo+ID4+ICsJfSBlbHNlIGlm IChJU19JUk9OTEFLRShpOTE1KSkgewo+ID4+ICsJCWlmIChkZXZpZCA9PSAweDAwNDYpCj4gPj4g KwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9Cj4gPj4gKwkJCQlCSVQoSU5URUxfU1VCUExB VEZPUk1fSVJPTkxBS0VfTSk7Cj4gPj4gKwl9IGVsc2UgaWYgKElTX0hBU1dFTEwoaTkxNSkpIHsK PiA+PiArCQlpZiAoKGRldmlkICYgMHhGRjAwKSA9PSAweDBBMDApCj4gPj4gKwkJCWluZm8tPnBs YXRmb3JtX21hc2tbcGldIHw9IEJJVChJTlRFTF9TVUJQTEFURk9STV9VTFQpOwo+ID4+ICsJCS8q IFVMWCBtYWNoaW5lcyBhcmUgYWxzbyBjb25zaWRlcmVkIFVMVC4gKi8KPiA+PiArCQlpZiAoZGV2 aWQgPT0gMHgwQTBFIHx8IGRldmlkID09IDB4MEExRSkKPiA+PiArCQkJaW5mby0+cGxhdGZvcm1f bWFza1twaV0gfD0gQklUKElOVEVMX1NVQlBMQVRGT1JNX1VMWCk7Cj4gPj4gKwl9IGVsc2UgaWYg KElTX0JST0FEV0VMTChpOTE1KSkgewo+ID4+ICsJCWlmICgoZGV2aWQgJiAweGYpID09IDB4NiB8 fAo+ID4+ICsJCSAgICAoZGV2aWQgJiAweGYpID09IDB4YiB8fAo+ID4+ICsJCSAgICAoZGV2aWQg JiAweGYpID09IDB4ZSkKPiA+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0gQklUKElO VEVMX1NVQlBMQVRGT1JNX1VMVCk7Cj4gPj4gKwkJLyogVUxYIG1hY2hpbmVzIGFyZSBhbHNvIGNv bnNpZGVyZWQgVUxULiAqLwo+ID4+ICsJCWlmICgoZGV2aWQgJiAweGYpID09IDB4ZSkKPiA+PiAr CQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0gQklUKElOVEVMX1NVQlBMQVRGT1JNX1VMWCk7 Cj4gPj4gKwl9IGVsc2UgaWYgKElTX1NLWUxBS0UoaTkxNSkpIHsKPiA+PiArCQlpZiAoZGV2aWQg PT0gMHgxOTA2IHx8Cj4gPj4gKwkJICAgIGRldmlkID09IDB4MTkxMyB8fAo+ID4+ICsJCSAgICBk ZXZpZCA9PSAweDE5MTYgfHwKPiA+PiArCQkgICAgZGV2aWQgPT0gMHgxOTIxIHx8Cj4gPj4gKwkJ ICAgIGRldmlkID09IDB4MTkyNikKPiA+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0g QklUKElOVEVMX1NVQlBMQVRGT1JNX1VMVCk7Cj4gPj4gKwkJZWxzZSBpZiAoZGV2aWQgPT0gMHgx OTBFIHx8Cj4gPj4gKwkJCSBkZXZpZCA9PSAweDE5MTUgfHwKPiA+PiArCQkJIGRldmlkID09IDB4 MTkxRSkKPiA+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0gQklUKElOVEVMX1NVQlBM QVRGT1JNX1VMWCk7Cj4gPj4gKwl9IGVsc2UgaWYgKElTX0tBQllMQUtFKGk5MTUpKSB7Cj4gPj4g KwkJaWYgKGRldmlkID09IDB4NTkwNiB8fAo+ID4+ICsJCSAgICBkZXZpZCA9PSAweDU5MTMgfHwK PiA+PiArCQkgICAgZGV2aWQgPT0gMHg1OTE2IHx8Cj4gPj4gKwkJICAgIGRldmlkID09IDB4NTky MSB8fAo+ID4+ICsJCSAgICBkZXZpZCAgPT0gMHg1OTI2KQo+ID4+ICsJCQlpbmZvLT5wbGF0Zm9y bV9tYXNrW3BpXSB8PSBCSVQoSU5URUxfU1VCUExBVEZPUk1fVUxUKTsKPiA+PiArCQllbHNlIGlm IChkZXZpZCA9PSAweDU5MEUgfHwKPiA+PiArCQkJIGRldmlkID09IDB4NTkxNSB8fAo+ID4+ICsJ CQkgZGV2aWQgPT0gMHg1OTFFKQo+ID4+ICsJCQlpbmZvLT5wbGF0Zm9ybV9tYXNrW3BpXSB8PSBC SVQoSU5URUxfU1VCUExBVEZPUk1fVUxYKTsKPiA+PiArCQllbHNlIGlmIChkZXZpZCA9PSAweDU5 MUMgfHwKPiA+PiArCQkJIGRldmlkID09IDB4ODdDMCkKPiA+PiArCQkJaW5mby0+cGxhdGZvcm1f bWFza1twaV0gfD0KPiA+PiArCQkJCUJJVChJTlRFTF9TVUJQTEFURk9STV9BTUxfVUxYKTsKPiA+ PiArCX0gZWxzZSBpZiAoSVNfQ09GRkVFTEFLRShpOTE1KSkgewo+ID4+ICsJCWlmICgoZGV2aWQg JiAweDAwRjApID09IDB4MDBBMCkKPiA+PiArCQkJaW5mby0+cGxhdGZvcm1fbWFza1twaV0gfD0g QklUKElOVEVMX1NVQlBMQVRGT1JNX1VMVCk7Cj4gPj4gKwl9IGVsc2UgaWYgKElTX0NBTk5PTkxB S0UoaTkxNSkpIHsKPiA+PiArCQlpZiAoKGRldmlkICYgMHgwMDA0KSA9PSAweDAwMDQpCj4gPj4g KwkJCWluZm8tPnBsYXRmb3JtX21hc2tbcGldIHw9IEJJVChJTlRFTF9TVUJQTEFURk9STV9QT1JU Rik7Cj4gPj4gKwl9IGVsc2UgaWYgKElTX0lDRUxBS0UoaTkxNSkpIHsKPiA+PiArCQlpZiAoZGV2 aWQgIT0gMHg4QTUxKQo+ID4+ICsJCQlpbmZvLT5wbGF0Zm9ybV9tYXNrW3BpXSB8PSBCSVQoSU5U RUxfU1VCUExBVEZPUk1fUE9SVEYpOwo+ID4+ICsJfQo+ID4+ICt9Cj4gPj4gKwo+ID4+ICAgLyoq Cj4gPj4gICAgKiBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQgLSBpbml0aWFsaXplIHJ1 bnRpbWUgaW5mbwo+ID4+ICAgICogQGRldl9wcml2OiB0aGUgaTkxNSBkZXZpY2UKPiA+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiA+PiBpbmRleCAwNDdkMTBiZGQ0 NTUuLmIwM2ZiZDJlNDUxYSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZXZpY2VfaW5mby5oCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGV2aWNlX2luZm8uaAo+ID4+IEBAIC00NCw3ICs0NCw3IEBAIGVudW0gaW50ZWxfcGxhdGZvcm0g ewo+ID4+ICAgCUlOVEVMX0k5MTVHLAo+ID4+ICAgCUlOVEVMX0k5MTVHTSwKPiA+PiAgIAlJTlRF TF9JOTQ1RywKPiA+PiAtCUlOVEVMX0k5NDVHTSwKPiA+PiArCUlOVEVMX0k5NDVHTSA9IDgsCj4g Pj4gICAJSU5URUxfRzMzLAo+ID4+ICAgCUlOVEVMX1BJTkVWSUVXLAo+ID4+ICAgCS8qIGdlbjQg Ki8KPiA+PiBAQCAtNTUsNyArNTUsNyBAQCBlbnVtIGludGVsX3BsYXRmb3JtIHsKPiA+PiAgIAkv KiBnZW41ICovCj4gPj4gICAJSU5URUxfSVJPTkxBS0UsCj4gPj4gICAJLyogZ2VuNiAqLwo+ID4+ IC0JSU5URUxfU0FORFlCUklER0UsCj4gPj4gKwlJTlRFTF9TQU5EWUJSSURHRSA9IDE2LAo+ID4+ ICAgCS8qIGdlbjcgKi8KPiA+PiAgIAlJTlRFTF9JVllCUklER0UsCj4gPj4gICAJSU5URUxfVkFM TEVZVklFVywKPiA+PiBAQCAtNjYsNyArNjYsNyBAQCBlbnVtIGludGVsX3BsYXRmb3JtIHsKPiA+ PiAgIAkvKiBnZW45ICovCj4gPj4gICAJSU5URUxfU0tZTEFLRSwKPiA+PiAgIAlJTlRFTF9CUk9Y VE9OLAo+ID4+IC0JSU5URUxfS0FCWUxBS0UsCj4gPj4gKwlJTlRFTF9LQUJZTEFLRSA9IDI0LAo+ ID4gCj4gPiBUb28gbXVjaCBtYWdpYy4gTG9va3MgcmF0aGVyIGZyYWdpbGUuCj4gCj4gSW1hZ2lu ZSB0aGVzZSBodW5rcyBnb25lLiBUaGlzIGlzIG5vdCByZXF1aXJlZCBmb3IgdGhpcyBwYXRjaCBh dCBhbGwsIG9yIAo+IGZvciBhbnl0aGluZyBmb3IgdGhhdCBtYXR0ZXIuIFdoYXQgZG8geW91IHRo aW5rIGlzIG1hZ2ljIGFuZCBmcmFnaWxlPwoKV2hvIGlzIGdvaW5nIHRvIHJlbWViZXIgdG8ga2Vl cCBhZGRpbmcgdGhvc2UgbWFnaWMgbnVtYmVycwppbiB0aGUgZnV0dXJlLgoKLS0gClZpbGxlIFN5 cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n Zng=