From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mihail Atanassov Subject: Re: [PATCH] drm/komeda: Adds error event print functionality Date: Thu, 1 Aug 2019 14:48:45 +0000 Message-ID: <3215981.n852bepVxH@e123338-lin> References: <1564659415-14548-1-git-send-email-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140087.outbound.protection.outlook.com [40.107.14.87]) by gabe.freedesktop.org (Postfix) with ESMTPS id 594096E6B0 for ; Thu, 1 Aug 2019 14:48:50 +0000 (UTC) In-Reply-To: <1564659415-14548-1-git-send-email-lowry.li@arm.com> Content-Language: en-US Content-ID: <1C005F8E5A435744A9D8E54C8CAA4B68@eurprd08.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "dri-devel@lists.freedesktop.org" Cc: nd , Ayan Halder , "airlied@linux.ie" , Liviu Dudau , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "Julien Yin (Arm Technology China)" , "james qian wang (Arm Technology China)" , "seanpaul@chromium.org" , "Lowry Li (Arm Technology China)" List-Id: dri-devel@lists.freedesktop.org SGkgTG93cnksCgpPbiBUaHVyc2RheSwgMSBBdWd1c3QgMjAxOSAxMjozNzoxNSBCU1QgTG93cnkg TGkgKEFybSBUZWNobm9sb2d5IENoaW5hKSB3cm90ZToKPiBGcm9tOiAiTG93cnkgTGkgKEFybSBU ZWNobm9sb2d5IENoaW5hKSIgPExvd3J5LkxpQGFybS5jb20+Cj4gCj4gQWRkcyB0byBwcmludCB0 aGUgZXZlbnQgbWVzc2FnZSB3aGVuIGVycm9yIGhhcHBlbnMgYW5kIHRoZSBzYW1lIGV2ZW50Cj4g d2lsbCBub3QgYmUgcHJpbnRlZCB1bnRpbCBuZXh0IHZzeW5jLgo+IAo+IENoYW5nZXMgc2luY2Ug djE6Cj4gMS4gSGFuZGxpbmcgdGhlIGV2ZW50IHByaW50IGJ5IENPTkZJR19LT01FREFfRVJST1Jf UFJJTlQ7Cj4gMi4gQ2hhbmdpbmcgdGhlIG1heCBzdHJpbmcgc2l6ZSB0byAyNTYuCj4gCj4gU2ln bmVkLW9mZi1ieTogTG93cnkgTGkgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8bG93cnkubGlAYXJt LmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L0tjb25maWcgICAgICAg ICAgICAgICB8ICAgNiArCj4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvTWFr ZWZpbGUgICAgICAgfCAgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9kZXYuaCAgIHwgIDE1ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2tvbWVkYV9ldmVudC5jIHwgMTQxCj4gKysrKysrKysrKysrKysrKysrKysrKyBkcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuYyAgIHwgCj4gIDQgKwo+ ICA1IGZpbGVzIGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9ldmVudC5jCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9LY29uZmlnCj4gYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkvS2NvbmZpZyBpbmRleCBjZWMwNjM5Li5lODdmZjg2IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9LY29uZmlnCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L0tjb25maWcKPiBAQCAtMTIsMyArMTIsOSBAQCBj b25maWcgRFJNX0tPTUVEQQo+ICAJICBQcm9jZXNzb3IgZHJpdmVyLiBJdCBzdXBwb3J0cyB0aGUg RDcxIHZhcmlhbnRzIG9mIHRoZSBoYXJkd2FyZS4KPiAKPiAgCSAgSWYgY29tcGlsZWQgYXMgYSBt b2R1bGUgaXQgd2lsbCBiZSBjYWxsZWQga29tZWRhLgo+ICsKPiArY29uZmlnIERSTV9LT01FREFf RVJST1JfUFJJTlQKPiArCWJvb2wgIkVuYWJsZSBrb21lZGEgZXJyb3IgcHJpbnQiCj4gKwlkZXBl bmRzIG9uIERSTV9LT01FREEKPiArCWhlbHAKPiArCSAgQ2hvb3NlIHRoaXMgb3B0aW9uIHRvIGVu YWJsZSBlcnJvciBwcmludGluZy4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9NYWtlZmlsZQo+IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9NYWtlZmlsZSBpbmRleCA1YzM5MDBjLi5mMDk1YTFjIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxlCj4gQEAgLTIyLDQgKzIyLDYgQEAga29t ZWRhLXkgKz0gXAo+ICAJZDcxL2Q3MV9kZXYubyBcCj4gIAlkNzEvZDcxX2NvbXBvbmVudC5vCj4g Cj4gK2tvbWVkYS0kKENPTkZJR19EUk1fS09NRURBX0VSUk9SX1BSSU5UKSArPSBrb21lZGFfZXZl bnQubwo+ICsKPiAgb2JqLSQoQ09ORklHX0RSTV9LT01FREEpICs9IGtvbWVkYS5vCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oCj4g Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuaCBpbmRleCBk MWM4NmI2Li5lMjhlN2U2Cj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9kZXYuaAo+IEBAIC00MCw2ICs0MCwxNyBAQAo+ICAjZGVmaW5lIEtP TUVEQV9FUlJfVFRORwkJCUJJVF9VTEwoMzApCj4gICNkZWZpbmUgS09NRURBX0VSUl9UVEYJCQlC SVRfVUxMKDMxKQo+IAo+ICsjZGVmaW5lIEtPTUVEQV9FUlJfRVZFTlRTCVwKPiArCShLT01FREFf RVZFTlRfVVJVTgl8IEtPTUVEQV9FVkVOVF9JQlNZCXwgS09NRURBX0VWRU5UX09WUiB8ClwKPiAr CUtPTUVEQV9FUlJfVEVUTwkJfCBLT01FREFfRVJSX1RFTVIJfCAKS09NRURBX0VSUl9USVRSIHxc Cj4gKwlLT01FREFfRVJSX0NQRQkJfCBLT01FREFfRVJSX0NGR0UJfCAKS09NRURBX0VSUl9BWElF IHxcCj4gKwlLT01FREFfRVJSX0FDRTAJCXwgS09NRURBX0VSUl9BQ0UxCXwgCktPTUVEQV9FUlJf QUNFMiB8XAo+ICsJS09NRURBX0VSUl9BQ0UzCQl8IEtPTUVEQV9FUlJfRFJJRlRUTwl8IApLT01F REFfRVJSX0ZSQU1FVE8gfFwKPiArCUtPTUVEQV9FUlJfWk1FCQl8IEtPTUVEQV9FUlJfTUVSUgl8 IApLT01FREFfRVJSX1RDRiB8XAo+ICsJS09NRURBX0VSUl9UVE5HCQl8IEtPTUVEQV9FUlJfVFRG KQo+ICsKPiArI2RlZmluZSBLT01FREFfV0FSTl9FVkVOVFMJS09NRURBX0VSUl9DU0NFCj4gKwo+ ICAvKiBtYWxpZHAgZGV2aWNlIGlkICovCj4gIGVudW0gewo+ICAJTUFMSV9ENzEgPSAwLAo+IEBA IC0yMDcsNCArMjE4LDggQEAgc3RydWN0IGtvbWVkYV9kZXYgewo+IAo+ICBzdHJ1Y3Qga29tZWRh X2RldiAqZGV2X3RvX21kZXYoc3RydWN0IGRldmljZSAqZGV2KTsKPiAKPiArI2lmZGVmIENPTkZJ R19EUk1fS09NRURBX0VSUk9SX1BSSU5UCj4gK3ZvaWQga29tZWRhX3ByaW50X2V2ZW50cyhzdHJ1 Y3Qga29tZWRhX2V2ZW50cyAqZXZ0cyk7Cj4gKyNlbmRpZgo+ICsKPiAgI2VuZGlmIC8qX0tPTUVE QV9ERVZfSF8qLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9ldmVudC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9ldmVudC5jIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNTdi NjBjZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2tvbWVkYV9ldmVudC5jCj4gQEAgLTAsMCArMSwxNDEgQEAKPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiArLyoKPiArICogKEMpIENPUFlSSUdIVCAyMDE5IEFS TSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsgKiBBdXRob3I6IEphbWVzLlFpYW4u V2FuZyA8amFtZXMucWlhbi53YW5nQGFybS5jb20+Cj4gKyAqCj4gKyAqLwo+ICsjaW5jbHVkZSA8 ZHJtL2RybV9wcmludC5oPgo+ICsKPiArI2luY2x1ZGUgImtvbWVkYV9kZXYuaCIKPiArCj4gK3N0 cnVjdCBrb21lZGFfc3RyIHsKPiArCWNoYXIgKnN0cjsKPiArCXUzMiBzejsKPiArCXUzMiBsZW47 Cj4gK307Cj4gKwo+ICsvKiByZXR1cm4gMCBvbiBzdWNjZXNzLCAgPCAwIG9uIG5vIHNwYWNlLgo+ ICsgKi8KPiArc3RhdGljIGludCBrb21lZGFfc3ByaW50ZihzdHJ1Y3Qga29tZWRhX3N0ciAqc3Ry LCBjb25zdCBjaGFyICpmbXQsIC4uLikKVGhlIGxhY2sgb2YgJ1wwJy10ZXJtaW5hdGlvbiBpbiB0 aGUgdHJ1bmNhdGlvbiBjYXNlIGlzIHF1aXRlIGRpc2NvbmNlcnRpbmcsIAplc3BlY2lhbGx5IHNp bmNlIHZzbnByaW50ZiBkb2VzIGl0LiBUaGlzIHdvdWxkIGJlIHF1aXRlIHN1cnByaXNpbmcgdG8g dGhlIApjYXN1YWwgcGFzc2VyLWJ5Lgo+ICt7Cj4gKwl2YV9saXN0IGFyZ3M7Cj4gKwlpbnQgbnVt LCBmcmVlX3N6Owo+ICsJaW50IGVycjsKPiArCj4gKwlmcmVlX3N6ID0gc3RyLT5zeiAtIHN0ci0+ bGVuOwpUaGF0J3Mgb2ZmIGJ5IDEsIHlvdSBuZWVkIHRvIGFjY291bnQgZm9yIHRoZSBudWxsIGJ5 dGUuCj4gKwlpZiAoZnJlZV9zeiA8PSAwKQo+ICsJCXJldHVybiAtRU5PU1BDOwo+ICsKPiArCXZh X3N0YXJ0KGFyZ3MsIGZtdCk7Cj4gKwo+ICsJbnVtID0gdnNucHJpbnRmKHN0ci0+c3RyICsgc3Ry LT5sZW4sIGZyZWVfc3osIGZtdCwgYXJncyk7Cj4gKwo+ICsJdmFfZW5kKGFyZ3MpOwo+ICsKPiAr CWlmIChudW0gPD0gZnJlZV9zeikgewpTdHJpY3RseSBsZXNzIHRoYW4uIFRvIHF1b3RlIGZyb20g dGhlIGRvYyBvZiB2c25wcmludGY6IAoiIiIgWy4uLl0gSWYgdGhlIHJldHVybiBpcyBncmVhdGVy IHRoYW4gb3IgZXF1YWwgdG8gQHNpemUsIHRoZSByZXN1bHRpbmcgCnN0cmluZyBpcyB0cnVuY2F0 ZWQuICIiIgo+ICsJCXN0ci0+bGVuICs9IG51bTsKPiArCQllcnIgPSAwOwo+ICsJfSBlbHNlIHsK PiArCQlzdHItPmxlbiA9IHN0ci0+c3o7Ck9mZiBieSAxIGhlcmUsIHRvby4KPiArCQllcnIgPSAt RU5PU1BDOwpUaGF0IGVycm9yIGNvZGUgaXNuJ3QgdXNlZCBhbnl3aGVyZSwgc28gdGhlcmUncyBu byB2YWx1ZSB0byBoYXZpbmcgaXQgaW4gdGhlIApjdXJyZW50IHZlcnNpb24gb2YgdGhpcyBwYXRj aC4gRWl0aGVyIGNoZWNrIHRoZSBlcnJvciBjb2RlIHNvbWV3aGVyZSAKZG93bnN0cmVhbSBhbmQg aGFuZGxlIGl0LCBvciBjaGFuZ2UgdGhhdCB0byBhbiBhY3Rpb25hYmxlIG1lc3NhZ2UgZm9yIHRo ZSAKcGVyc29uIHJlYWRpbmcgdGhlIGtlcm5lbCBsb2cuIEFzIGl0IHN0YW5kcyB0cnVuY2F0aW9u IGlzIGNvbXBsZXRlbHkgc2lsZW50Lgo+ICsJfQo+ICsKPiArCXJldHVybiBlcnI7Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIGV2dF9zcHJpbnRmKHN0cnVjdCBrb21lZGFfc3RyICpzdHIsIHU2NCBl dnQsIGNvbnN0IGNoYXIgKm1zZykKPiArewo+ICsJaWYgKGV2dCkKPiArCQlrb21lZGFfc3ByaW50 ZihzdHIsIG1zZyk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGV2dF9zdHIoc3RydWN0IGtvbWVk YV9zdHIgKnN0ciwgdTY0IGV2ZW50cykKPiArewo+ICsJaWYgKGV2ZW50cyA9PSAwVUxMKSB7Cj4g KwkJZXZ0X3NwcmludGYoc3RyLCAxLCAiTm9uZSIpOwpbbml0XSBDYWxsIGBrb21lZGFfc3ByaW50 ZihzdHIsICJOb25lIilgIGRpcmVjdGx5Pwo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlldnRf c3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9WU1lOQywgIlZTWU5DfCIpOwo+ICsJ ZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFfRVZFTlRfRkxJUCwgIkZMSVB8Iik7Cj4g KwlldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9FT1csICJFT1d8Iik7Cj4g KwlldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9NT0RFLCAiT1AtTU9ERXwi KTsKPiArCj4gKwlldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9VUlVOLCAi VU5ERVJSVU58Iik7Cj4gKwlldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9P VlIsICJPVkVSUlVOfCIpOwo+ICsKPiArCS8qIEdMQiBlcnJvciAqLwo+ICsJZXZ0X3NwcmludGYo c3RyLCBldmVudHMgJiBLT01FREFfRVJSX01FUlIsICJNRVJSfCIpOwo+ICsJZXZ0X3NwcmludGYo c3RyLCBldmVudHMgJiBLT01FREFfRVJSX0ZSQU1FVE8sICJGUkFNRVRPfCIpOwo+ICsKPiArCS8q IERPVSBlcnJvciAqLwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFfRVJSX0RS SUZUVE8sICJEUklGVFRPfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFf RVJSX0ZSQU1FVE8sICJGUkFNRVRPfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBL T01FREFfRVJSX1RFVE8sICJURVRPfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBL T01FREFfRVJSX0NTQ0UsICJDU0NFfCIpOwo+ICsKPiArCS8qIExQVSBlcnJvcnMgb3IgZXZlbnRz ICovCj4gKwlldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9JQlNZLCAiSUJT WXwiKTsKPiArCWV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9BWElFLCAiQVhJ RXwiKTsKPiArCWV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9BQ0UwLCAiQUNF MHwiKTsKPiArCWV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9BQ0UxLCAiQUNF MXwiKTsKPiArCWV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9BQ0UyLCAiQUNF MnwiKTsKPiArCWV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9BQ0UzLCAiQUNF M3wiKTsKPiArCj4gKwkvKiBMUFUgVEJVIGVycm9ycyovCj4gKwlldnRfc3ByaW50ZihzdHIsIGV2 ZW50cyAmIEtPTUVEQV9FUlJfVENGLCAiVENGfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVu dHMgJiBLT01FREFfRVJSX1RUTkcsICJUVE5HfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVu dHMgJiBLT01FREFfRVJSX1RJVFIsICJUSVRSfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVu dHMgJiBLT01FREFfRVJSX1RFTVIsICJURU1SfCIpOwo+ICsJZXZ0X3NwcmludGYoc3RyLCBldmVu dHMgJiBLT01FREFfRVJSX1RURiwgIlRURnwiKTsKPiArCj4gKwkvKiBDVSBlcnJvcnMqLwo+ICsJ ZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFfRVJSX0NQRSwgIkNPUFJPQ3wiKTsKPiAr CWV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9aTUUsICJaTUV8Iik7Cj4gKwll dnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfQ0ZHRSwgIkNGR0V8Iik7Cj4gKwll dnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfVEVNUiwgIlRFTVJ8Iik7Cj4gKwo+ ICsJaWYgKHN0ci0+bGVuID4gMCAmJiAoc3RyLT5zdHJbc3RyLT5sZW4gLSAxXSA9PSAnfCcpKSB7 Cj4gKwkJc3RyLT5zdHJbc3RyLT5sZW4gLSAxXSA9IDA7Cj4gKwkJc3RyLT5sZW4tLTsKPiArCX0K PiArfQo+ICsKPiArc3RhdGljIGJvb2wgaXNfbmV3X2ZyYW1lKHN0cnVjdCBrb21lZGFfZXZlbnRz ICphKQo+ICt7Cj4gKwlyZXR1cm4gKGEtPnBpcGVzWzBdIHwgYS0+cGlwZXNbMV0pICYKPiArCSAg ICAgICAoS09NRURBX0VWRU5UX0ZMSVAgfCBLT01FREFfRVZFTlRfRU9XKTsKPiArfQo+ICsKPiAr dm9pZCBrb21lZGFfcHJpbnRfZXZlbnRzKHN0cnVjdCBrb21lZGFfZXZlbnRzICpldnRzKQo+ICt7 Cj4gKwl1NjQgcHJpbnRfZXZ0cyA9IEtPTUVEQV9FUlJfRVZFTlRTOwo+ICsJc3RhdGljIGJvb2wg ZW5fcHJpbnQgPSB0cnVlOwo+ICsKPiArCS8qIHJlZHVjZSB0aGUgc2FtZSBtc2cgcHJpbnQsIG9u bHkgcHJpbnQgdGhlIGZpcnN0IGV2dCBmb3Igb25lIApmcmFtZSAqLwo+ICsJaWYgKGV2dHMtPmds b2JhbCB8fCBpc19uZXdfZnJhbWUoZXZ0cykpCj4gKwkJZW5fcHJpbnQgPSB0cnVlOwo+ICsJaWYg KCFlbl9wcmludCkKPiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKChldnRzLT5nbG9iYWwgfCBldnRz LT5waXBlc1swXSB8IGV2dHMtPnBpcGVzWzFdKSAmIHByaW50X2V2dHMpIAp7Cj4gKwkJI2RlZmlu ZSBTVFJfU1oJCTI1Ngpbbml0XSBJJ2QgdW5kZWYgdGhhdCBvbmNlIGl0J3Mgbm8gbG9uZ2VyIG5l ZWRlZAo+ICsJCWNoYXIgbXNnW1NUUl9TWl07Cj4gKwkJc3RydWN0IGtvbWVkYV9zdHIgc3RyOwo+ ICsKPiArCQlzdHIuc3RyID0gbXNnOwo+ICsJCXN0ci5zeiAgPSBTVFJfU1o7Cj4gKwkJc3RyLmxl biA9IDA7Cj4gKwo+ICsJCWtvbWVkYV9zcHJpbnRmKCZzdHIsICJnY3U6ICIpOwo+ICsJCWV2dF9z dHIoJnN0ciwgZXZ0cy0+Z2xvYmFsKTsKPiArCQlrb21lZGFfc3ByaW50Zigmc3RyLCAiLCBwaXBl c1swXTogIik7Cj4gKwkJZXZ0X3N0cigmc3RyLCBldnRzLT5waXBlc1swXSk7Cj4gKwkJa29tZWRh X3NwcmludGYoJnN0ciwgIiwgcGlwZXNbMV06ICIpOwo+ICsJCWV2dF9zdHIoJnN0ciwgZXZ0cy0+ cGlwZXNbMV0pOwo+ICsKPiArCQlEUk1fRVJST1IoImVyciBkZXRlY3Q6ICVzXG4iLCBtc2cpOwo+ ICsKPiArCQllbl9wcmludCA9IGZhbHNlOwo+ICsJfQo+ICt9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jCj4gYi9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuYyBpbmRleCA0MTlhOGIwLi4wZmFm YzM2Cj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tv bWVkYV9rbXMuYwo+IEBAIC00Nyw2ICs0NywxMCBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qga29tZWRh X2ttc19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkCj4gKmRhdGEpIG1lbXNldCgmZXZ0cywgMCwg c2l6ZW9mKGV2dHMpKTsKPiAgCXN0YXR1cyA9IG1kZXYtPmZ1bmNzLT5pcnFfaGFuZGxlcihtZGV2 LCAmZXZ0cyk7Cj4gCj4gKyNpZmRlZiBDT05GSUdfRFJNX0tPTUVEQV9FUlJPUl9QUklOVAo+ICsJ a29tZWRhX3ByaW50X2V2ZW50cygmZXZ0cyk7Cj4gKyNlbmRpZgo+ICsKPiAgCS8qIE5vdGlmeSB0 aGUgY3J0YyB0byBoYW5kbGUgdGhlIGV2ZW50cyAqLwo+ICAJZm9yIChpID0gMDsgaSA8IGttcy0+ bl9jcnRjczsgaSsrKQo+ICAJCWtvbWVkYV9jcnRjX2hhbmRsZV9ldmVudCgma21zLT5jcnRjc1tp XSwgJmV2dHMpOwoKQlIsCk1paGFpbAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbA==