From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC] drm: add atomic state printing Date: Thu, 13 Oct 2016 21:26:08 +0300 Message-ID: <20161013182608.GR4329@intel.com> References: <1476378989-11335-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 292766EB21 for ; Thu, 13 Oct 2016 18:26:12 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: dri-devel List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMTMsIDIwMTYgYXQgMDE6Mzg6MzBQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFRodSwgT2N0IDEzLCAyMDE2IGF0IDE6MTYgUE0sIFJvYiBDbGFyayA8cm9iZGNsYXJr QGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiBTb21ldGltZXMgd2UganVzdCB3YW50IHRvIHNlZSB0aGUg YXRvbWljIHN0YXRlLCB3aXRob3V0IGdldHRpbmcgc28gbWFueQo+ID4gb3RoZXIgZGVidWcgdHJh Y2VzLiAgU28gYWRkIGEgbmV3IGRybS5kZWJ1ZyBiaXQgZm9yIHRoYXQuCj4gPgo+ID4gTm90ZTog aXQgd291bGQgYmUgbmljZSB0byBwdXQgdGhlIGhlbHBlcnMgZm9yIHByaW50aW5nIHBsYW5lL2Ny dGMgc3RhdGUKPiA+IG5leHQgdG8gcGxhbmUvY3J0YyBzdGF0ZSBzdHJ1Y3RzLi4gc28gc29tZW9u ZSBhZGRpbmcgbmV3IHN0dWZmIHRvIHRoZQo+ID4gc3RhdGUgc3RydWN0cyBpcyBtb3JlIGxpa2Vs eSB0byByZW1lbWJlciB0byB1cGRhdGUgdGhlIGNvcnJlc3BvbmRpbmcKPiA+IHByaW50X3N0YXRl KCkgZnhuLiAgQnV0IHRoZSBoZWFkZXIgaW5jbHVkZSBvcmRlciBmb3IgdGhhdCBkb2Vzbid0IHJl YWxseQo+ID4gd29yayBvdXQuCj4gPgo+ID4gQWxzbywganVzdCBpbmNsdWRpbmcgdGhlIGNvcnJl c3BvbmRpbmcgbWRwIGJpdHMgYXMgYW4gZXhhbXBsZS4gIER1bXBzCj4gPiBvdXQgc29tZXRoaW5n IGxpa2U6Cj4gPgo+ID4gW2RybV0gcGxhbmVbMjRdOiBSR0IwCj4gPiBbZHJtXSAgIGNydGM9Y3J0 Yy0wCj4gPiBbZHJtXSAgIGZiPTM1Cj4gPiBbZHJtXSAgIGNydGMtcG9zPVswLDAsIDcyMHg0MDBd Cj4gPiBbZHJtXSAgIHNyYy1wb3M9WzAsMCwgNzIweDQwMF0KPiA+IFtkcm1dICAgcm90YXRpb249 MAo+ID4gW2RybV0gICBwcmVtdWx0aXBsaWVkPTAKPiA+IFtkcm1dICAgenBvcz0xCj4gPiBbZHJt XSAgIGFscGhhPTI1NQo+ID4gW2RybV0gICBzdGFnZT1TVEFHRTAKPiA+IFtkcm1dICAgbW9kZV9j aGFuZ2VkPTEKPiA+IFtkcm1dICAgcGVuZGluZz0wCj4gPiBbZHJtXSBjcnRjWzI3XTogY3J0Yy0w Cj4gPiBbZHJtXSAgIGVuYWJsZT0xCj4gPiBbZHJtXSAgIGFjdGl2ZT0wCj4gPiBbZHJtXSAgIHBs YW5lc19jaGFuZ2VkPTEKPiA+IFtkcm1dICAgbW9kZV9jaGFuZ2VkPTEKPiA+IFtkcm1dICAgYWN0 aXZlX2NoYW5nZWQ9MAo+ID4gW2RybV0gICBjb25uZWN0b3JzX2NoYW5nZWQ9MQo+ID4gW2RybV0g ICBjb2xvcl9tZ210X2NoYW5nZWQ9MAo+ID4gW2RybV0gICBwbGFuZV9tYXNrPTEKPiA+IFtkcm1d ICAgY29ubmVjdG9yX21hc2s9MQo+ID4gW2RybV0gICBlbmNvZGVyX21hc2s9MQo+ID4gW2RybV0g ICBtb2RlOiAwOiIxOTIweDEwODAiIDYwIDE0ODUwMCAxOTIwIDIwMDggMjA1MiAyMjAwIDEwODAg MTA4NCAxMDg5IDExMjUgMHg0OCAweDUKPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDUvbWRwNV9jcnRjLmMgIHwgIDMgKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfa21zLmggICB8IDI4ICsrKysrKysrKysrKysrKysrKwo+ID4gIGRyaXZlcnMv Z3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jIHwgIDQgKystCj4gPiAgaW5jbHVkZS9k cm0vZHJtUC5oICAgICAgICAgICAgICAgICAgICAgICAgfCA0NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKystCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMu Ywo+ID4gaW5kZXggZTQyZjYyZC4uZGE4NDE3OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9jcnRjLmMKPiA+IEBAIC00MzUsNiArNDM1LDkgQEAgc3RhdGljIHZv aWQgbWRwNV9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPgo+ID4g ICAgICAgICBEQkcoIiVzOiBldmVudDogJXAiLCBtZHA1X2NydGMtPm5hbWUsIGNydGMtPnN0YXRl LT5ldmVudCk7Cj4gPgo+ID4gKyAgICAgICBEUk1fREVCVUdfU1RBVEUoImNydGNbJXVdOiAlc1xu IiwgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gPiArICAgICAgIGRybV9wcmludF9jcnRj X3N0YXRlKGNydGMtPnN0YXRlKTsKPiA+ICsKPiA+ICAgICAgICAgV0FSTl9PTihtZHA1X2NydGMt PmV2ZW50KTsKPiA+Cj4gPiAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xv Y2ssIGZsYWdzKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmgKPiA+ IGluZGV4IGU0YjNmYjMuLjQ2NmFjYmMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL21kcC9tZHA1L21kcDVfa21zLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9rbXMuaAo+ID4gQEAgLTkyLDYgKzkyLDIyIEBAIHN0cnVjdCBtZHA1X3BsYW5l X3N0YXRlIHsKPiA+ICAjZGVmaW5lIHRvX21kcDVfcGxhbmVfc3RhdGUoeCkgXAo+ID4gICAgICAg ICAgICAgICAgIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgbWRwNV9wbGFuZV9zdGF0ZSwgYmFzZSkK PiA+Cj4gPiArc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzdGFnZTJuYW1lKGVudW0gbWRwX21p eGVyX3N0YWdlX2lkIHN0YWdlKTsKPiA+ICsKPiA+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiA+ICtt ZHA1X3ByaW50X3BsYW5lX3N0YXRlKGNvbnN0IHN0cnVjdCBtZHA1X3BsYW5lX3N0YXRlICpzdGF0 ZSkKPiA+ICt7Cj4gPiArICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gc3Rh dGUtPmJhc2UucGxhbmU7Cj4gPiArICAgICAgIERSTV9ERUJVR19TVEFURSgicGxhbmVbJXVdOiAl c1xuIiwgcGxhbmUtPmJhc2UuaWQsIHBsYW5lLT5uYW1lKTsKPiA+ICsgICAgICAgZHJtX3ByaW50 X3BsYW5lX3N0YXRlKCZzdGF0ZS0+YmFzZSk7Cj4gPiArICAgICAgIERSTV9ERUJVR19TVEFURSgi XHRwcmVtdWx0aXBsaWVkPSV1XG4iLCBzdGF0ZS0+cHJlbXVsdGlwbGllZCk7Cj4gPiArICAgICAg IERSTV9ERUJVR19TVEFURSgiXHR6cG9zPSV1XG4iLCBzdGF0ZS0+enBvcyk7Cj4gPiArICAgICAg IERSTV9ERUJVR19TVEFURSgiXHRhbHBoYT0ldVxuIiwgc3RhdGUtPmFscGhhKTsKPiA+ICsgICAg ICAgRFJNX0RFQlVHX1NUQVRFKCJcdHN0YWdlPSVzXG4iLCBzdGFnZTJuYW1lKHN0YXRlLT5zdGFn ZSkpOwo+ID4gKyAgICAgICBEUk1fREVCVUdfU1RBVEUoIlx0bW9kZV9jaGFuZ2VkPSV1XG4iLCBz dGF0ZS0+bW9kZV9jaGFuZ2VkKTsKPiA+ICsgICAgICAgRFJNX0RFQlVHX1NUQVRFKCJcdHBlbmRp bmc9JXVcbiIsIHN0YXRlLT5wZW5kaW5nKTsKPiA+ICt9Cj4gPiArCj4gPiAgZW51bSBtZHA1X2lu dGZfbW9kZSB7Cj4gPiAgICAgICAgIE1EUDVfSU5URl9NT0RFX05PTkUgPSAwLAo+ID4KPiA+IEBA IC0xMjAsNiArMTM2LDE4IEBAIHN0YXRpYyBpbmxpbmUgdTMyIG1kcDVfcmVhZChzdHJ1Y3QgbWRw NV9rbXMgKm1kcDVfa21zLCB1MzIgcmVnKQo+ID4gICAgICAgICByZXR1cm4gbXNtX3JlYWRsKG1k cDVfa21zLT5tbWlvICsgcmVnKTsKPiA+ICB9Cj4gPgo+ID4gK3N0YXRpYyBpbmxpbmUgY29uc3Qg Y2hhciAqc3RhZ2UybmFtZShlbnVtIG1kcF9taXhlcl9zdGFnZV9pZCBzdGFnZSkKPiA+ICt7Cj4g PiArICAgICAgIHN0YXRpYyBjb25zdCBjaGFyICpuYW1lc1tdID0gewo+ID4gKyNkZWZpbmUgTkFN RShuKSBbbl0gPSAjbgo+ID4gKyAgICAgICAgICAgICAgIE5BTUUoU1RBR0VfVU5VU0VEKSwgTkFN RShTVEFHRV9CQVNFKSwKPiA+ICsgICAgICAgICAgICAgICBOQU1FKFNUQUdFMCksIE5BTUUoU1RB R0UxKSwgTkFNRShTVEFHRTIpLAo+ID4gKyAgICAgICAgICAgICAgIE5BTUUoU1RBR0UzKSwgTkFN RShTVEFHRTQpLCBOQU1FKFNUQUdFNiksCj4gPiArI3VuZGVmIE5BTUUKPiA+ICsgICAgICAgfTsK PiA+ICsgICAgICAgcmV0dXJuIG5hbWVzW3N0YWdlXTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGlj IGlubGluZSBjb25zdCBjaGFyICpwaXBlMm5hbWUoZW51bSBtZHA1X3BpcGUgcGlwZSkKPiA+ICB7 Cj4gPiAgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyICpuYW1lc1tdID0gewo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKPiA+IGluZGV4IDQzMmMwOTguLmRmMzAx ZGYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxh bmUuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMK PiA+IEBAIC0zNTYsNiArMzU2LDggQEAgc3RhdGljIHZvaWQgbWRwNV9wbGFuZV9hdG9taWNfdXBk YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4KPiA+ICAgICAgICAgREJHKCIlczogdXBk YXRlIiwgbWRwNV9wbGFuZS0+bmFtZSk7Cj4gPgo+ID4gKyAgICAgICBtZHA1X3ByaW50X3BsYW5l X3N0YXRlKHRvX21kcDVfcGxhbmVfc3RhdGUoc3RhdGUpKTsKPiA+ICsKPiAKPiBJIGZlZWwgbGlr ZSBpZiB3ZSBhZGQgdGhpcywgd2Ugc2hvdWxkIGNyZWF0ZSBhIGhlbHBlcgo+IGRybV9hdG9taWNf aGVscGVyX3ByaW50X3N0YXRlKCkgKG9yIHcvZSkgdG8gZHVtcCBhbGwgb2YgdGhlIHN0YXRlIGF0 Cj4gb25jZSAob24gZmx1c2gpLCBpbnN0ZWFkIG9mIHNwcmlua2xpbmcgY2FsbHMgdGhyb3VnaG91 dCB0aGUgZHJpdmVyLiBTbwo+IEkgZ3Vlc3MgdGhhdCB3b3VsZCByZXF1aXJlIHRoZSBuZXcgaGVs cGVyIGNhbGwgKyBvcHRpb25hbCBoZWxwZXJfZnVuY3MKPiBmb3IgZHJpdmVyLXNwZWNpZmljIGNy dGMvcGxhbmUgZmllbGRzLgo+IAo+IFBlcmhhcHMgdGhhdCdzIHRvbyBpbnZvbHZlZCwgYnV0IElN TyBpdCBzZWVtcyBsaWtlIHNvbWV0aGluZyB0aGF0J2QgYmUKPiBlYXNpZXIgdG8gZ2FpbiB0cmFj dGlvbiBhY3Jvc3MgZHJpdmVycy4KCldlbGwgcGVvcGxlIG1pZ2h0IHdhbnQgdG8gcHJpbnQgaXQg b3V0IGZyb20gdmFyaW91cyBwbGFjZXMgZHVyaW5nCmRlYnVnZ2luZywgc28gZXhwb3NpbmcgdGhl IGZ1bmN0aW9uIGF0IGxlYXN0IHdvdWxkIGJlIGEgZ29vZCBoZWxwIHNvCnRoYXQgcGVvcGxlIGRv bid0IGhhdmUgdG8gcmVpbnZlbnQgdGhlIHNhbWUgdGhpbmcgZXZlcnkgdGltZS4KCj4gCj4gU2Vh bgo+IAo+IAo+ID4gICAgICAgICBpZiAoIXBsYW5lX2VuYWJsZWQoc3RhdGUpKSB7Cj4gPiAgICAg ICAgICAgICAgICAgdG9fbWRwNV9wbGFuZV9zdGF0ZShzdGF0ZSktPnBlbmRpbmcgPSB0cnVlOwo+ ID4gICAgICAgICB9IGVsc2UgaWYgKHRvX21kcDVfcGxhbmVfc3RhdGUoc3RhdGUpLT5tb2RlX2No YW5nZWQpIHsKPiA+IEBAIC05MDQsNyArOTA2LDcgQEAgc3RydWN0IGRybV9wbGFuZSAqbWRwNV9w bGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgICAgICAgIHR5cGUgPSBwcml2 YXRlX3BsYW5lID8gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSA6IERSTV9QTEFORV9UWVBFX09WRVJM QVk7Cj4gPiAgICAgICAgIHJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5l LCAweGZmLCAmbWRwNV9wbGFuZV9mdW5jcywKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1kcDVfcGxhbmUtPmZvcm1hdHMsIG1kcDVfcGxhbmUtPm5mb3JtYXRzLAo+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSwgTlVMTCk7Cj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eXBlLCAiJXMiLCBtZHA1X3BsYW5lLT5uYW1lKTsKPiA+ ICAgICAgICAgaWYgKHJldCkKPiA+ICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Cj4gPgo+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaAo+ID4g aW5kZXggMjhkMzQxYS4uMGVlMGFhNCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybVAu aAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtUC5oCj4gPiBAQCAtMTMzLDYgKzEzMyw3IEBAIHN0 cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQ7Cj4gPiAgI2RlZmluZSBEUk1fVVRfUFJJTUUgICAgICAg ICAgIDB4MDgKPiA+ICAjZGVmaW5lIERSTV9VVF9BVE9NSUMgICAgICAgICAgMHgxMAo+ID4gICNk ZWZpbmUgRFJNX1VUX1ZCTCAgICAgICAgICAgICAweDIwCj4gPiArI2RlZmluZSBEUk1fVVRfU1RB VEUgICAgICAgICAgIDB4NDAKPiA+Cj4gPiAgZXh0ZXJuIF9fcHJpbnRmKDIsIDMpCj4gPiAgdm9p ZCBkcm1fdXRfZGVidWdfcHJpbnRrKGNvbnN0IGNoYXIgKmZ1bmN0aW9uX25hbWUsCj4gPiBAQCAt MTkzLDYgKzE5NCw4IEBAIHZvaWQgZHJtX2Vycihjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cj4g PiAgI2RlZmluZSBEUk1fSU5GT19PTkNFKGZtdCwgLi4uKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAo+ID4gICAgICAgICBwcmludGtfb25jZShLRVJOX0lORk8gIlsiIERSTV9OQU1F ICJdICIgZm10LCAjI19fVkFfQVJHU19fKQo+ID4KPiA+ICtleHRlcm4gdW5zaWduZWQgaW50IGRy bV9kZWJ1ZzsKPiA+ICsKPiA+ICAvKioKPiA+ICAgKiBEZWJ1ZyBvdXRwdXQuCj4gPiAgICoKPiA+ IEBAIC0yMzAsNiArMjMzLDQ5IEBAIHZvaWQgZHJtX2Vycihjb25zdCBjaGFyICpmb3JtYXQsIC4u Lik7Cj4gPiAgICAgICAgICAgICAgICAgaWYgKHVubGlrZWx5KGRybV9kZWJ1ZyAmIERSTV9VVF9W QkwpKSAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBkcm1f dXRfZGVidWdfcHJpbnRrKF9fZnVuY19fLCBmbXQsICMjYXJncyk7ICAgICBcCj4gPiAgICAgICAg IH0gd2hpbGUgKDApCj4gPiArI2RlZmluZSBEUk1fREVCVUdfU1RBVEUoZm10LCBhcmdzLi4uKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgIGRvIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g PiArICAgICAgICAgICAgICAgaWYgKHVubGlrZWx5KGRybV9kZWJ1ZyAmIERSTV9VVF9TVEFURSkp ICAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBEUk1fSU5GTyhm bXQsICMjYXJncyk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgIH0gd2hp bGUgKDApCj4gPiArCj4gPiArCj4gPiArc3RhdGljIGlubGluZSB2b2lkCj4gPiArZHJtX3ByaW50 X2NydGNfc3RhdGUoY29uc3Qgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiA+ICt7Cj4g PiArICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJnN0YXRlLT5t b2RlOwo+ID4gKwo+ID4gKyAgICAgICBEUk1fREVCVUdfU1RBVEUoIlx0ZW5hYmxlPSVkXG4iLCBz dGF0ZS0+ZW5hYmxlKTsKPiA+ICsgICAgICAgRFJNX0RFQlVHX1NUQVRFKCJcdGFjdGl2ZT0lZFxu Iiwgc3RhdGUtPmFjdGl2ZSk7Cj4gPiArICAgICAgIERSTV9ERUJVR19TVEFURSgiXHRwbGFuZXNf Y2hhbmdlZD0lZFxuIiwgc3RhdGUtPnBsYW5lc19jaGFuZ2VkKTsKPiA+ICsgICAgICAgRFJNX0RF QlVHX1NUQVRFKCJcdG1vZGVfY2hhbmdlZD0lZFxuIiwgc3RhdGUtPm1vZGVfY2hhbmdlZCk7Cj4g PiArICAgICAgIERSTV9ERUJVR19TVEFURSgiXHRhY3RpdmVfY2hhbmdlZD0lZFxuIiwgc3RhdGUt PmFjdGl2ZV9jaGFuZ2VkKTsKPiA+ICsgICAgICAgRFJNX0RFQlVHX1NUQVRFKCJcdGNvbm5lY3Rv cnNfY2hhbmdlZD0lZFxuIiwgc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCk7Cj4gPiArICAgICAg IERSTV9ERUJVR19TVEFURSgiXHRjb2xvcl9tZ210X2NoYW5nZWQ9JWRcbiIsIHN0YXRlLT5jb2xv cl9tZ210X2NoYW5nZWQpOwo+ID4gKyAgICAgICBEUk1fREVCVUdfU1RBVEUoIlx0cGxhbmVfbWFz az0leFxuIiwgc3RhdGUtPnBsYW5lX21hc2spOwo+ID4gKyAgICAgICBEUk1fREVCVUdfU1RBVEUo Ilx0Y29ubmVjdG9yX21hc2s9JXhcbiIsIHN0YXRlLT5jb25uZWN0b3JfbWFzayk7Cj4gPiArICAg ICAgIERSTV9ERUJVR19TVEFURSgiXHRlbmNvZGVyX21hc2s9JXhcbiIsIHN0YXRlLT5lbmNvZGVy X21hc2spOwo+ID4gKyAgICAgICBEUk1fREVCVUdfU1RBVEUoIlx0bW9kZTogJWQ6XCIlc1wiICVk ICVkICVkICVkICVkICVkICVkICVkICVkICVkIDB4JXggMHgleFxuIiwKPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIG1vZGUtPmJhc2UuaWQsIG1vZGUtPm5hbWUsIG1vZGUtPnZyZWZyZXNoLCBt b2RlLT5jbG9jaywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIG1vZGUtPmhkaXNwbGF5LCBt b2RlLT5oc3luY19zdGFydCwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIG1vZGUtPmhzeW5j X2VuZCwgbW9kZS0+aHRvdGFsLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbW9kZS0+dmRp c3BsYXksIG1vZGUtPnZzeW5jX3N0YXJ0LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbW9k ZS0+dnN5bmNfZW5kLCBtb2RlLT52dG90YWwsIG1vZGUtPnR5cGUsIG1vZGUtPmZsYWdzKTsKPiA+ ICt9Cj4gPiArCj4gPiArc3RhdGljIGlubGluZSB2b2lkCj4gPiArZHJtX3ByaW50X3BsYW5lX3N0 YXRlKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4gK3sKPiA+ICsgICAg ICAgRFJNX0RFQlVHX1NUQVRFKCJcdGNydGM9JXNcbiIsIHN0YXRlLT5jcnRjID8gc3RhdGUtPmNy dGMtPm5hbWUgOiAiKG51bGwpIik7Cj4gPiArICAgICAgIERSTV9ERUJVR19TVEFURSgiXHRmYj0l ZFxuIiwgc3RhdGUtPmZiID8gc3RhdGUtPmZiLT5iYXNlLmlkIDogLTEpOwo+ID4gKyAgICAgICBE Uk1fREVCVUdfU1RBVEUoIlx0Y3J0Yy1wb3M9WyVkLCVkLCAldXgldV1cbiIsCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICBzdGF0ZS0+Y3J0Y194LCBzdGF0ZS0+Y3J0Y195LAo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgc3RhdGUtPmNydGNfdywgc3RhdGUtPmNydGNfaCk7Cj4gPiArICAg ICAgIERSTV9ERUJVR19TVEFURSgiXHRzcmMtcG9zPVsldSwldSwgJXV4JXVdXG4iLAo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPnNyY194ID4+IDE2LCAgc3RhdGUtPnNyY195ID4+ IDE2LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPnNyY193ID4+IDE2LCAgc3Rh dGUtPnNyY19oID4+IDE2KTsKPiA+ICsgICAgICAgRFJNX0RFQlVHX1NUQVRFKCJcdHJvdGF0aW9u PSV4XG4iLCBzdGF0ZS0+cm90YXRpb24pOwo+ID4gK30KPiA+Cj4gPiAgLypAfSovCj4gPgo+ID4g QEAgLTk4OCw3ICsxMDM0LDYgQEAgc3RhdGljIGlubGluZSB3YWl0X3F1ZXVlX2hlYWRfdCAqZHJt X2NydGNfdmJsYW5rX3dhaXRxdWV1ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMKPiA+ICAvKiBkcm1f ZHJ2LmMgKi8KPiA+ICB2b2lkIGRybV9wdXRfZGV2KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ ID4gIHZvaWQgZHJtX3VucGx1Z19kZXYoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAtZXh0 ZXJuIHVuc2lnbmVkIGludCBkcm1fZGVidWc7Cj4gPgo+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvKiBEZWJ1Z2ZzIHN1cHBvcnQgKi8KPiA+ICAjaWYgZGVmaW5lZChDT05GSUdf REVCVUdfRlMpCj4gPiAtLQo+ID4gMi43LjQKPiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4g ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50 ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=