From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: Re: [PATCH] drm/komeda: Adds error event print functionality Date: Wed, 18 Sep 2019 01:29:45 +0000 Message-ID: <20190918012937.GA11084@jamwan02-TSP300> References: <1564738954-6101-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 EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20056.outbound.protection.outlook.com [40.107.2.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id ECCA86EDB3 for ; Wed, 18 Sep 2019 01:30:03 +0000 (UTC) In-Reply-To: Content-Language: en-US Content-ID: <6837C2F5BB3AF941B5C73E15440B616B@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: Daniel Vetter Cc: nd , Mihail Atanassov , "airlied@linux.ie" , Liviu Dudau , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , Ayan Halder , "seanpaul@chromium.org" , "Lowry Li (Arm Technology China)" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBTZXAgMTcsIDIwMTkgYXQgMDM6MTE6MjdQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBGcmksIEF1ZyAyLCAyMDE5IGF0IDExOjQzIEFNIExvd3J5IExpIChBcm0gVGVj aG5vbG9neSBDaGluYSkKPiA8TG93cnkuTGlAYXJtLmNvbT4gd3JvdGU6Cj4gPgo+ID4gRnJvbTog Ikxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29tPgo+ID4K PiA+IEFkZHMgdG8gcHJpbnQgdGhlIGV2ZW50IG1lc3NhZ2Ugd2hlbiBlcnJvciBoYXBwZW5zIGFu ZCB0aGUgc2FtZSBldmVudAo+ID4gd2lsbCBub3QgYmUgcHJpbnRlZCB1bnRpbCBuZXh0IHZzeW5j Lgo+ID4KPiA+IENoYW5nZXMgc2luY2UgdjI6Cj4gPiAxLiBSZWZpbmUga29tZWRhX3NwcmludGYo KTsKPiA+IDIuIE5vdCB1c2luZyBTVFJfU1ogbWFjcm8gZm9yIHRoZSBzdHJpbmcgc2l6ZSBpbiBr b21lZGFfcHJpbnRfZXZlbnRzKCkuCj4gPgo+ID4gQ2hhbmdlcyBzaW5jZSB2MToKPiA+IDEuIEhh bmRsaW5nIHRoZSBldmVudCBwcmludCBieSBDT05GSUdfS09NRURBX0VSUk9SX1BSSU5UOwo+ID4g Mi4gQ2hhbmdpbmcgdGhlIG1heCBzdHJpbmcgc2l6ZSB0byAyNTYuCj4gPgo+ID4gU2lnbmVkLW9m Zi1ieTogTG93cnkgTGkgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8bG93cnkubGlAYXJtLmNvbT4K PiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9LY29uZmlnICAgICAgICAg ICAgICAgfCAgIDYgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvTWFr ZWZpbGUgICAgICAgfCAgIDIgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2Rldi5oICAgfCAgMTUgKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZXZlbnQuYyB8IDE0MCArKysrKysrKysrKysrKysrKysrKysrCj4g PiAgZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMgICB8ICAg NCArCj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygrKQo+ID4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9ldmVu dC5jCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9LY29u ZmlnIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L0tjb25maWcKPiA+IGluZGV4IGNlYzA2 MzkuLmU4N2ZmODYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv S2NvbmZpZwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L0tjb25maWcKPiA+ IEBAIC0xMiwzICsxMiw5IEBAIGNvbmZpZyBEUk1fS09NRURBCj4gPiAgICAgICAgICAgUHJvY2Vz c29yIGRyaXZlci4gSXQgc3VwcG9ydHMgdGhlIEQ3MSB2YXJpYW50cyBvZiB0aGUgaGFyZHdhcmUu Cj4gPgo+ID4gICAgICAgICAgIElmIGNvbXBpbGVkIGFzIGEgbW9kdWxlIGl0IHdpbGwgYmUgY2Fs bGVkIGtvbWVkYS4KPiA+ICsKPiA+ICtjb25maWcgRFJNX0tPTUVEQV9FUlJPUl9QUklOVAo+ID4g KyAgICAgICBib29sICJFbmFibGUga29tZWRhIGVycm9yIHByaW50Igo+ID4gKyAgICAgICBkZXBl bmRzIG9uIERSTV9LT01FREEKPiA+ICsgICAgICAgaGVscAo+ID4gKyAgICAgICAgIENob29zZSB0 aGlzIG9wdGlvbiB0byBlbmFibGUgZXJyb3IgcHJpbnRpbmcuCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUKPiA+IGluZGV4IDVjMzkwMGMuLmYwOTVhMWMg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2Vm aWxlCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxl Cj4gPiBAQCAtMjIsNCArMjIsNiBAQCBrb21lZGEteSArPSBcCj4gPiAgICAgICAgIGQ3MS9kNzFf ZGV2Lm8gXAo+ID4gICAgICAgICBkNzEvZDcxX2NvbXBvbmVudC5vCj4gPgo+ID4gK2tvbWVkYS0k KENPTkZJR19EUk1fS09NRURBX0VSUk9SX1BSSU5UKSArPSBrb21lZGFfZXZlbnQubwo+ID4gKwo+ ID4gIG9iai0kKENPTkZJR19EUk1fS09NRURBKSArPSBrb21lZGEubwo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgKPiA+IGluZGV4IGQxYzg2 YjYuLmUyOGU3ZTYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2tvbWVkYV9kZXYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfZGV2LmgKPiA+IEBAIC00MCw2ICs0MCwxNyBAQAo+ID4gICNkZWZpbmUg S09NRURBX0VSUl9UVE5HICAgICAgICAgICAgICAgICAgICAgICAgQklUX1VMTCgzMCkKPiA+ICAj ZGVmaW5lIEtPTUVEQV9FUlJfVFRGICAgICAgICAgICAgICAgICBCSVRfVUxMKDMxKQo+ID4KPiA+ ICsjZGVmaW5lIEtPTUVEQV9FUlJfRVZFTlRTICAgICAgXAo+ID4gKyAgICAgICAoS09NRURBX0VW RU5UX1VSVU4gICAgICB8IEtPTUVEQV9FVkVOVF9JQlNZICAgICB8IEtPTUVEQV9FVkVOVF9PVlIg fFwKPiA+ICsgICAgICAgS09NRURBX0VSUl9URVRPICAgICAgICAgfCBLT01FREFfRVJSX1RFTVIg ICAgICAgfCBLT01FREFfRVJSX1RJVFIgfFwKPiA+ICsgICAgICAgS09NRURBX0VSUl9DUEUgICAg ICAgICAgfCBLT01FREFfRVJSX0NGR0UgICAgICAgfCBLT01FREFfRVJSX0FYSUUgfFwKPiA+ICsg ICAgICAgS09NRURBX0VSUl9BQ0UwICAgICAgICAgfCBLT01FREFfRVJSX0FDRTEgICAgICAgfCBL T01FREFfRVJSX0FDRTIgfFwKPiA+ICsgICAgICAgS09NRURBX0VSUl9BQ0UzICAgICAgICAgfCBL T01FREFfRVJSX0RSSUZUVE8gICAgfCBLT01FREFfRVJSX0ZSQU1FVE8gfFwKPiA+ICsgICAgICAg S09NRURBX0VSUl9aTUUgICAgICAgICAgfCBLT01FREFfRVJSX01FUlIgICAgICAgfCBLT01FREFf RVJSX1RDRiB8XAo+ID4gKyAgICAgICBLT01FREFfRVJSX1RUTkcgICAgICAgICB8IEtPTUVEQV9F UlJfVFRGKQo+ID4gKwo+ID4gKyNkZWZpbmUgS09NRURBX1dBUk5fRVZFTlRTICAgICBLT01FREFf RVJSX0NTQ0UKPiA+ICsKPiA+ICAvKiBtYWxpZHAgZGV2aWNlIGlkICovCj4gPiAgZW51bSB7Cj4g PiAgICAgICAgIE1BTElfRDcxID0gMCwKPiA+IEBAIC0yMDcsNCArMjE4LDggQEAgc3RydWN0IGtv bWVkYV9kZXYgewo+ID4KPiA+ICBzdHJ1Y3Qga29tZWRhX2RldiAqZGV2X3RvX21kZXYoc3RydWN0 IGRldmljZSAqZGV2KTsKPiA+Cj4gPiArI2lmZGVmIENPTkZJR19EUk1fS09NRURBX0VSUk9SX1BS SU5UCj4gPiArdm9pZCBrb21lZGFfcHJpbnRfZXZlbnRzKHN0cnVjdCBrb21lZGFfZXZlbnRzICpl dnRzKTsKPiA+ICsjZW5kaWYKPiA+ICsKPiA+ICAjZW5kaWYgLypfS09NRURBX0RFVl9IXyovCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf ZXZlbnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2V2ZW50 LmMKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwLi5hMzZmYjg2Cj4g PiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9ldmVudC5jCj4gPiBAQCAtMCwwICsxLDE0MCBAQAo+ID4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gPiArLyoKPiA+ICsgKiAoQykgQ09QWVJJR0hUIDIw MTkgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gPiArICogQXV0aG9yOiBKYW1l cy5RaWFuLldhbmcgPGphbWVzLnFpYW4ud2FuZ0Bhcm0uY29tPgo+ID4gKyAqCj4gPiArICovCj4g PiArI2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4KPiA+ICsKPiA+ICsjaW5jbHVkZSAia29tZWRh X2Rldi5oIgo+ID4gKwo+ID4gK3N0cnVjdCBrb21lZGFfc3RyIHsKPiA+ICsgICAgICAgY2hhciAq c3RyOwo+ID4gKyAgICAgICB1MzIgc3o7Cj4gPiArICAgICAgIHUzMiBsZW47Cj4gPiArfTsKPiA+ ICsKPiA+ICsvKiByZXR1cm4gMCBvbiBzdWNjZXNzLCAgPCAwIG9uIG5vIHNwYWNlLgo+ID4gKyAq Lwo+ID4gK3N0YXRpYyBpbnQga29tZWRhX3NwcmludGYoc3RydWN0IGtvbWVkYV9zdHIgKnN0ciwg Y29uc3QgY2hhciAqZm10LCAuLi4pCj4gPiArewo+ID4gKyAgICAgICB2YV9saXN0IGFyZ3M7Cj4g PiArICAgICAgIGludCBudW0sIGZyZWVfc3o7Cj4gPiArICAgICAgIGludCBlcnI7Cj4gPiArCj4g PiArICAgICAgIGZyZWVfc3ogPSBzdHItPnN6IC0gc3RyLT5sZW4gLSAxOwo+ID4gKyAgICAgICBp ZiAoZnJlZV9zeiA8PSAwKQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PU1BDOwo+ID4g Kwo+ID4gKyAgICAgICB2YV9zdGFydChhcmdzLCBmbXQpOwo+ID4gKwo+ID4gKyAgICAgICBudW0g PSB2c25wcmludGYoc3RyLT5zdHIgKyBzdHItPmxlbiwgZnJlZV9zeiwgZm10LCBhcmdzKTsKPiA+ ICsKPiA+ICsgICAgICAgdmFfZW5kKGFyZ3MpOwo+ID4gKwo+ID4gKyAgICAgICBpZiAobnVtIDwg ZnJlZV9zeikgewo+ID4gKyAgICAgICAgICAgICAgIHN0ci0+bGVuICs9IG51bTsKPiA+ICsgICAg ICAgICAgICAgICBlcnIgPSAwOwo+ID4gKyAgICAgICB9IGVsc2Ugewo+ID4gKyAgICAgICAgICAg ICAgIHN0ci0+bGVuID0gc3RyLT5zeiAtIDE7Cj4gPiArICAgICAgICAgICAgICAgZXJyID0gLUVO T1NQQzsKPiA+ICsgICAgICAgfQo+ID4gKwo+ID4gKyAgICAgICByZXR1cm4gZXJyOwo+ID4gK30K PiA+ICsKPiA+ICtzdGF0aWMgdm9pZCBldnRfc3ByaW50ZihzdHJ1Y3Qga29tZWRhX3N0ciAqc3Ry LCB1NjQgZXZ0LCBjb25zdCBjaGFyICptc2cpCj4gPiArewo+ID4gKyAgICAgICBpZiAoZXZ0KQo+ ID4gKyAgICAgICAgICAgICAgIGtvbWVkYV9zcHJpbnRmKHN0ciwgbXNnKTsKPiA+ICt9Cj4gPiAr Cj4gPiArc3RhdGljIHZvaWQgZXZ0X3N0cihzdHJ1Y3Qga29tZWRhX3N0ciAqc3RyLCB1NjQgZXZl bnRzKQo+ID4gK3sKPiA+ICsgICAgICAgaWYgKGV2ZW50cyA9PSAwVUxMKSB7Cj4gPiArICAgICAg ICAgICAgICAga29tZWRhX3NwcmludGYoc3RyLCAiTm9uZSIpOwo+ID4gKyAgICAgICAgICAgICAg IHJldHVybjsKPiA+ICsgICAgICAgfQo+ID4gKwo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIs IGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9WU1lOQywgIlZTWU5DfCIpOwo+ID4gKyAgICAgICBldnRf c3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9GTElQLCAiRkxJUHwiKTsKPiA+ICsg ICAgICAgZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFfRVZFTlRfRU9XLCAiRU9XfCIp Owo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9NT0RF LCAiT1AtTU9ERXwiKTsKPiA+ICsKPiA+ICsgICAgICAgZXZ0X3NwcmludGYoc3RyLCBldmVudHMg JiBLT01FREFfRVZFTlRfVVJVTiwgIlVOREVSUlVOfCIpOwo+ID4gKyAgICAgICBldnRfc3ByaW50 ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FVkVOVF9PVlIsICJPVkVSUlVOfCIpOwo+ID4gKwo+ID4g KyAgICAgICAvKiBHTEIgZXJyb3IgKi8KPiA+ICsgICAgICAgZXZ0X3NwcmludGYoc3RyLCBldmVu dHMgJiBLT01FREFfRVJSX01FUlIsICJNRVJSfCIpOwo+ID4gKyAgICAgICBldnRfc3ByaW50Zihz dHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfRlJBTUVUTywgIkZSQU1FVE98Iik7Cj4gPiArCj4gPiAr ICAgICAgIC8qIERPVSBlcnJvciAqLwo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50 cyAmIEtPTUVEQV9FUlJfRFJJRlRUTywgIkRSSUZUVE98Iik7Cj4gPiArICAgICAgIGV2dF9zcHJp bnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9GUkFNRVRPLCAiRlJBTUVUT3wiKTsKPiA+ICsg ICAgICAgZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFfRVJSX1RFVE8sICJURVRPfCIp Owo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfQ1NDRSwg IkNTQ0V8Iik7Cj4gPiArCj4gPiArICAgICAgIC8qIExQVSBlcnJvcnMgb3IgZXZlbnRzICovCj4g PiArICAgICAgIGV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VWRU5UX0lCU1ksICJJ QlNZfCIpOwo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJf QVhJRSwgIkFYSUV8Iik7Cj4gPiArICAgICAgIGV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09N RURBX0VSUl9BQ0UwLCAiQUNFMHwiKTsKPiA+ICsgICAgICAgZXZ0X3NwcmludGYoc3RyLCBldmVu dHMgJiBLT01FREFfRVJSX0FDRTEsICJBQ0UxfCIpOwo+ID4gKyAgICAgICBldnRfc3ByaW50Zihz dHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfQUNFMiwgIkFDRTJ8Iik7Cj4gPiArICAgICAgIGV2dF9z cHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9BQ0UzLCAiQUNFM3wiKTsKPiA+ICsKPiA+ ICsgICAgICAgLyogTFBVIFRCVSBlcnJvcnMqLwo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIs IGV2ZW50cyAmIEtPTUVEQV9FUlJfVENGLCAiVENGfCIpOwo+ID4gKyAgICAgICBldnRfc3ByaW50 ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfVFRORywgIlRUTkd8Iik7Cj4gPiArICAgICAgIGV2 dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9USVRSLCAiVElUUnwiKTsKPiA+ICsg ICAgICAgZXZ0X3NwcmludGYoc3RyLCBldmVudHMgJiBLT01FREFfRVJSX1RFTVIsICJURU1SfCIp Owo+ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfVFRGLCAi VFRGfCIpOwo+ID4gKwo+ID4gKyAgICAgICAvKiBDVSBlcnJvcnMqLwo+ID4gKyAgICAgICBldnRf c3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfQ1BFLCAiQ09QUk9DfCIpOwo+ID4gKyAg ICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfWk1FLCAiWk1FfCIpOwo+ ID4gKyAgICAgICBldnRfc3ByaW50ZihzdHIsIGV2ZW50cyAmIEtPTUVEQV9FUlJfQ0ZHRSwgIkNG R0V8Iik7Cj4gPiArICAgICAgIGV2dF9zcHJpbnRmKHN0ciwgZXZlbnRzICYgS09NRURBX0VSUl9U RU1SLCAiVEVNUnwiKTsKPiA+ICsKPiA+ICsgICAgICAgaWYgKHN0ci0+bGVuID4gMCAmJiAoc3Ry LT5zdHJbc3RyLT5sZW4gLSAxXSA9PSAnfCcpKSB7Cj4gPiArICAgICAgICAgICAgICAgc3RyLT5z dHJbc3RyLT5sZW4gLSAxXSA9IDA7Cj4gPiArICAgICAgICAgICAgICAgc3RyLT5sZW4tLTsKPiA+ ICsgICAgICAgfQo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgYm9vbCBpc19uZXdfZnJhbWUoc3Ry dWN0IGtvbWVkYV9ldmVudHMgKmEpCj4gPiArewo+ID4gKyAgICAgICByZXR1cm4gKGEtPnBpcGVz WzBdIHwgYS0+cGlwZXNbMV0pICYKPiA+ICsgICAgICAgICAgICAgIChLT01FREFfRVZFTlRfRkxJ UCB8IEtPTUVEQV9FVkVOVF9FT1cpOwo+ID4gK30KPiA+ICsKPiA+ICt2b2lkIGtvbWVkYV9wcmlu dF9ldmVudHMoc3RydWN0IGtvbWVkYV9ldmVudHMgKmV2dHMpCj4gPiArewo+ID4gKyAgICAgICB1 NjQgcHJpbnRfZXZ0cyA9IEtPTUVEQV9FUlJfRVZFTlRTOwo+ID4gKyAgICAgICBzdGF0aWMgYm9v bCBlbl9wcmludCA9IHRydWU7Cj4gPiArCj4gPiArICAgICAgIC8qIHJlZHVjZSB0aGUgc2FtZSBt c2cgcHJpbnQsIG9ubHkgcHJpbnQgdGhlIGZpcnN0IGV2dCBmb3Igb25lIGZyYW1lICovCj4gPiAr ICAgICAgIGlmIChldnRzLT5nbG9iYWwgfHwgaXNfbmV3X2ZyYW1lKGV2dHMpKQo+ID4gKyAgICAg ICAgICAgICAgIGVuX3ByaW50ID0gdHJ1ZTsKPiA+ICsgICAgICAgaWYgKCFlbl9wcmludCkKPiA+ ICsgICAgICAgICAgICAgICByZXR1cm47Cj4gPiArCj4gPiArICAgICAgIGlmICgoZXZ0cy0+Z2xv YmFsIHwgZXZ0cy0+cGlwZXNbMF0gfCBldnRzLT5waXBlc1sxXSkgJiBwcmludF9ldnRzKSB7Cj4g PiArICAgICAgICAgICAgICAgY2hhciBtc2dbMjU2XTsKPiA+ICsgICAgICAgICAgICAgICBzdHJ1 Y3Qga29tZWRhX3N0ciBzdHI7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgc3RyLnN0ciA9IG1z ZzsKPiA+ICsgICAgICAgICAgICAgICBzdHIuc3ogID0gc2l6ZW9mKG1zZyk7Cj4gPiArICAgICAg ICAgICAgICAgc3RyLmxlbiA9IDA7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAga29tZWRhX3Nw cmludGYoJnN0ciwgImdjdTogIik7Cj4gPiArICAgICAgICAgICAgICAgZXZ0X3N0cigmc3RyLCBl dnRzLT5nbG9iYWwpOwo+ID4gKyAgICAgICAgICAgICAgIGtvbWVkYV9zcHJpbnRmKCZzdHIsICIs IHBpcGVzWzBdOiAiKTsKPiA+ICsgICAgICAgICAgICAgICBldnRfc3RyKCZzdHIsIGV2dHMtPnBp cGVzWzBdKTsKPiA+ICsgICAgICAgICAgICAgICBrb21lZGFfc3ByaW50Zigmc3RyLCAiLCBwaXBl c1sxXTogIik7Cj4gPiArICAgICAgICAgICAgICAgZXZ0X3N0cigmc3RyLCBldnRzLT5waXBlc1sx XSk7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJlcnIgZGV0ZWN0OiAlc1xu IiwgbXNnKTsKPiA+ICsKPiA+ICsgICAgICAgICAgICAgICBlbl9wcmludCA9IGZhbHNlOwo+ID4g KyAgICAgICB9Cj4gPiArfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfa21zLmMKPiA+IGluZGV4IDQxOWE4YjAuLjBmYWZjMzYgMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMKPiA+ IEBAIC00Nyw2ICs0NywxMCBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qga29tZWRhX2ttc19pcnFfaGFu ZGxlcihpbnQgaXJxLCB2b2lkICpkYXRhKQo+ID4gICAgICAgICBtZW1zZXQoJmV2dHMsIDAsIHNp emVvZihldnRzKSk7Cj4gPiAgICAgICAgIHN0YXR1cyA9IG1kZXYtPmZ1bmNzLT5pcnFfaGFuZGxl cihtZGV2LCAmZXZ0cyk7Cj4gPgo+ID4gKyNpZmRlZiBDT05GSUdfRFJNX0tPTUVEQV9FUlJPUl9Q UklOVAo+ID4gKyAgICAgICBrb21lZGFfcHJpbnRfZXZlbnRzKCZldnRzKTsKPiA+ICsjZW5kaWYK PiAKPiAjaWZkZWYgaW4gY29kZSBpcyBkaXNjb3VyYWdlZCwgdGhlIHVzdWFsIHdheSB3ZSBoYW5k bGUgdGhlc2UgY2FzZXMgaXMKPiBieSBoYXZpbmcgYSBkdW1teSBzdGF0aWMgaW5saW5lIGZ1bmN0 aW9uIHdoaWNoIGRvZXMgbm90aGluZyBpbiB0aGUKPiBoZWFkZXJzIGZvciB0aGUgY2FzZSBhIGNv bmZpZyBvcHRpb24gaXNuJ3QgZW5hYmxlZC4KPiAtRGFuaWVsCgpIaSBEYW5pZWwmTWloYWlsOgoK SWYgc28sIHNpbmNlIHRoaXMgQ09ORklHIGlzIGFsd2F5cyBlbmFibGVkIGZvciBrb21lZGEsIEkn ZCBsaWtlIHRvCmRlbGV0ZSB0aGlzIENPTkZJRyBvcHRpb24gZGlyZWN0bHkuCgp0aGFua3MKamFt ZXMKCj4gPiArCj4gPiAgICAgICAgIC8qIE5vdGlmeSB0aGUgY3J0YyB0byBoYW5kbGUgdGhlIGV2 ZW50cyAqLwo+ID4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwga21zLT5uX2NydGNzOyBpKyspCj4g PiAgICAgICAgICAgICAgICAga29tZWRhX2NydGNfaGFuZGxlX2V2ZW50KCZrbXMtPmNydGNzW2ld LCAmZXZ0cyk7Cj4gPiAtLQo+ID4gMS45LjEKPiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4g ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiAKPiAKPiAKPiAtLSAKPiBEYW5p ZWwgVmV0dGVyCj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gKzQxICgw KSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=