From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 4/4] drm/i915: Add modular FIA Date: Wed, 10 Jul 2019 21:33:39 +0300 Message-ID: <20190710183339.GI5942@intel.com> References: <20190708172815.6814-1-lucas.demarchi@intel.com> <20190708172815.6814-5-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5A9AE6E109 for ; Wed, 10 Jul 2019 18:33:51 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190708172815.6814-5-lucas.demarchi@intel.com> 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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdWwgMDgsIDIwMTkgYXQgMTA6Mjg6MTVBTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IEZyb206IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNv bT4KPiAKPiBTb21lIHBsYXRmb3JtcyBtYXkgaGF2ZSBNb2R1bGFyIEZJQS4gSWYgTW9kdWxhciBG SUEgaXMgdXNlZCBpbiB0aGUgU09DLAo+IHRoZW4gRGlzcGxheSBEcml2ZXIgd2lsbCBhY2Nlc3Mg dGhlIGFkZGl0aW9uYWwgaW5zdGFuY2VzIG9mCj4gRklBIGJhc2VkIG9uIHByZS1hc3NpZ25lZCBv ZmZzZXQgaW4gR1RUTUFERFIgc3BhY2UuCj4gCj4gRWFjaCBNb2R1bGFyIEZJQSBpbnN0YW5jZSBo YXMgaXRzIG93biBJT1NGIFNpZGViYW5kIFBvcnQgSUQKPiBhbmQgaXQgaG91c2VzIG9ubHkgMiBU eXBlLUMgUG9ydC4gSW4gU09DIHRoYXQgaGFzIG1vcmUgdGhhbgo+IHR3byBUeXBlLUMgUG9ydHMs IHRoZXJlIGFyZSBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgTW9kdWxhciBGSUEuCj4gR3VuaXQgd2ls bCBuZWVkIHRvIHVzZSBkaWZmZXJlbnQgZGVzdGluYXRpb24gSUQgd2hlbiBpdCBhY2Nlc3MKPiBk aWZmZXJlbnQgcGFpciBvZiBUeXBlLUMgUG9ydC4KPiAKPiBUaGUgREZMRVhEUFNQIHJlZ2lzdGVy IGhhcyBNb2R1bGFyIEZJQSBiaXQgc3RhcnRpbmcgb24gVGlnZXIgTGFrZS4gIElmCj4gTW9kdWxh ciBGSUEgaXMgdXNlZCBpbiB0aGUgU09DLCB0aGlzIHJlZ2lzdGVyIGJpdCBleGlzdHMgaW4gYWxs IHRoZQo+IGluc3RhbmNlcyBvZiBNb2R1bGFyIEZJQS4gSU9NIEZXIGlzIHJlcXVpcmVkIHRvIHBy b2dyYW0gb25seSB0aGUgTUYgYml0Cj4gaW4gZmlyc3QgRklBIGluc3RhbmNlIHRoYXQgaG91c2Vz IHRoZSBUeXBlLUMgUG9ydCAwIGFuZCBQb3J0IDEsIGZvcgo+IERpc3BsYXkgRHJpdmVyIHRvIHJl YWQgZnJvbS4KPiAKPiB2MiAoTHVjYXMpOgo+ICAgLSBNb3ZlIGFsbCBhY2Nlc3NlcyB0byBGSUEg dG8gYmUgY29udGFpbmVkIGluIGludGVsX3RjLmMsIGFsb25nIHdpdGgKPiAgICAgZGlzcGxheV9m aWEgdGhhdCBpcyBub3cgY2FsbGVkIHRjX3BoeV9maWEKPiAgIC0gU2F2ZSB0aGUgZmlhIGluc3Rh bmNlIG51bWJlciBvbiBpbnRlbF9kaWdpdGFsX3BvcnQsIHNvIHdlIGRvbid0IGhhdmUKPiAgICAg dG8gcXVlcnkgaWYgbW9kdWxhciBGSUEgaXMgdXNlZCBvbiBldmVyeSBhY2Nlc3MKPiB2MyAoTHVj YXMpOgo+ICAgLSBNYWtlIGZ1bmN0aW9uIHN0YXRpYwo+IAo+IENjOiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51 c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBMdWNhcyBEZSBNYXJjaGkg PGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF90Yy5jICB8IDQ5ICsrKysrKysrKysrKysrKysrKysrLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgIHwgMTMgKysrKystLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIHwgIDEgKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgIHwgIDEgKwo+ICA0IGZpbGVzIGNoYW5nZWQs IDUyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3RjLmMKPiBpbmRleCBmNDRlZTRiZmU3YzguLjY3MTI2MWI1NWQxMSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKPiBAQCAtOCw2ICs4 LDEyIEBACj4gICNpbmNsdWRlICJpbnRlbF9kcF9tc3QuaCIKPiAgI2luY2x1ZGUgImludGVsX3Rj LmgiCj4gIAo+ICtlbnVtIHBoeV9maWEgewo+ICsJRklBMSwKPiArCUZJQTIsCj4gKwlGSUEzLAo+ ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IGNoYXIgKnRjX3BvcnRfbW9kZV9uYW1lKGVudW0gdGNf cG9ydF9tb2RlIG1vZGUpCj4gIHsKPiAgCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbmFtZXNb XSA9IHsKPiBAQCAtMjIsNiArMjgsMjQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKnRjX3BvcnRfbW9k ZV9uYW1lKGVudW0gdGNfcG9ydF9tb2RlIG1vZGUpCj4gIAlyZXR1cm4gbmFtZXNbbW9kZV07Cj4g IH0KPiAgCj4gK3N0YXRpYyBib29sIGhhc19tb2R1bGFyX2ZpYShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKPiArewo+ICsJaWYgKCFJTlRFTF9JTkZPKGk5MTUpLT5kaXNwbGF5Lmhhc19t b2R1bGFyX2ZpYSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJcmV0dXJuIGludGVsX3VuY29y ZV9yZWFkKCZpOTE1LT51bmNvcmUsCj4gKwkJCQkgUE9SVF9UWF9ERkxFWERQU1AoRklBMSkpICYg TU9EVUxBUl9GSUFfTUFTSzsKPiArfQo+ICsKPiArc3RhdGljIGVudW0gcGh5X2ZpYSB0Y19wb3J0 X3RvX2ZpYShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiArCQkJCSAgIGVudW0gdGNf cG9ydCB0Y19wb3J0KQo+ICt7Cj4gKwlpZiAoIWhhc19tb2R1bGFyX2ZpYShpOTE1KSkKPiArCQly ZXR1cm4gRklBMTsKPiArCj4gKwlyZXR1cm4gdGNfcG9ydCAvIDI7Cj4gK30KPiArCj4gIHUzMiBp bnRlbF90Y19wb3J0X2dldF9sYW5lX21hc2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGln X3BvcnQpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShk aWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gQEAgLTI5LDcgKzUzLDggQEAgdTMyIGludGVsX3Rj X3BvcnRfZ2V0X2xhbmVfbWFzayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkK PiAgCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7Cj4gIAl1MzIg bGFuZV9tYXNrOwo+ICAKPiAtCWxhbmVfbWFzayA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwg UE9SVF9UWF9ERkxFWERQU1ApOwo+ICsJbGFuZV9tYXNrID0gaW50ZWxfdW5jb3JlX3JlYWQodW5j b3JlLAo+ICsJCQkJICAgICAgUE9SVF9UWF9ERkxFWERQU1AoZGlnX3BvcnQtPnRjX3BoeV9maWEp KTsKPiAgCj4gIAlXQVJOX09OKGxhbmVfbWFzayA9PSAweGZmZmZmZmZmKTsKPiAgCj4gQEAgLTc4 LDcgKzEwMyw4IEBAIHZvaWQgaW50ZWxfdGNfcG9ydF9zZXRfZmlhX2xhbmVfY291bnQoc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4gIAo+ICAJV0FSTl9PTihsYW5lX3JldmVy c2FsICYmIGRpZ19wb3J0LT50Y19tb2RlICE9IFRDX1BPUlRfTEVHQUNZKTsKPiAgCj4gLQl2YWwg PSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBPUlRfVFhfREZMRVhEUE1MRTEpOwo+ICsJdmFs ID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLAo+ICsJCQkJUE9SVF9UWF9ERkxFWERQTUxFMShk aWdfcG9ydC0+dGNfcGh5X2ZpYSkpOwo+ICAJdmFsICY9IH5ERkxFWERQTUxFMV9EUE1MRVRDX01B U0sodGNfcG9ydCk7Cj4gIAo+ICAJc3dpdGNoIChyZXF1aXJlZF9sYW5lcykgewo+IEBAIC05Nyw3 ICsxMjMsOCBAQCB2b2lkIGludGVsX3RjX3BvcnRfc2V0X2ZpYV9sYW5lX2NvdW50KHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAo+ICAJCU1JU1NJTkdfQ0FTRShyZXF1aXJlZF9s YW5lcyk7Cj4gIAl9Cj4gIAo+IC0JaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwgUE9SVF9UWF9E RkxFWERQTUxFMSwgdmFsKTsKPiArCWludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsCj4gKwkJCSAg IFBPUlRfVFhfREZMRVhEUE1MRTEoZGlnX3BvcnQtPnRjX3BoeV9maWEpLCB2YWwpOwo+ICB9Cj4g IAo+ICBzdGF0aWMgdm9pZCB0Y19wb3J0X2ZpeHVwX2xlZ2FjeV9mbGFnKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRpZ19wb3J0LAo+IEBAIC0xMjksNyArMTU2LDggQEAgc3RhdGljIHUzMiB0 Y19wb3J0X2xpdmVfc3RhdHVzX21hc2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQpCj4gIAl1MzIgbWFzayA9IDA7Cj4gIAl1MzIgdmFsOwo+ICAKPiAtCXZhbCA9IGludGVsX3Vu Y29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQU1ApOwo+ICsJdmFsID0gaW50ZWxfdW5j b3JlX3JlYWQodW5jb3JlLAo+ICsJCQkJUE9SVF9UWF9ERkxFWERQU1AoZGlnX3BvcnQtPnRjX3Bo eV9maWEpKTsKPiAgCj4gIAlpZiAodmFsID09IDB4ZmZmZmZmZmYpIHsKPiAgCQlEUk1fREVCVUdf S01TKCJQb3J0ICVzOiBQSFkgaW4gVENDT0xELCBub3RoaW5nIGNvbm5lY3RlZFxuIiwKPiBAQCAt MTU5LDcgKzE4Nyw4IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRlKHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICAJc3RydWN0IGludGVsX3VuY29y ZSAqdW5jb3JlID0gJmk5MTUtPnVuY29yZTsKPiAgCXUzMiB2YWw7Cj4gIAo+IC0JdmFsID0gaW50 ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JUX1RYX0RGTEVYRFBQTVMpOwo+ICsJdmFsID0gaW50 ZWxfdW5jb3JlX3JlYWQodW5jb3JlLAo+ICsJCQkJUE9SVF9UWF9ERkxFWERQUE1TKGRpZ19wb3J0 LT50Y19waHlfZmlhKSk7Cj4gIAlpZiAodmFsID09IDB4ZmZmZmZmZmYpIHsKPiAgCQlEUk1fREVC VUdfS01TKCJQb3J0ICVzOiBQSFkgaW4gVENDT0xELCBhc3N1bWluZyBub3QgY29tcGxldGVcbiIs Cj4gIAkJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUpOwo+IEBAIC0xNzcsNyArMjA2LDgg QEAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9zZXRfc2FmZV9tb2RlKHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0LAo+ICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmk5 MTUtPnVuY29yZTsKPiAgCXUzMiB2YWw7Cj4gIAo+IC0JdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQo dW5jb3JlLCBQT1JUX1RYX0RGTEVYRFBDU1NTKTsKPiArCXZhbCA9IGludGVsX3VuY29yZV9yZWFk KHVuY29yZSwKPiArCQkJCVBPUlRfVFhfREZMRVhEUENTU1MoZGlnX3BvcnQtPnRjX3BoeV9maWEp KTsKPiAgCWlmICh2YWwgPT0gMHhmZmZmZmZmZikgewo+ICAJCURSTV9ERUJVR19LTVMoIlBvcnQg JXM6IFBIWSBpbiBUQ0NPTEQsIGNhbid0IHNldCBzYWZlLW1vZGUgdG8gJXNcbiIsCj4gIAkJCSAg ICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUsCj4gQEAgLTE5MCw3ICsyMjAsOCBAQCBzdGF0aWMg Ym9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQsCj4gIAlpZiAoIWVuYWJsZSkKPiAgCQl2YWwgfD0gRFBfUEhZX01PREVfU1RBVFVT X05PVF9TQUZFKHRjX3BvcnQpOwo+ICAKPiAtCWludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsIFBP UlRfVFhfREZMRVhEUENTU1MsIHZhbCk7Cj4gKwlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLAo+ ICsJCQkgICBQT1JUX1RYX0RGTEVYRFBDU1NTKGRpZ19wb3J0LT50Y19waHlfZmlhKSwgdmFsKTsK PiAgCj4gIAlpZiAoZW5hYmxlICYmIHdhaXRfZm9yKCFpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0 ZShkaWdfcG9ydCksIDEwKSkKPiAgCQlEUk1fREVCVUdfS01TKCJQb3J0ICVzOiBQSFkgY29tcGxl dGUgY2xlYXIgdGltZWQgb3V0XG4iLAo+IEBAIC0yMDYsNyArMjM3LDggQEAgc3RhdGljIGJvb2wg aWNsX3RjX3BoeV9pc19pbl9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGln X3BvcnQpCj4gIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+dW5jb3JlOwo+ ICAJdTMyIHZhbDsKPiAgCj4gLQl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBPUlRf VFhfREZMRVhEUENTU1MpOwo+ICsJdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLAo+ICsJ CQkJUE9SVF9UWF9ERkxFWERQQ1NTUyhkaWdfcG9ydC0+dGNfcGh5X2ZpYSkpOwo+ICAJaWYgKHZh bCA9PSAweGZmZmZmZmZmKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiUG9ydCAlczogUEhZIGluIFRD Q09MRCwgYXNzdW1lIHNhZmUgbW9kZVxuIiwKPiAgCQkJICAgICAgZGlnX3BvcnQtPnRjX3BvcnRf bmFtZSk7Cj4gQEAgLTUwMyw0ICs1MzUsNSBAQCB2b2lkIGludGVsX3RjX3BvcnRfaW5pdChzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwgYm9vbCBpc19sZWdhY3kpCj4gIAltdXRl eF9pbml0KCZkaWdfcG9ydC0+dGNfbG9jayk7Cj4gIAlkaWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQg PSBpc19sZWdhY3k7Cj4gIAlkaWdfcG9ydC0+dGNfbGlua19yZWZjb3VudCA9IDA7Cj4gKwlkaWdf cG9ydC0+dGNfcGh5X2ZpYSA9IHRjX3BvcnRfdG9fZmlhKGk5MTUsIHRjX3BvcnQpOwo+ICB9Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggNTg5OGY1OWUzZGQ3Li43NGYyYjMxNDQzZmIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMjIwMyw5ICsyMjAzLDEzIEBAIGVu dW0gaTkxNV9wb3dlcl93ZWxsX2lkIHsKPiAgI2RlZmluZSAgIERXNl9PTERPX0RZTl9QV1JfRE9X Tl9FTgkoMSA8PCAyOCkKPiAgCj4gICNkZWZpbmUgRklBMV9CQVNFCQkJMHgxNjMwMDAKPiArI2Rl ZmluZSBGSUEyX0JBU0UJCQkweDE2RTAwMAo+ICsjZGVmaW5lIEZJQTNfQkFTRQkJCTB4MTZGMDAw Cj4gKyNkZWZpbmUgX0ZJQShmaWEpCQkJX1BJQ0soKGZpYSksIEZJQTFfQkFTRSwgRklBMl9CQVNF LCBGSUEzX0JBU0UpCj4gKyNkZWZpbmUgX01NSU9fRklBKGZpYSwgb2ZmKQkJX01NSU8oX0ZJQShm aWEpICsgKG9mZikpCj4gIAo+ICAvKiBJQ0wgUEhZIERGTEVYIHJlZ2lzdGVycyAqLwo+IC0jZGVm aW5lIFBPUlRfVFhfREZMRVhEUE1MRTEJCV9NTUlPKEZJQTFfQkFTRSArIDB4MDA4QzApCj4gKyNk ZWZpbmUgUE9SVF9UWF9ERkxFWERQTUxFMShmaWEpCV9NTUlPX0ZJQSgoZmlhKSwgIDB4MDA4QzAp Cj4gICNkZWZpbmUgICBERkxFWERQTUxFMV9EUE1MRVRDX01BU0sodGNfcG9ydCkJKDB4ZiA8PCAo NCAqICh0Y19wb3J0KSkpCj4gICNkZWZpbmUgICBERkxFWERQTUxFMV9EUE1MRVRDX01MMCh0Y19w b3J0KQkoMSA8PCAoNCAqICh0Y19wb3J0KSkpCj4gICNkZWZpbmUgICBERkxFWERQTUxFMV9EUE1M RVRDX01MMV8wKHRjX3BvcnQpCSgzIDw8ICg0ICogKHRjX3BvcnQpKSkKPiBAQCAtMTE0ODAsMTcg KzExNDg0LDE4IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewo+ICAJCQkJCQlfSUNMX0RTQzFfUkNf QlVGX1RIUkVTSF8xX1VEV19QQiwgXAo+ICAJCQkJCQlfSUNMX0RTQzFfUkNfQlVGX1RIUkVTSF8x X1VEV19QQykKPiAgCj4gLSNkZWZpbmUgUE9SVF9UWF9ERkxFWERQU1AJCQlfTU1JTyhGSUExX0JB U0UgKyAweDAwOEEwKQo+ICsjZGVmaW5lIFBPUlRfVFhfREZMRVhEUFNQKGZpYSkJCQlfTU1JT19G SUEoKGZpYSksIDB4MDA4QTApCj4gKyNkZWZpbmUgICBNT0RVTEFSX0ZJQV9NQVNLCQkJKDEgPDwg NCkKPiAgI2RlZmluZSAgIFRDX0xJVkVfU1RBVEVfVEJUKHRjX3BvcnQpCQkoMSA8PCAoKHRjX3Bv cnQpICogOCArIDYpKQo+ICAjZGVmaW5lICAgVENfTElWRV9TVEFURV9UQyh0Y19wb3J0KQkJKDEg PDwgKCh0Y19wb3J0KSAqIDggKyA1KSkKPiAgI2RlZmluZSAgIERQX0xBTkVfQVNTSUdOTUVOVF9T SElGVCh0Y19wb3J0KQkoKHRjX3BvcnQpICogOCkKPiAgI2RlZmluZSAgIERQX0xBTkVfQVNTSUdO TUVOVF9NQVNLKHRjX3BvcnQpCSgweGYgPDwgKCh0Y19wb3J0KSAqIDgpKQo+ICAjZGVmaW5lICAg RFBfTEFORV9BU1NJR05NRU5UKHRjX3BvcnQsIHgpCSgoeCkgPDwgKCh0Y19wb3J0KSAqIDgpKQo+ ICAKPiAtI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBQTVMJCQkJX01NSU8oRklBMV9CQVNFICsgMHgw MDg5MCkKPiArI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBQTVMoZmlhKQkJCV9NTUlPX0ZJQSgoZmlh KSwgMHgwMDg5MCkKPiAgI2RlZmluZSAgIERQX1BIWV9NT0RFX1NUQVRVU19DT01QTEVURUQodGNf cG9ydCkJCSgxIDw8ICh0Y19wb3J0KSkKPiAgCj4gLSNkZWZpbmUgUE9SVF9UWF9ERkxFWERQQ1NT UwkJCV9NTUlPKEZJQTFfQkFTRSArIDB4MDA4OTQpCj4gKyNkZWZpbmUgUE9SVF9UWF9ERkxFWERQ Q1NTUyhmaWEpCQlfTU1JT19GSUEoKGZpYSksIDB4MDA4OTQpCj4gICNkZWZpbmUgICBEUF9QSFlf TU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCkJCSgxIDw8ICh0Y19wb3J0KSkKPiAgCj4gICNl bmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rldmlj ZV9pbmZvLmgKPiBpbmRleCBkZGFmYzgxOWJmMzAuLmU5ZGM4NmVkNTE3YiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+IEBAIC0xMzYsNiArMTM2LDcgQEAg ZW51bSBpbnRlbF9wcGd0dF90eXBlIHsKPiAgCWZ1bmMoaGFzX2dtY2gpOyBcCj4gIAlmdW5jKGhh c19ob3RwbHVnKTsgXAo+ICAJZnVuYyhoYXNfaXBjKTsgXAo+ICsJZnVuYyhoYXNfbW9kdWxhcl9m aWEpOyBcCj4gIAlmdW5jKGhhc19vdmVybGF5KTsgXAo+ICAJZnVuYyhoYXNfcHNyKTsgXAo+ICAJ ZnVuYyhvdmVybGF5X25lZWRzX3BoeXNpY2FsKTsgXAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o Cj4gaW5kZXggMjRjNjNlZDQ1YzZmLi43ZWE5NzljOGM1ZjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IEBAIC0xMjQ1LDYgKzEyNDUsNyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0IHsKPiAgCWJvb2wgdGNfbGVnYWN5X3BvcnQ6MTsKPiAgCWNoYXIgdGNfcG9ydF9uYW1lWzhd Owo+ICAJZW51bSB0Y19wb3J0X21vZGUgdGNfbW9kZTsKPiArCXU4IHRjX3BoeV9maWE7CgplbnVt IHBoeV9maWEgPwoKSSBkaWRuJ3QgcmVhZCB0aGVvdWdoIHRoZSBudXRzIGFuZCBib2x0cyBvZiB0 aGUgcmVnaXN0ZXIgb2Zmc2V0cyBidXQgdGhlCmFwcHJvYWNoIHNlZW1zIE9LIHRvIG1lLgoKQWNr ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cgo+ ICAKPiAgCXZvaWQgKCp3cml0ZV9pbmZvZnJhbWUpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ICAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4g LS0gCj4gMi4yMS4wCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==