From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sujaritha Subject: Re: [PATCH v7 2/4] drm/i915/guc : Removing i915_modparams.enable_guc_loading module parameter Date: Mon, 23 Oct 2017 10:41:53 -0700 Message-ID: <6c897a1b-99fa-fca8-3d52-80143b948f1f@intel.com> References: <1508280649-26705-1-git-send-email-sujaritha.sundaresan@intel.com> <1508280649-26705-3-git-send-email-sujaritha.sundaresan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id BA6D96E083 for ; Mon, 23 Oct 2017 17:45:16 +0000 (UTC) In-Reply-To: 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: Michal Wajdeczko , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8xOC8yMDE3IDA0OjUzIEFNLCBNaWNoYWwgV2FqZGVjemtvIHdyb3RlOgo+IE9uIFdl ZCwgMTggT2N0IDIwMTcgMDA6NTA6NDcgKzAyMDAsIFN1amFyaXRoYSBTdW5kYXJlc2FuIAo+IDxz dWphcml0aGEuc3VuZGFyZXNhbkBpbnRlbC5jb20+IHdyb3RlOgo+Cj4+IFdlIGN1cnJlbnRseSBo YXZlIHR3byBtb2R1bGUgcGFyYW1ldGVycyB0aGF0IGNvbnRyb2wgR3VDOgo+PiAiZW5hYmxlX2d1 Y19sb2FkaW5nIiBhbmQgImVuYWJsZV9ndWNfc3VibWlzc2lvbiIuIFdoZW5ldmVyCj4+IHdlIG5l ZWQgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uPTEsIHdlIGFsc28gbmVlZAo+ PiBlbmFibGVfZ3VjX2xvYWRpbmc9MS4gV2UgYWxzbyBuZWVkIGVuYWJsZV9ndWNfbG9hZGluZz0x IHdoZW4KPj4gd2Ugd2FudCB0byB2ZXJpZnkgdGhlIEh1Qywgd2hpY2ggaXMgZXZlcnkgdGltZSB3 ZSBoYXZlIGEgSHVDCj4+IChidXQgYWxsIHBsYXRmb3JtcyB3aXRoIEh1QyBoYXZlIGEgR3VDIGFu ZCB2aWNldmVyc2EpLgo+Pgo+PiB2MjogQ2xhcmlmeWluZyB0aGUgY29tbWl0IG1lc3NhZ2UgKEFu dXNoYSkKPj4KPj4gdjM6IFVuaWZ5IHNlcV9wdXRzIG1lc3NhZ2VzLCBSZS1mYWN0b3JpbmcgY29k ZSBhcyBwZXIgcmV2aWV3IChNaWNoYWwpCj4+Cj4+IHY0OiBSZWJhc2UKPj4KPj4gdjU6IFNlcGFy YXRpbmcgbWVzc2FnZSB1bmlmaWNhdGlvbiBpbnRvIGEgc2VwYXJhdGUgcGF0Y2gKPj4KPj4gdjY6 IFJlLWZhY3RvcmluZyBjb2RlIChTYWdhciwgTWljaGFsKQo+PiDCoMKgwqAgUmViYXNlCj4+Cj4+ IHY3OiBBcHBseWluZyByZXZpZXcgY29tbWVudHMgKFNhZ2FyKQo+PiDCoMKgwqAgUmViYXNlCj4+ Cj4+IFN1Z2dlc3RlZCBieTogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVsLmNvbT4KPj4g U2lnbmVkLW9mZi1ieTogU3VqYXJpdGhhIFN1bmRhcmVzYW4gPHN1amFyaXRoYS5zdW5kYXJlc2Fu QGludGVsLmNvbT4KPj4gQ2M6IE1pY2hhbCBXYWpkZWN6a28gPG1pY2hhbC53YWpkZWN6a29AaW50 ZWwuY29tPgo+PiBDYzogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNv bT4KPj4gQ2M6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPj4g Q2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+Cj4+IC0tLQo+PiDCoGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jwqDCoMKgwqAgfMKgIDYgKy0tCj4+IMKgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaMKgwqDCoMKgwqDCoMKgwqAgfMKgIDkgKysrLS0K Pj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgfMKgIDIgKy0KPj4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuY8KgwqDCoMKgIHzCoCAyICstCj4+ IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuY8KgwqDCoMKgwqDCoMKgwqAgfMKgIDIg Ky0KPj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jwqDCoMKgwqDCoCB8wqAg NCAtLQo+PiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmjCoMKgwqDCoMKgIHzC oCAxIC0KPj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jwqDCoMKgwqDCoMKgwqDC oCB8IDY5IAo+PiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KPj4gwqBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY8KgwqDCoMKgIHzCoCAzICstCj4+IMKgOSBmaWxl cyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIAo+PiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IGluZGV4IGFjMjVkNjMuLmJjMzE3NjkgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IEBAIC0yMzYxLDcgKzIzNjEs NyBAQCBzdGF0aWMgaW50IGk5MTVfaHVjX2xvYWRfc3RhdHVzX2luZm8oc3RydWN0IAo+PiBzZXFf ZmlsZSAqbSwgdm9pZCAqZGF0YSkKPj4gwqDCoMKgwqAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gbm9kZV90b19pOTE1KG0tPnByaXZhdGUpOwo+PiDCoMKgwqDCoCBzdHJ1Y3Qg aW50ZWxfdWNfZncgKmh1Y19mdyA9ICZkZXZfcHJpdi0+aHVjLmZ3Owo+PiAtwqDCoMKgIGlmICgh SEFTX0hVQ19VQ09ERShkZXZfcHJpdikpIHsKPj4gK8KgwqDCoCBpZiAoIUhBU19HVUMoZGV2X3By aXYpKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqAgc2VxX3B1dHMobSwgIm5vdCBzdXBwb3J0ZWRcbiIp Owo+PiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiDCoMKgwqDCoCB9Cj4+IEBAIC0yMzk3 LDcgKzIzOTcsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ3VjX2xvYWRfc3RhdHVzX2luZm8oc3RydWN0 IAo+PiBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPj4gwqDCoMKgwqAgc3RydWN0IGludGVsX3Vj X2Z3ICpndWNfZncgPSAmZGV2X3ByaXYtPmd1Yy5mdzsKPj4gwqDCoMKgwqAgdTMyIHRtcCwgaTsK Pj4gLcKgwqDCoCBpZiAoIUhBU19HVUNfVUNPREUoZGV2X3ByaXYpKSB7Cj4+ICvCoMKgwqAgaWYg KCFIQVNfR1VDKGRldl9wcml2KSkgewo+PiDCoMKgwqDCoMKgwqDCoMKgIHNlcV9wdXRzKG0sICJu b3Qgc3VwcG9ydGVkXG4iKTsKPj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4gwqDCoMKg wqAgfQo+PiBAQCAtMjQ5Niw3ICsyNDk2LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZ3VjX3N1Ym1p c3Npb24oc3RydWN0IAo+PiBzZXFfZmlsZSAqbSkKPj4gwqDCoMKgwqBpZiAoIWd1Yy0+ZXhlY2J1 Zl9jbGllbnQpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoCBzZXFfcHJpbnRmKG0sICJHdUMgc3VibWlz c2lvbiAlc1xuIiwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFTX0dVQ19TQ0hF RChkZXZfcHJpdikgPwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBIQVNfR1VDKGRl dl9wcml2KSA/Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiZGlzYWJsZWQiIDoK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJub3Qgc3VwcG9ydGVkIik7Cj4KPiBC dHcsIHRoZXJlIGlzIGFsc28gM3JkIGNhc2U6ICJmYWlsZWQiIHdoZW4gd2UgaGF2ZSBHdWMsIGJ1 dCBzb21ldGhpbmcgCj4gd2VudAo+IHdyb25nIHdpdGggZncgbG9hZGluZyBvciBlbmFibGluZy4u Lgo+Cj4+IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNlOwo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4+IGluZGV4IGRkMTQxYjIuLjViOWJkZDAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+PiBAQCAtMzIwMSw5ICszMjAxLDEyIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWdu ZWQgaW50IAo+PiBpOTE1X3NnX3NlZ21lbnRfc2l6ZSh2b2lkKQo+PiDCoCAqLwo+PiDCoCNkZWZp bmUgSEFTX0dVQyhkZXZfcHJpdinCoMKgwqAgKChkZXZfcHJpdiktPmluZm8uaGFzX2d1YykKPj4g wqAjZGVmaW5lIEhBU19HVUNfQ1QoZGV2X3ByaXYpICgoZGV2X3ByaXYpLT5pbmZvLmhhc19ndWNf Y3QpCj4+IC0jZGVmaW5lIEhBU19HVUNfVUNPREUoZGV2X3ByaXYpwqDCoMKgIChIQVNfR1VDKGRl dl9wcml2KSkKPj4gLSNkZWZpbmUgSEFTX0dVQ19TQ0hFRChkZXZfcHJpdinCoMKgwqAgKEhBU19H VUMoZGV2X3ByaXYpKQo+PiAtI2RlZmluZSBIQVNfSFVDX1VDT0RFKGRldl9wcml2KcKgwqDCoCAo SEFTX0dVQyhkZXZfcHJpdikpCj4+ICsjZGVmaW5lIEhBU19HVUNfVUNPREUoZGV2X3ByaXYpICgo ZGV2X3ByaXYpLT5ndWMuZncucGF0aCAhPSBOVUxMKQo+PiArI2RlZmluZSBIQVNfSFVDX1VDT0RF KGRldl9wcml2KSAoKGRldl9wcml2KS0+aHVjLmZ3LnBhdGggIT0gTlVMTCkKPj4gKwo+PiArI2Rl ZmluZSBORUVEU19HVUNfTE9BRElORyhkZXZfcHJpdikgXAo+PiArwqDCoMKgIChIQVNfR1VDKGRl dl9wcml2KSAmJiBcCj4+ICvCoMKgwqAgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlz c2lvbiB8fCBIQVNfSFVDX1VDT0RFKGRldl9wcml2KSkpCj4KPiBIbW0sIHNvIGJ5IHRoZSBtb21l bnQgd2UgYWRkIGh1YyBmdyBkZWZpbml0aW9uIHRvIHRoZSBkcml2ZXIgd2Ugd2lsbAo+IGVuYWJs ZSBndWMgbG9hZGluZywgYW5kIGFzIGh1YyBpcyBhbHdheXMgcHJlc2VudCB3aXRoIGd1YywgdGhp cyB3aWxsCj4gc2lsZW50bHkgZW5hYmxlIGd1YyBsb2FkaW5nIGZvciBhbGwgcGxhdGZvcm1zIHdp dGggZ3VjKGh1YykgYW5kIHRoZXJlCj4gd2lsbCBiZSBubyBvcHRpb24gdG8gdHVybiB0aGlzIG9m ZiAuLi4KPgo+IFdoYXQgaWYgd2UgZG9uJ3QgY2FyZSBhYm91dCBIdWMgZnVuY3Rpb25hbGl0eSA/ Cj4KPiBJZiB0aGVyZSB3aWxsIGJlIEh1YyBmdywgYm90aCBndWMgYW5kIGh1YyB3aWxsIGJlIGxv YWRlZC4KPiBJZiB0aGVyZSB3aWxsIGJlIG5vIEh1YyBmdyBvbiB0aGUgc3lzdGVtIChidXQgaXQg d2lsbCBiZSBkZWZpbmVkIGluIAo+IGRyaXZlcikKPiB0aGVuIHdlIHdpbGwgZ2VuZXJhdGUgZXJy b3JzIGZyb20gSHVjIGZpcndhcmUgbG9hZGluZywgYW5kIGxpa2VseSB0cnkgCj4gdG8gbG9hZAo+ IEd1YyBmaXJtd2FyZSBmb3Igbm8gcHVycG9zZSAuLi4KCkhtbSwgb2suIFNvIHdpbGwgdGhlIGNo YW5nZSB3aWxsIGJlIHRvIG1ha2UgdGhlIG1hY3JvCgpORUVEU19HVUNfTE9BRElORyhkZXZfcHJp dikgXAogwqDCoMKgIChIQVNfR1VDKGRldl9wcml2KSAmJiBpOTE1X21vcGRhcmFtcy5lbmFibGVf Z3VjX3N1Ym1pc3Npb24pID8KPgo+PiAjZGVmaW5lIEhBU19SRVNPVVJDRV9TVFJFQU1FUihkZXZf cHJpdikgCj4+ICgoZGV2X3ByaXYpLT5pbmZvLmhhc19yZXNvdXJjZV9zdHJlYW1lcikKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAKPj4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPj4gaW5kZXggNWJmOTZhMi4u NjkyZDYwOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ PiBAQCAtMzE0LDcgKzMxNCw3IEBAIHN0YXRpYyB1MzIgZGVmYXVsdF9kZXNjX3RlbXBsYXRlKGNv bnN0IHN0cnVjdCAKPj4gZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPj4gwqDCoMKgwqDCoCAqIHBy ZXNlbnQgb3Igbm90IGluIHVzZSB3ZSBzdGlsbCBuZWVkIGEgc21hbGwgYmlhcyBhcyByaW5nIAo+ PiB3cmFwYXJvdW5kCj4+IMKgwqDCoMKgwqAgKiBhdCBvZmZzZXQgMCBzb21ldGltZXMgaGFuZ3Mu IE5vIGlkZWEgd2h5Lgo+PiDCoMKgwqDCoMKgICovCj4+IC3CoMKgwqAgaWYgKEhBU19HVUMoZGV2 X3ByaXYpICYmIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZykKPj4gK8KgwqDCoCBp ZiAoTkVFRFNfR1VDX0xPQURJTkcoZGV2X3ByaXYpKQo+PiDCoMKgwqDCoMKgwqDCoMKgIGN0eC0+ Z2d0dF9vZmZzZXRfYmlhcyA9IEdVQ19XT1BDTV9UT1A7Cj4+IMKgwqDCoMKgIGVsc2UKPj4gwqDC oMKgwqDCoMKgwqDCoCBjdHgtPmdndHRfb2Zmc2V0X2JpYXMgPSBJOTE1X0dUVF9QQUdFX1NJWkU7 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+PiBpbmRleCA1MjdhMmQyLi4w YmJjOGYwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu Ywo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+PiBAQCAtMzQ4 MSw3ICszNDgxLDcgQEAgaW50IGk5MTVfZ2d0dF9wcm9iZV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAKPj4gKmRldl9wcml2KQo+PiDCoMKgwqDCoMKgICogY3VycmVudGx5IGRvbid0IGhhdmUg YW55IGJpdHMgc3BhcmUgdG8gcGFzcyBpbiB0aGlzIHVwcGVyCj4+IMKgwqDCoMKgwqAgKiByZXN0 cmljdGlvbiEKPj4gwqDCoMKgwqDCoCAqLwo+PiAtwqDCoMKgIGlmIChIQVNfR1VDKGRldl9wcml2 KSAmJiBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcpIHsKPj4gK8KgwqDCoCBpZiAo TkVFRFNfR1VDX0xPQURJTkcoZGV2X3ByaXYpKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqAgZ2d0dC0+ YmFzZS50b3RhbCA9IG1pbl90KHU2NCwgZ2d0dC0+YmFzZS50b3RhbCwgR1VDX0dHVFRfVE9QKTsK Pj4gwqDCoMKgwqDCoMKgwqDCoCBnZ3R0LT5tYXBwYWJsZV9lbmQgPSBtaW4oZ2d0dC0+bWFwcGFi bGVfZW5kLCBnZ3R0LT5iYXNlLnRvdGFsKTsKPj4gwqDCoMKgwqAgfQo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCj4+IGluZGV4IGIxMjk2YTUuLmVjNzZhYWMgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYwo+PiBAQCAtNDAyNiw3ICs0MDI2LDcgQEAgdm9pZCBpbnRlbF9pcnFfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAKPj4gKmRldl9wcml2KQo+PiDCoMKgwqDCoCBmb3Ig KGkgPSAwOyBpIDwgTUFYX0wzX1NMSUNFUzsgKytpKQo+PiDCoMKgwqDCoMKgwqDCoMKgIGRldl9w cml2LT5sM19wYXJpdHkucmVtYXBfaW5mb1tpXSA9IE5VTEw7Cj4+IC3CoMKgwqAgaWYgKEhBU19H VUNfU0NIRUQoZGV2X3ByaXYpKQo+PiArwqDCoMKgIGlmIChIQVNfR1VDKGRldl9wcml2KSkKPj4g wqDCoMKgwqDCoMKgwqDCoCBkZXZfcHJpdi0+cG1fZ3VjX2V2ZW50cyA9IEdFTjlfR1VDX1RPX0hP U1RfSU5UX0VWRU5UOwo+PiDCoMKgwqDCoC8qIExldCdzIHRyYWNrIHRoZSBlbmFibGVkIHJwcyBl dmVudHMgKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1z LmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwo+PiBpbmRleCBiNGZh ZWI2Li4xYzI1ZjQ1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bh cmFtcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKPj4gQEAg LTE2MiwxMCArMTYyLDYgQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTVfbW9kcGFyYW1zIF9fcmVh ZF9tb3N0bHkgPSB7Cj4+IMKgwqDCoMKgICIoMD11c2UgdmFsdWUgZnJvbSB2YnQgW2RlZmF1bHRd LCAxPWxvdyBwb3dlciBzd2luZygyMDBtViksIgo+PiDCoMKgwqDCoCAiMj1kZWZhdWx0IHN3aW5n KDQwMG1WKSkiKTsKPj4gLWk5MTVfcGFyYW1fbmFtZWRfdW5zYWZlKGVuYWJsZV9ndWNfbG9hZGlu ZywgaW50LCAwNDAwLAo+PiAtwqDCoMKgICJFbmFibGUgR3VDIGZpcm13YXJlIGxvYWRpbmcgIgo+ PiAtwqDCoMKgICIoLTE9YXV0bywgMD1uZXZlciBbZGVmYXVsdF0sIDE9aWYgYXZhaWxhYmxlLCAy PXJlcXVpcmVkKSIpOwo+PiAtCj4+IMKgaTkxNV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX2d1 Y19zdWJtaXNzaW9uLCBpbnQsIDA0MDAsCj4+IMKgwqDCoMKgICJFbmFibGUgR3VDIHN1Ym1pc3Np b24gIgo+PiDCoMKgwqDCoCAiKC0xPWF1dG8sIDA9bmV2ZXIgW2RlZmF1bHRdLCAxPWlmIGF2YWls YWJsZSwgMj1yZXF1aXJlZCkiKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmggCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+ PiBpbmRleCBjNzI5MjI2Li45ZTFlMjMxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BhcmFtcy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFy YW1zLmgKPj4gQEAgLTQ0LDcgKzQ0LDYgQEAKPj4gwqDCoMKgwqAgcGFyYW0oaW50LCBkaXNhYmxl X3Bvd2VyX3dlbGwsIC0xKSBcCj4+IMKgwqDCoMKgIHBhcmFtKGludCwgZW5hYmxlX2lwcywgMSkg XAo+PiDCoMKgwqDCoCBwYXJhbShpbnQsIGludmVydF9icmlnaHRuZXNzLCAwKSBcCj4+IC3CoMKg wqAgcGFyYW0oaW50LCBlbmFibGVfZ3VjX2xvYWRpbmcsIDApIFwKPj4gwqDCoMKgwqAgcGFyYW0o aW50LCBlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIDApIFwKPj4gwqDCoMKgwqAgcGFyYW0oaW50LCBn dWNfbG9nX2xldmVsLCAtMSkgXAo+PiDCoMKgwqDCoCBwYXJhbShjaGFyICosIGd1Y19maXJtd2Fy ZV9wYXRoLCBOVUxMKSBcCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91Yy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPj4gaW5kZXggMjVi ZDE2Mi4uZGYyODE1MjUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VjLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwo+PiBAQCAtNDks MzYgKzQ5LDQ0IEBAIHN0YXRpYyBpbnQgX19pbnRlbF91Y19yZXNldF9odyhzdHJ1Y3QgCj4+IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiB2b2lkIGludGVsX3VjX3Nhbml0aXplX29wdGlv bnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiDCoHsKPj4gK8KgwqDCoCAv KiBWZXJpZnkgSGFyZHdhcmUgc3VwcG9ydCAqLwo+PiDCoMKgwqDCoCBpZiAoIUhBU19HVUMoZGV2 X3ByaXYpKSB7Cj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1 Y19sb2FkaW5nID4gMCB8fAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFt cy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPiAwKQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBE Uk1fSU5GTygiSWdub3JpbmcgR3VDIG9wdGlvbnMsIG5vIGhhcmR3YXJlXG4iKTsKPj4gLQo+PiAt wqDCoMKgwqDCoMKgwqAgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nID0gMDsKPj4g LcKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDA7 Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNz aW9uID4gMCkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRFJNX0lORk8oIklnbm9yaW5nIEd1 QyBzdWJtaXNzaW9uIGVuYWJsZSIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAibm8gaGFyZHdhcmVcbiIpOwo+Cj4gSG1tLCBtYXliZSB0byBnaXZlIGNsZWFyZXIg bWVzc2FnZSB0byB0aGUgdXNlcjoKPgo+IERSTV9JTkZPKCJJZ25vcmluZyBvcHRpb24gJXMgLSBu byBoYXJkd2FyZSIsICJlbmFibGVfZ3VjX3N1Ym1pc3Npb24iKTsKCldpbGwgZG8uCj4KPj4gKyBp OTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAwOwo+PiDCoMKgwqDCoMKgwqDC oMKgIHJldHVybjsKPj4gwqDCoMKgwqAgfQo+PiAtwqDCoMKgIC8qIEEgbmVnYXRpdmUgdmFsdWUg bWVhbnMgInVzZSBwbGF0Zm9ybSBkZWZhdWx0IiAqLwo+PiAtwqDCoMKgIGlmIChpOTE1X21vZHBh cmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPCAwKQo+PiAtwqDCoMKgwqDCoMKgwqAgaTkxNV9tb2Rw YXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nID0gSEFTX0dVQ19VQ09ERShkZXZfcHJpdik7Cj4+ICvC oMKgwqAgLyogVmVyaWZ5IEZpcm13YXJlIHN1cHBvcnQgKi8KPj4gK8KgwqDCoCBpZiAoIUhBU19H VUNfVUNPREUoZGV2X3ByaXYpKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoaTkxNV9tb2RwYXJh bXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID09IDEpIHsKPgo+IEhtbSwgSSByZWFsbHkgZG9uJ3Qg bGlrZSB0aGF0IHdlIGxlYWsgaGVyZSBlbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAyCj4ga25vd2lu ZyB0aGF0IGl0IHdpbGwgbm90IHdvcmsgLi4uCgpJIGFncmVlLiBBIDIgaXMgInJlcXVpcmVkIiwg c28gSSB3aWxsIGNoYW5nZSBpdCB0bwooaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNz aW9uID4gMCkuCj4KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRFJNX0lORk8oIklnbm9yaW5n IEd1QyBzdWJtaXNzaW9uIGVuYWJsZSIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAibm8gZmlybXdhcmVcbiIpOwo+Cj4gRFJNX0lORk8oIklnbm9yaW5nIG9wdGlv biAlcyAtIG5vIGZpcm13YXJlIiwgImVuYWJsZV9ndWNfc3VibWlzc2lvbiIpOwo+Cj4+ICsgaTkx NV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gMDsKPj4gK8KgwqDCoMKgwqDCoMKg IHJldHVybjsKPj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4gLcKgwqDCoCAvKiBWZXJpZnkgZmlybXdh cmUgdmVyc2lvbiAqLwo+PiAtwqDCoMKgIGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xv YWRpbmcpIHsKPj4gLcKgwqDCoMKgwqDCoMKgIGlmIChIQVNfSFVDX1VDT0RFKGRldl9wcml2KSkK Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW50ZWxfaHVjX3NlbGVjdF9mdygmZGV2X3ByaXYt Pmh1Yyk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19z dWJtaXNzaW9uIDwgMCkgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFt cy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAwOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy ZXR1cm47Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAoaW50ZWxf Z3VjX2Z3X3NlbGVjdCgmZGV2X3ByaXYtPmd1YykpCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZyA9IDA7Cj4+ICvCoMKgwqDCoMKgwqDC oCAvKgo+PiArwqDCoMKgwqDCoMKgwqDCoCAqIElmICJyZXF1aXJlZCIgKD4gMSksIGxldCBpdCBj b250aW51ZSBhbmQgd2Ugd2lsbCBmYWlsIGxhdGVyCj4+ICvCoMKgwqDCoMKgwqDCoMKgICogZHVl IHRvIHRoZSBsYWNrIG9mIGZpcm13YXJlCj4KPiBIbW0sIGJ1dCBkb2luZyBzbyB3aWxsIGJyZWFr IHRoZSBnb2FsIG9mIHRoZSAnc2FuaXRpemUnIG9wdGlvbnMgZnVuY3Rpb24KPgo+PiArwqDCoMKg wqDCoMKgwqDCoCAqLwo+PiArCj4+IMKgwqDCoMKgIH0KPj4gLcKgwqDCoCAvKiBDYW4ndCBlbmFi bGUgZ3VjIHN1Ym1pc3Npb24gd2l0aG91dCBndWMgbG9hZGVkICovCj4+IC3CoMKgwqAgaWYgKCFp OTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcpCj4+IC3CoMKgwqDCoMKgwqDCoCBpOTE1 X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAwOwo+PiArwqDCoMKgIC8qCj4+ICvC oMKgwqDCoCAqIEEgbmVnYXRpdmUgdmFsdWUgbWVhbnMgInVzZSBwYWx0Zm9ybSBkZWZhdWx0IiAo ZW5hYmxlZCBpZiB3ZSAKPj4gaGF2ZQo+Cj4gVHlwbwo+Cj4+ICvCoMKgwqDCoCAqIHN1cnZpdmVk IHRvIGdldCBoZXJlKQo+PiArwqDCoMKgwqAgKi8KPj4gLcKgwqDCoCAvKiBBIG5lZ2F0aXZlIHZh bHVlIG1lYW5zICJ1c2UgcGxhdGZvcm0gZGVmYXVsdCIgKi8KPj4gwqDCoMKgwqAgaWYgKGk5MTVf bW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA8IDApCj4+IC3CoMKgwqDCoMKgwqDCoCBp OTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSBIQVNfR1VDX1NDSEVEKGRldl9w cml2KTsKPj4gK8KgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlz c2lvbiA9IEhBU19HVUMoZGV2X3ByaXYpOwo+PiArCj4KPiBEcm9wIGFib3ZlIGV4dHJhIGxpbmUK Pgo+PiDCoH0KPj4gdm9pZCBpbnRlbF91Y19pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPj4gQEAgLTg4LDYgKzk2LDggQEAgdm9pZCBpbnRlbF91Y19pbml0X2Vh cmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIAo+PiAqZGV2X3ByaXYpCj4+IHZvaWQgaW50ZWxf dWNfaW5pdF9mdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+IMKgewo+PiAr wqDCoMKgIGlmICghSEFTX0dVQyhkZXZfcHJpdikpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm47 Cj4KPiBEbyB3ZSBuZWVkIHRoaXMgbm93ID8KPgo+PiDCoMKgwqDCoCBpbnRlbF91Y19md19mZXRj aChkZXZfcHJpdiwgJmRldl9wcml2LT5odWMuZncpOwo+PiDCoMKgwqDCoCBpbnRlbF91Y19md19m ZXRjaChkZXZfcHJpdiwgJmRldl9wcml2LT5ndWMuZncpOwo+PiDCoH0KPj4gQEAgLTE1NCw3ICsx NjQsNyBAQCBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAKPj4g KmRldl9wcml2KQo+PiDCoMKgwqDCoCBzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYt Pmd1YzsKPj4gwqDCoMKgwqAgaW50IHJldCwgYXR0ZW1wdHM7Cj4+IC3CoMKgwqAgaWYgKCFpOTE1 X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcpCj4+ICvCoMKgwqAgaWYgKCFORUVEU19HVUNf TE9BRElORyhkZXZfcHJpdikpCj4+IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+IMKgwqDC oMKgZ3VjX2Rpc2FibGVfY29tbXVuaWNhdGlvbihndWMpOwo+PiBAQCAtMjUwLDIyICsyNjAsMTcg QEAgaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZf cHJpdikKPj4gwqBlcnJfZ3VjOgo+PiDCoMKgwqDCoCBpOTE1X2dndHRfZGlzYWJsZV9ndWMoZGV2 X3ByaXYpOwo+PiAtwqDCoMKgIGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcg PiAxIHx8Cj4+IC3CoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1p c3Npb24gPiAxKSB7Cj4+ICvCoMKgwqAgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3Vi bWlzc2lvbiA+IDEpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoCBEUk1fRVJST1IoIkd1QyBpbml0IGZh aWxlZC4gRmlybXdhcmUgbG9hZGluZyBkaXNhYmxlZC5cbiIpOwo+PiDCoMKgwqDCoMKgwqDCoMKg IHJldCA9IC1FSU87Cj4+ICvCoMKgwqAgfSBlbHNlIGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVf Z3VjX3N1Ym1pc3Npb24gPT0gMSkgewo+PiArwqDCoMKgwqDCoMKgwqAgRFJNX05PVEUoIkZhbGxp bmcgYmFjayBmcm9tIEd1QyBzdWJtaXNzaW9uIHRvIGV4ZWNsaXN0IAo+PiBtb2RlXG4iKTsKPj4g K8KgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDA7 Cj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSAwOwo+PiDCoMKgwqDCoCB9IGVsc2Ugewo+PiAtwqDC oMKgwqDCoMKgwqAgRFJNX05PVEUoIkd1QyBpbml0IGZhaWxlZC4gRmlybXdhcmUgbG9hZGluZyBk aXNhYmxlZC5cbiIpOwo+PiDCoMKgwqDCoMKgwqDCoMKgIHJldCA9IDA7Cj4+IMKgwqDCoMKgIH0K Pj4gLcKgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7Cj4+ IC3CoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAw Owo+PiAtwqDCoMKgwqDCoMKgwqAgRFJNX05PVEUoIkZhbGxpbmcgYmFjayBmcm9tIEd1QyBzdWJt aXNzaW9uIHRvIGV4ZWNsaXN0IAo+PiBtb2RlXG4iKTsKPj4gLcKgwqDCoCB9Cj4+IC0KPj4gLcKg wqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPSAwOwo+PiAtCj4+IMKgwqDC oMKgIHJldHVybiByZXQ7Cj4+IMKgfQo+PiBAQCAtMjczLDcgKzI3OCw3IEBAIHZvaWQgaW50ZWxf dWNfZmluaV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAKPj4gKmRldl9wcml2KQo+PiDCoHsK Pj4gwqDCoMKgwqAgZ3VjX2ZyZWVfbG9hZF9lcnJfbG9nKCZkZXZfcHJpdi0+Z3VjKTsKPj4gLcKg wqDCoCBpZiAoIWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZykKPj4gK8KgwqDCoCBp ZiAoIU5FRURTX0dVQ19MT0FESU5HKGRldl9wcml2KSkKPj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm47Cj4+IMKgwqDCoMKgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbikK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIAo+PiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4+IGluZGV4IDIwZTNjNjVjLi5j NjMxYjBlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu Ywo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+PiBAQCAtMTgw Myw4ICsxODAzLDcgQEAgaW50IGludGVsX2d1Y19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAKPj4gKmRldl9wcml2KQo+PiDCoHsKPj4gwqDCoMKgwqAgaW50IHJldDsKPj4gLcKgwqDCoCBp ZiAoIUhBU19HVUMoZGV2X3ByaXYpKQo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7 Cj4+ICvCoMKgwqAgR0VNX0JVR19PTighSEFTX0dVQyhkZXZfcHJpdikpOwo+Cj4gSG1tLCB0aGlz IGxvb2tzIGxpa2UgdW5yZWxhdGVkIGNoYW5nZSAtIHBsZWFzZSBtb3ZlIHRvIHNlcGFyYXRlIHBh dGNoCgpXaWxsIGRvCj4KPj4gwqDCoMKgwqBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChkZXZf cHJpdiwgRk9SQ0VXQUtFX0FMTCk7Cj4+IMKgwqDCoMKgIHJldCA9IGdlbjZfaHdfZG9tYWluX3Jl c2V0KGRldl9wcml2LCBHRU45X0dSRE9NX0dVQyk7CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK