From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [PATCH v2 23/40] drm/i915/tgl: Register state context definition for Gen12 Date: Wed, 21 Aug 2019 14:12:40 -0700 Message-ID: <819dcaf6-7e21-2875-69e3-088e9696ed6d@intel.com> References: <20190817093902.2171-1-lucas.demarchi@intel.com> <20190817093902.2171-24-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id BD7686E046 for ; Thu, 22 Aug 2019 14:36:14 +0000 (UTC) In-Reply-To: <20190817093902.2171-24-lucas.demarchi@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: Lucas De Marchi , intel-gfx@lists.freedesktop.org Cc: Michel Thierry List-Id: intel-gfx@lists.freedesktop.org CgpPbiA4LzE3LzE5IDI6MzggQU0sIEx1Y2FzIERlIE1hcmNoaSB3cm90ZToKPiBGcm9tOiBNaWNo ZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgo+IAo+IEdlbjEyIGhhcyBzdWJ0 bGUgY2hhbmdlcyBpbiB0aGUgcmVnIHN0YXRlIGNvbnRleHQgb2Zmc2V0cyAoc29tZSBmaWVsZHMK PiBhcmUgZ29uZSwgc29tZSBhcmUgaW4gYSBkaWZmZXJlbnQgbG9jYXRpb24pLCBjb21wYXJlZCB0 byBwcmV2aW91cyBHZW5zLgo+IAo+IFRoZSBzaW1wbGVzdCBhcHByb2FjaCBzZWVtcyB0byBiZSBr ZWVwaW5nIEdlbjEyIChhbmQgZnV0dXJlIHBsYXRmb3JtKQo+IGNoYW5nZXMgYXBhcnQgZnJvbSB0 aGUgcHJldmlvdXMgZ2Vucywgd2hpbGUga2VlcGluZyB0aGUgcmVnaXN0ZXJzIHRoYXQKPiBhcmUg Y29udGlndW91cyBpbiBmdW5jdGlvbnMgd2UgY2FuIHJldXNlLgo+IAo+IEJzcGVjOiAyMDIwMgoK SSdkIHVzZSA0NjI1NSBpbnN0ZWFkIGFzIHJlZmVyZW5jZQoKPiBDYzogTWljaGFsIFdhamRlY3pr byA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4gQ2M6IERhbmllbGUgQ2VyYW9sbyBTcHVy aW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogTWlj aGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBM dWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICB8IDE1NiArKysrKysrKysrKysrKysr Ky0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5oICAgICB8ICAg MiArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmNfcmVnLmggfCAgMzAgKysr Ky0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCj4gaW5kZXggZTMwZDJhODkyZjI5 Li4xZmU4MzczNmYwNjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwo+IEBA IC0zMDY4LDI4ICszMDY4LDEyIEBAIHN0YXRpYyB1MzIgaW50ZWxfbHJfaW5kaXJlY3RfY3R4X29m ZnNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJcmV0dXJuIGluZGlyZWN0 X2N0eF9vZmZzZXQ7Cj4gICB9Cj4gICAKPiAtc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVn X3N0YXRlKHUzMiAqcmVncywKPiAtCQkJCSAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ IC0JCQkJICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gLQkJCQkgICAgIHN0 cnVjdCBpbnRlbF9yaW5nICpyaW5nKQo+ICtzdGF0aWMgdm9pZCBpbml0X2NvbW1vbl9yZWdfc3Rh dGUodTMyICpyZWdzLAo+ICsJCQkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4g KwkJCQkgIHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQo+ICAgewo+IC0Jc3RydWN0IGk5MTVfcHBn dHQgKnBwZ3R0ID0gaTkxNV92bV90b19wcGd0dChjZS0+dm0pOwo+IC0JYm9vbCByY3MgPSBlbmdp bmUtPmNsYXNzID09IFJFTkRFUl9DTEFTUzsKPiAgIAl1MzIgYmFzZSA9IGVuZ2luZS0+bW1pb19i YXNlOwo+ICAgCj4gLQkvKgo+IC0JICogQSBjb250ZXh0IGlzIGFjdHVhbGx5IGEgYmlnIGJhdGNo IGJ1ZmZlciB3aXRoIHNldmVyYWwKPiAtCSAqIE1JX0xPQURfUkVHSVNURVJfSU1NIGNvbW1hbmRz IGZvbGxvd2VkIGJ5IChyZWcsIHZhbHVlKSBwYWlycy4gVGhlCj4gLQkgKiB2YWx1ZXMgd2UgYXJl IHNldHRpbmcgaGVyZSBhcmUgb25seSBmb3IgdGhlIGZpcnN0IGNvbnRleHQgcmVzdG9yZToKPiAt CSAqIG9uIGEgc3Vic2VxdWVudCBzYXZlLCB0aGUgR1BVIHdpbGwgcmVjcmVhdGUgdGhpcyBiYXRj aGJ1ZmZlciB3aXRoIG5ldwo+IC0JICogdmFsdWVzIChpbmNsdWRpbmcgYWxsIHRoZSBtaXNzaW5n IE1JX0xPQURfUkVHSVNURVJfSU1NIGNvbW1hbmRzIHRoYXQKPiAtCSAqIHdlIGFyZSBub3QgaW5p dGlhbGl6aW5nIGhlcmUpLgo+IC0JICoKPiAtCSAqIE11c3Qga2VlcCBjb25zaXN0ZW50IHdpdGgg dmlydHVhbF91cGRhdGVfcmVnaXN0ZXJfb2Zmc2V0cygpLgoKQXMgdGhlIGNvbW1lbnQgaGVyZSBz YXlzLCB2aXJ0dWFsX3VwZGF0ZV9yZWdpc3Rlcl9vZmZzZXRzKCkgbmVlZHMgCnVwZGF0aW5nIGFz IHdlbGwgKHVubGVzcyB3ZSBzd2l0Y2ggdG8gcmVsYXRpdmUgTU1JT3MsIHdoaWNoIGFyZSAKc3Vw cG9ydGVkIGdlbjExKykuCgo+IC0JICovCj4gLQlyZWdzW0NUWF9MUklfSEVBREVSXzBdID0gTUlf TE9BRF9SRUdJU1RFUl9JTU0ocmNzID8gMTQgOiAxMSkgfAo+IC0JCQkJIE1JX0xSSV9GT1JDRV9Q T1NURUQ7Cj4gLQo+ICAgCUNUWF9SRUcocmVncywgQ1RYX0NPTlRFWFRfQ09OVFJPTCwgUklOR19D T05URVhUX0NPTlRST0woYmFzZSksCj4gICAJCV9NQVNLRURfQklUX0RJU0FCTEUoQ1RYX0NUUkxf RU5HSU5FX0NUWF9SRVNUT1JFX0lOSElCSVQpIHwKPiAgIAkJX01BU0tFRF9CSVRfRU5BQkxFKENU WF9DVFJMX0lOSElCSVRfU1lOX0NUWF9TV0lUQ0gpKTsKPiBAQCAtMzEwNiwzOCArMzA5MCw0NCBA QCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfaW5pdF9yZWdfc3RhdGUodTMyICpyZWdzLAo+ICAgCUNU WF9SRUcocmVncywgQ1RYX0JCX0hFQURfVSwgUklOR19CQkFERFJfVURXKGJhc2UpLCAwKTsKPiAg IAlDVFhfUkVHKHJlZ3MsIENUWF9CQl9IRUFEX0wsIFJJTkdfQkJBRERSKGJhc2UpLCAwKTsKPiAg IAlDVFhfUkVHKHJlZ3MsIENUWF9CQl9TVEFURSwgUklOR19CQlNUQVRFKGJhc2UpLCBSSU5HX0JC X1BQR1RUKTsKPiAtCUNUWF9SRUcocmVncywgQ1RYX1NFQ09ORF9CQl9IRUFEX1UsIFJJTkdfU0JC QUREUl9VRFcoYmFzZSksIDApOwo+IC0JQ1RYX1JFRyhyZWdzLCBDVFhfU0VDT05EX0JCX0hFQURf TCwgUklOR19TQkJBRERSKGJhc2UpLCAwKTsKPiAtCUNUWF9SRUcocmVncywgQ1RYX1NFQ09ORF9C Ql9TVEFURSwgUklOR19TQkJTVEFURShiYXNlKSwgMCk7Cj4gLQlpZiAocmNzKSB7Cj4gLQkJc3Ry dWN0IGk5MTVfY3R4X3dvcmthcm91bmRzICp3YV9jdHggPSAmZW5naW5lLT53YV9jdHg7Cj4gLQo+ IC0JCUNUWF9SRUcocmVncywgQ1RYX1JDU19JTkRJUkVDVF9DVFgsIFJJTkdfSU5ESVJFQ1RfQ1RY KGJhc2UpLCAwKTsKPiAtCQlDVFhfUkVHKHJlZ3MsIENUWF9SQ1NfSU5ESVJFQ1RfQ1RYX09GRlNF VCwKPiAtCQkJUklOR19JTkRJUkVDVF9DVFhfT0ZGU0VUKGJhc2UpLCAwKTsKPiAtCQlpZiAod2Ff Y3R4LT5pbmRpcmVjdF9jdHguc2l6ZSkgewo+IC0JCQl1MzIgZ2d0dF9vZmZzZXQgPSBpOTE1X2dn dHRfb2Zmc2V0KHdhX2N0eC0+dm1hKTsKPiArfQo+ICAgCj4gLQkJCXJlZ3NbQ1RYX1JDU19JTkRJ UkVDVF9DVFggKyAxXSA9Cj4gLQkJCQkoZ2d0dF9vZmZzZXQgKyB3YV9jdHgtPmluZGlyZWN0X2N0 eC5vZmZzZXQpIHwKPiAtCQkJCSh3YV9jdHgtPmluZGlyZWN0X2N0eC5zaXplIC8gQ0FDSEVMSU5F X0JZVEVTKTsKPiArc3RhdGljIHZvaWQgaW5pdF93YV9iYl9yZWdfc3RhdGUodTMyICpyZWdzLAo+ ICsJCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiArCQkJCSB1MzIgcG9zX2Ji X3Blcl9jdHgpCj4gK3sKPiArCXN0cnVjdCBpOTE1X2N0eF93b3JrYXJvdW5kcyAqd2FfY3R4ID0g JmVuZ2luZS0+d2FfY3R4Owo+ICsJdTMyIGJhc2UgPSBlbmdpbmUtPm1taW9fYmFzZTsKPiArCXUz MiBwb3NfaW5kaXJlY3RfY3R4ID0gcG9zX2JiX3Blcl9jdHggKyAyOwo+ICsJdTMyIHBvc19pbmRp cmVjdF9jdHhfb2Zmc2V0ID0gcG9zX2luZGlyZWN0X2N0eCArIDI7Cj4gICAKPiAtCQkJcmVnc1tD VFhfUkNTX0lORElSRUNUX0NUWF9PRkZTRVQgKyAxXSA9Cj4gLQkJCQlpbnRlbF9scl9pbmRpcmVj dF9jdHhfb2Zmc2V0KGVuZ2luZSkgPDwgNjsKPiAtCQl9Cj4gKwlHRU1fQlVHX09OKGVuZ2luZS0+ aWQgIT0gUkNTMCk7CgpJTU8gYmV0dGVyIHRvIHVzZSBlbmdpbmUtPmNsYXNzIGhlcmUKCj4gKwlD VFhfUkVHKHJlZ3MsIHBvc19pbmRpcmVjdF9jdHgsIFJJTkdfSU5ESVJFQ1RfQ1RYKGJhc2UpLCAw KTsKPiArCUNUWF9SRUcocmVncywgcG9zX2luZGlyZWN0X2N0eF9vZmZzZXQsCj4gKwkJUklOR19J TkRJUkVDVF9DVFhfT0ZGU0VUKGJhc2UpLCAwKTsKPiArCWlmICh3YV9jdHgtPmluZGlyZWN0X2N0 eC5zaXplKSB7Cj4gKwkJdTMyIGdndHRfb2Zmc2V0ID0gaTkxNV9nZ3R0X29mZnNldCh3YV9jdHgt PnZtYSk7Cj4gICAKPiAtCQlDVFhfUkVHKHJlZ3MsIENUWF9CQl9QRVJfQ1RYX1BUUiwgUklOR19C Ql9QRVJfQ1RYX1BUUihiYXNlKSwgMCk7Cj4gLQkJaWYgKHdhX2N0eC0+cGVyX2N0eC5zaXplKSB7 Cj4gLQkJCXUzMiBnZ3R0X29mZnNldCA9IGk5MTVfZ2d0dF9vZmZzZXQod2FfY3R4LT52bWEpOwo+ ICsJCXJlZ3NbcG9zX2luZGlyZWN0X2N0eCArIDFdID0KPiArCQkJKGdndHRfb2Zmc2V0ICsgd2Ff Y3R4LT5pbmRpcmVjdF9jdHgub2Zmc2V0KSB8Cj4gKwkJCSh3YV9jdHgtPmluZGlyZWN0X2N0eC5z aXplIC8gQ0FDSEVMSU5FX0JZVEVTKTsKPiAgIAo+IC0JCQlyZWdzW0NUWF9CQl9QRVJfQ1RYX1BU UiArIDFdID0KPiAtCQkJCShnZ3R0X29mZnNldCArIHdhX2N0eC0+cGVyX2N0eC5vZmZzZXQpIHwg MHgwMTsKPiAtCQl9Cj4gKwkJcmVnc1twb3NfaW5kaXJlY3RfY3R4X29mZnNldCArIDFdID0KPiAr CQkJaW50ZWxfbHJfaW5kaXJlY3RfY3R4X29mZnNldChlbmdpbmUpIDw8IDY7Cj4gICAJfQo+ICAg Cj4gLQlyZWdzW0NUWF9MUklfSEVBREVSXzFdID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0oOSkgfCBN SV9MUklfRk9SQ0VfUE9TVEVEOwo+ICsJQ1RYX1JFRyhyZWdzLCBwb3NfYmJfcGVyX2N0eCwgUklO R19CQl9QRVJfQ1RYX1BUUihiYXNlKSwgMCk7Cj4gKwlpZiAod2FfY3R4LT5wZXJfY3R4LnNpemUp IHsKPiArCQl1MzIgZ2d0dF9vZmZzZXQgPSBpOTE1X2dndHRfb2Zmc2V0KHdhX2N0eC0+dm1hKTsK PiAgIAo+IC0JQ1RYX1JFRyhyZWdzLCBDVFhfQ1RYX1RJTUVTVEFNUCwgUklOR19DVFhfVElNRVNU QU1QKGJhc2UpLCAwKTsKPiArCQlyZWdzW3Bvc19iYl9wZXJfY3R4ICsgMV0gPQo+ICsJCQkoZ2d0 dF9vZmZzZXQgKyB3YV9jdHgtPnBlcl9jdHgub2Zmc2V0KSB8IDB4MDE7Cj4gKwl9Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIGluaXRfcHBndHRfcmVnX3N0YXRlKHUzMiAqcmVncywgdTMyIGJhc2Us Cj4gKwkJCQkgc3RydWN0IGk5MTVfcHBndHQgKnBwZ3R0KQo+ICt7Cj4gICAJLyogUERQIHZhbHVl cyB3ZWxsIGJlIGFzc2lnbmVkIGxhdGVyIGlmIG5lZWRlZCAqLwo+ICAgCUNUWF9SRUcocmVncywg Q1RYX1BEUDNfVURXLCBHRU44X1JJTkdfUERQX1VEVyhiYXNlLCAzKSwgMCk7Cj4gICAJQ1RYX1JF RyhyZWdzLCBDVFhfUERQM19MRFcsIEdFTjhfUklOR19QRFBfTERXKGJhc2UsIDMpLCAwKTsKPiBA QCAtMzE2MCw2ICszMTUwLDMyIEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19pbml0X3JlZ19zdGF0 ZSh1MzIgKnJlZ3MsCj4gICAJCUFTU0lHTl9DVFhfUERQKHBwZ3R0LCByZWdzLCAxKTsKPiAgIAkJ QVNTSUdOX0NUWF9QRFAocHBndHQsIHJlZ3MsIDApOwo+ICAgCX0KPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgZ2VuOF9pbml0X3JlZ19zdGF0ZSh1MzIgKnJlZ3MsCj4gKwkJCQlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY2UsCj4gKwkJCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gKwkJ CQlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykKPiArewo+ICsJc3RydWN0IGk5MTVfcHBndHQgKnBw Z3R0ID0gaTkxNV92bV90b19wcGd0dChjZS0+dm0pOwo+ICsJYm9vbCByY3MgPSBlbmdpbmUtPmNs YXNzID09IFJFTkRFUl9DTEFTUzsKPiArCXUzMiBiYXNlID0gZW5naW5lLT5tbWlvX2Jhc2U7Cj4g Kwo+ICsJcmVnc1tDVFhfTFJJX0hFQURFUl8wXSA9IE1JX0xPQURfUkVHSVNURVJfSU1NKHJjcyA/ IDE0IDogMTEpIHwKPiArCQkJCSBNSV9MUklfRk9SQ0VfUE9TVEVEOwo+ICsKPiArCWluaXRfY29t bW9uX3JlZ19zdGF0ZShyZWdzLCBlbmdpbmUsIHJpbmcpOwo+ICsJQ1RYX1JFRyhyZWdzLCBDVFhf U0VDT05EX0JCX0hFQURfVSwgUklOR19TQkJBRERSX1VEVyhiYXNlKSwgMCk7Cj4gKwlDVFhfUkVH KHJlZ3MsIENUWF9TRUNPTkRfQkJfSEVBRF9MLCBSSU5HX1NCQkFERFIoYmFzZSksIDApOwo+ICsJ Q1RYX1JFRyhyZWdzLCBDVFhfU0VDT05EX0JCX1NUQVRFLCBSSU5HX1NCQlNUQVRFKGJhc2UpLCAw KTsKPiArCWlmIChyY3MpCj4gKwkJaW5pdF93YV9iYl9yZWdfc3RhdGUocmVncywgZW5naW5lLCBD VFhfQkJfUEVSX0NUWF9QVFIpOwo+ICsKPiArCXJlZ3NbQ1RYX0xSSV9IRUFERVJfMV0gPSBNSV9M T0FEX1JFR0lTVEVSX0lNTSg5KSB8IE1JX0xSSV9GT1JDRV9QT1NURUQ7Cj4gKwo+ICsJQ1RYX1JF RyhyZWdzLCBDVFhfQ1RYX1RJTUVTVEFNUCwgUklOR19DVFhfVElNRVNUQU1QKGJhc2UpLCAwKTsK PiArCj4gKwlpbml0X3BwZ3R0X3JlZ19zdGF0ZShyZWdzLCBiYXNlLCBwcGd0dCk7Cj4gICAKPiAg IAlpZiAocmNzKSB7Cj4gICAJCXJlZ3NbQ1RYX0xSSV9IRUFERVJfMl0gPSBNSV9MT0FEX1JFR0lT VEVSX0lNTSgxKTsKPiBAQCAtMzE3MSw2ICszMTg3LDU4IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0 c19pbml0X3JlZ19zdGF0ZSh1MzIgKnJlZ3MsCj4gICAJCXJlZ3NbQ1RYX0VORF0gfD0gQklUKDAp Owo+ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIGdlbjEyX2luaXRfcmVnX3N0YXRlKHUzMiAqcmVn cywKPiArCQkJCSBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCj4gKwkJCQkgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLAo+ICsJCQkJIHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQo+ICt7 Cj4gKwlzdHJ1Y3QgaTkxNV9wcGd0dCAqcHBndHQgPSBpOTE1X3ZtX3RvX3BwZ3R0KGNlLT52bSk7 Cj4gKwlib29sIHJjcyA9IGVuZ2luZS0+Y2xhc3MgPT0gUkVOREVSX0NMQVNTOwo+ICsJdTMyIGJh c2UgPSBlbmdpbmUtPm1taW9fYmFzZTsKPiArCj4gKwlHRU1fREVCVUdfRVhFQyhEUk1fSU5GT19P TkNFKCJVc2luZyBHRU4xMiBSZWdpc3RlciBTdGF0ZSBDb250ZXh0XG4iKSk7Cj4gKwo+ICsJcmVn c1tHRU4xMl9DVFhfTFJJX0hFQURFUl8wXSA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEzKSB8CgpX ZSdyZSBjdXJyZW50bHkgbm90IHdyaXRpbmcgMTMgcmVncywgYnV0IHdlJ2xsIGhhdmUgdG8gd3Jp dGUgdGhlIDEzdGggb24gCmFsbCBlbmdpbmVzIGZvciB0aGUgbmV3IHNlbWFwaG9yZSBzdHVmZiwg c28gYWNrIGluIHVzaW5nIDEzIG5vdyB0byBiZSAKZnV0dXJlIHByb29mLgoKPiArCQkJCSAgICAg ICBNSV9MUklfRk9SQ0VfUE9TVEVEOwo+ICsKPiArCWluaXRfY29tbW9uX3JlZ19zdGF0ZShyZWdz LCBlbmdpbmUsIHJpbmcpOwo+ICsJaWYgKHJjcykKPiArCQlpbml0X3dhX2JiX3JlZ19zdGF0ZShy ZWdzLCBlbmdpbmUsIEdFTjEyX0NUWF9CQl9QRVJfQ1RYX1BUUik7Cj4gKwo+ICsJcmVnc1tHRU4x Ml9DVFhfTFJJX0hFQURFUl8xXSA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDkpIHwKPiArCQkJCSAg ICAgICBNSV9MUklfRk9SQ0VfUE9TVEVEOwo+ICsKPiArCUNUWF9SRUcocmVncywgR0VOMTJfQ1RY X0NUWF9USU1FU1RBTVAsIFJJTkdfQ1RYX1RJTUVTVEFNUChiYXNlKSwgMCk7Cj4gKwo+ICsJaW5p dF9wcGd0dF9yZWdfc3RhdGUocmVncywgYmFzZSwgcHBndHQpOwo+ICsKPiArCWlmIChyY3MpIHsK PiArCQlyZWdzW0dFTjEyX0NUWF9MUklfSEVBREVSXzNdID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0o MSk7Cj4gKwkJQ1RYX1JFRyhyZWdzLCBHRU4xMl9DVFhfUl9QV1JfQ0xLX1NUQVRFLCBHRU44X1Jf UFdSX0NMS19TVEFURSwKPiArCQkJMCk7Cj4gKwo+ICsJCS8qIFRPRE86IG9hX2luaXRfcmVnX3N0 YXRlID8gKi8KPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVn X3N0YXRlKHUzMiAqcmVncywKPiArCQkJCSAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ ICsJCQkJICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gKwkJCQkgICAgIHN0 cnVjdCBpbnRlbF9yaW5nICpyaW5nKQo+ICt7Cj4gKwkvKiBBIGNvbnRleHQgaXMgYWN0dWFsbHkg YSBiaWcgYmF0Y2ggYnVmZmVyIHdpdGggc2V2ZXJhbAo+ICsJICogTUlfTE9BRF9SRUdJU1RFUl9J TU0gY29tbWFuZHMgZm9sbG93ZWQgYnkgKHJlZywgdmFsdWUpIHBhaXJzLiBUaGUKPiArCSAqIHZh bHVlcyB3ZSBhcmUgc2V0dGluZyBoZXJlIGFyZSBvbmx5IGZvciB0aGUgZmlyc3QgY29udGV4dCBy ZXN0b3JlOgo+ICsJICogb24gYSBzdWJzZXF1ZW50IHNhdmUsIHRoZSBHUFUgd2lsbCByZWNyZWF0 ZSB0aGlzIGJhdGNoYnVmZmVyIHdpdGggbmV3Cj4gKwkgKiB2YWx1ZXMgKGluY2x1ZGluZyBhbGwg dGhlIG1pc3NpbmcgTUlfTE9BRF9SRUdJU1RFUl9JTU0gY29tbWFuZHMgdGhhdAo+ICsJICogd2Ug YXJlIG5vdCBpbml0aWFsaXppbmcgaGVyZSkuCj4gKwkgKi8KPiArCWlmIChJTlRFTF9HRU4oZW5n aW5lLT5pOTE1KSA+PSAxMikKPiArCQlnZW4xMl9pbml0X3JlZ19zdGF0ZShyZWdzLCBjZSwgZW5n aW5lLCByaW5nKTsKPiArCWVsc2UKPiArCQlnZW44X2luaXRfcmVnX3N0YXRlKHJlZ3MsIGNlLCBl bmdpbmUsIHJpbmcpOwo+ICt9Cj4gKwo+ICAgc3RhdGljIGludAo+ICAgcG9wdWxhdGVfbHJfY29u dGV4dChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCj4gICAJCSAgICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqY3R4X29iaiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfbHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuaAo+IGlu ZGV4IGMyYmJhODJiY2MxNi4uNjkyODVkMzU0ZDliIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2xyYy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfbHJjLmgKPiBAQCAtNDksNiArNDksOCBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzOwo+ ICAgCj4gICAjZGVmaW5lCSAgRUxfQ1RSTF9MT0FECQkJCSgxIDw8IDApCj4gICAKPiArI2RlZmlu ZSBHRU4xMl9FTkdJTkVfU0VNQVBIT1JFX1RPS0VOKGVuZ2luZSkJX01NSU8oKGVuZ2luZSktPm1t aW9fYmFzZSArIDB4MmI0KQoKZGVmaW5pbmcgdGhpcyB3aXRob3V0IHVzaW5nIGl0IG9yIGRlZmlu aW5nIGl0cyBwb3NpdGlvbiBpbiB0aGUgY29udGV4dCAKKDB4MUEpIGZlZWxzIGEgYml0IGNvbmZ1 c2luZyBJTU8uCgo+ICsKPiAgIC8qIFRoZSBkb2NzIHNwZWNpZnkgdGhhdCB0aGUgd3JpdGUgcG9p bnRlciB3cmFwcyBhcm91bmQgYWZ0ZXIgNWgsICJBZnRlciBzdGF0dXMKPiAgICAqIGlzIHdyaXR0 ZW4gb3V0IHRvIHRoZSBsYXN0IGF2YWlsYWJsZSBzdGF0dXMgUVcgYXQgb2Zmc2V0IDVoLCB0aGlz IHBvaW50ZXIKPiAgICAqIHdyYXBzIHRvIDAuIgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9scmNfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9scmNfcmVnLmgKPiBpbmRleCA2YmYzNDczOGI0ZTUuLjkxNTgyNGViYWYxNyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmNfcmVnLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmNfcmVnLmgKPiBAQCAtOSw3ICs5LDcgQEAKPiAg IAo+ICAgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4gICAKPiAtLyogR0VOOCsgUmVnIFN0YXRl IENvbnRleHQgKi8KPiArLyogR0VOOCB0byBHRU4xMSBSZWcgU3RhdGUgQ29udGV4dCAqLwo+ICAg I2RlZmluZSBDVFhfTFJJX0hFQURFUl8wCQkweDAxCj4gICAjZGVmaW5lIENUWF9DT05URVhUX0NP TlRST0wJCTB4MDIKPiAgICNkZWZpbmUgQ1RYX1JJTkdfSEVBRAkJCTB4MDQKPiBAQCAtMzksNiAr MzksMzQgQEAKPiAgICNkZWZpbmUgQ1RYX1JfUFdSX0NMS19TVEFURQkJMHg0Mgo+ICAgI2RlZmlu ZSBDVFhfRU5ECQkJCTB4NDQKPiAgIAo+ICsvKiBHRU4xMisgUmVnIFN0YXRlIENvbnRleHQgKi8K PiArI2RlZmluZSBHRU4xMl9DVFhfTFJJX0hFQURFUl8wCQkJQ1RYX0xSSV9IRUFERVJfMAo+ICsj ZGVmaW5lIEdFTjEyX0NUWF9DT05URVhUX0NPTlRST0wJCUNUWF9DT05URVhUX0NPTlRST0wKPiAr I2RlZmluZSBHRU4xMl9DVFhfUklOR19IRUFECQkJQ1RYX1JJTkdfSEVBRAo+ICsjZGVmaW5lIEdF TjEyX0NUWF9SSU5HX1RBSUwJCQlDVFhfUklOR19UQUlMCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX1JJ TkdfQlVGRkVSX1NUQVJUCQlDVFhfUklOR19CVUZGRVJfU1RBUlQKPiArI2RlZmluZSBHRU4xMl9D VFhfUklOR19CVUZGRVJfQ09OVFJPTAkJQ1RYX1JJTkdfQlVGRkVSX0NPTlRST0wKPiArI2RlZmlu ZSBHRU4xMl9DVFhfQkJfSEVBRF9VCQkJQ1RYX0JCX0hFQURfVQo+ICsjZGVmaW5lIEdFTjEyX0NU WF9CQl9IRUFEX0wJCQlDVFhfQkJfSEVBRF9MCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX0JCX1NUQVRF CQkJQ1RYX0JCX1NUQVRFCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX0JCX1BFUl9DVFhfUFRSCQkweDEy Cj4gKyNkZWZpbmUgR0VOMTJfQ1RYX1JDU19JTkRJUkVDVF9DVFgJCTB4MTQKPiArI2RlZmluZSBH RU4xMl9DVFhfUkNTX0lORElSRUNUX0NUWF9PRkZTRVQJMHgxNgoKTWF0Y2hlcyB0aGUgc3BlY3MK Cj4gKyNkZWZpbmUgR0VOMTJfQ1RYX0xSSV9IRUFERVJfMQkJCUNUWF9MUklfSEVBREVSXzEKPiAr I2RlZmluZSBHRU4xMl9DVFhfQ1RYX1RJTUVTVEFNUAkJCUNUWF9DVFhfVElNRVNUQU1QCj4gKyNk ZWZpbmUgR0VOMTJfQ1RYX1BEUDNfVURXCQkJQ1RYX1BEUDNfVURXCj4gKyNkZWZpbmUgR0VOMTJf Q1RYX1BEUDNfTERXCQkJQ1RYX1BEUDNfTERXCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX1BEUDJfVURX CQkJQ1RYX1BEUDJfVURXCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX1BEUDJfTERXCQkJQ1RYX1BEUDJf TERXCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX1BEUDFfVURXCQkJQ1RYX1BEUDFfVURXCj4gKyNkZWZp bmUgR0VOMTJfQ1RYX1BEUDFfTERXCQkJQ1RYX1BEUDFfTERXCj4gKyNkZWZpbmUgR0VOMTJfQ1RY X1BEUDBfVURXCQkJQ1RYX1BEUDBfVURXCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX1BEUDBfTERXCQkJ Q1RYX1BEUDBfTERXCj4gKyNkZWZpbmUgR0VOMTJfQ1RYX0xSSV9IRUFERVJfMgkJCTB4MzQKPiAr I2RlZmluZSBHRU4xMl9DVFhfTFJJX0hFQURFUl8zCQkJMHg0MQoKVGhlIExSSSBvZmZzZXRzIGFy ZSB1bmNoYW5nZWQsIHdlIGp1c3QgZGlkbid0IGRlZmluZSBvbmUgb2YgdGhlIExSSXMgaW4gCnRo ZSBsZWdhY3kgZGVmcyBiZWNhdXNlIHdlIGRvbid0IHNldCB1cCBhbnkgb2YgdGhlIHJlbGV2YW50 IHJlZ2lzdGVycy4gCldlIHdpbGwgbmVlZCBpdCBpbiBUR0wsIGJ1dCBmb3IgY29uc2lzdGVuY3kg aXQgbWlnaHQgYmUgd29ydGggdXBkYXRpbmcgCnRoZSBsZWdhY3kgZGVmcyBhcyB3ZWxsIHRvIG5v dCBnaXZlIHRoZSBpbGx1c2lvbiB0aGF0IHN0dWZmIGhhcyBtb3ZlZCAKYXJvdW5kLgoKPiArI2Rl ZmluZSBHRU4xMl9DVFhfUl9QV1JfQ0xLX1NUQVRFCQkweDQyCj4gKyNkZWZpbmUgR0VOMTJfQ1RY X0dQR1BVX0NTUl9CQVNFX0FERFJFU1MJMHg0NAoKQm90aCBvZiB0aGVzZSBhcmUgcGFydCBvZiB0 aGUgbGVnYWN5IGNvbnRleHQgYXMgd2VsbC4gd2UgZG8gaGF2ZSBhIApsZWdhY3kgZGVmaW5lIGZv ciBDVFhfUl9QV1JfQ0xLX1NUQVRFLCB3aGlsZSBBRkFJQ1MgCkNUWF9HUEdQVV9DU1JfQkFTRV9B RERSRVNTIGlzIG5vdCBhIHJlZ2lzdGVyIHRvIHByb2dyYW0gc28gbm90IHN1cmUgd2UgCm5lZWQg dGhlIGRlZmluZS4KCkRhbmllbGUKCj4gKwo+ICAgI2RlZmluZSBDVFhfUkVHKHJlZ19zdGF0ZSwg cG9zLCByZWcsIHZhbCkgZG8geyBcCj4gICAJdTMyICpyZWdfc3RhdGVfXyA9IChyZWdfc3RhdGUp OyBcCj4gICAJY29uc3QgdTMyIHBvc19fID0gKHBvcyk7IFwKPiAKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4