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:24:40 +0300 Message-ID: <20161013182440.GQ4329@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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 801B26EB1E for ; Thu, 13 Oct 2016 18:24:44 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1476378989-11335-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMTMsIDIwMTYgYXQgMDE6MTY6MjlQTSAtMDQwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IFNvbWV0aW1lcyB3ZSBqdXN0IHdhbnQgdG8gc2VlIHRoZSBhdG9taWMgc3RhdGUsIHdpdGhv dXQgZ2V0dGluZyBzbyBtYW55Cj4gb3RoZXIgZGVidWcgdHJhY2VzLiAgU28gYWRkIGEgbmV3IGRy bS5kZWJ1ZyBiaXQgZm9yIHRoYXQuCj4gCj4gTm90ZTogaXQgd291bGQgYmUgbmljZSB0byBwdXQg dGhlIGhlbHBlcnMgZm9yIHByaW50aW5nIHBsYW5lL2NydGMgc3RhdGUKPiBuZXh0IHRvIHBsYW5l L2NydGMgc3RhdGUgc3RydWN0cy4uIHNvIHNvbWVvbmUgYWRkaW5nIG5ldyBzdHVmZiB0byB0aGUK PiBzdGF0ZSBzdHJ1Y3RzIGlzIG1vcmUgbGlrZWx5IHRvIHJlbWVtYmVyIHRvIHVwZGF0ZSB0aGUg Y29ycmVzcG9uZGluZwo+IHByaW50X3N0YXRlKCkgZnhuLiAgQnV0IHRoZSBoZWFkZXIgaW5jbHVk ZSBvcmRlciBmb3IgdGhhdCBkb2Vzbid0IHJlYWxseQo+IHdvcmsgb3V0Lgo+IAo+IEFsc28sIGp1 c3QgaW5jbHVkaW5nIHRoZSBjb3JyZXNwb25kaW5nIG1kcCBiaXRzIGFzIGFuIGV4YW1wbGUuICBE dW1wcwo+IG91dCBzb21ldGhpbmcgbGlrZToKPiAKPiBbZHJtXSBwbGFuZVsyNF06IFJHQjAKPiBb ZHJtXSAJY3J0Yz1jcnRjLTAKPiBbZHJtXSAJZmI9MzUKPiBbZHJtXSAJY3J0Yy1wb3M9WzAsMCwg NzIweDQwMF0KPiBbZHJtXSAJc3JjLXBvcz1bMCwwLCA3MjB4NDAwXQo+IFtkcm1dIAlyb3RhdGlv bj0wCj4gW2RybV0gCXByZW11bHRpcGxpZWQ9MAo+IFtkcm1dIAl6cG9zPTEKPiBbZHJtXSAJYWxw aGE9MjU1Cj4gW2RybV0gCXN0YWdlPVNUQUdFMAo+IFtkcm1dIAltb2RlX2NoYW5nZWQ9MQo+IFtk cm1dIAlwZW5kaW5nPTAKPiBbZHJtXSBjcnRjWzI3XTogY3J0Yy0wCj4gW2RybV0gCWVuYWJsZT0x Cj4gW2RybV0gCWFjdGl2ZT0wCj4gW2RybV0gCXBsYW5lc19jaGFuZ2VkPTEKPiBbZHJtXSAJbW9k ZV9jaGFuZ2VkPTEKPiBbZHJtXSAJYWN0aXZlX2NoYW5nZWQ9MAo+IFtkcm1dIAljb25uZWN0b3Jz X2NoYW5nZWQ9MQo+IFtkcm1dIAljb2xvcl9tZ210X2NoYW5nZWQ9MAo+IFtkcm1dIAlwbGFuZV9t YXNrPTEKPiBbZHJtXSAJY29ubmVjdG9yX21hc2s9MQo+IFtkcm1dIAllbmNvZGVyX21hc2s9MQo+ IFtkcm1dIAltb2RlOiAwOiIxOTIweDEwODAiIDYwIDE0ODUwMCAxOTIwIDIwMDggMjA1MiAyMjAw IDEwODAgMTA4NCAxMDg5IDExMjUgMHg0OCAweDUKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2NydGMuYyAgfCAgMyArKwo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfa21zLmggICB8IDI4ICsrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dw dS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYyB8ICA0ICsrLQo+ICBpbmNsdWRlL2RybS9k cm1QLmggICAgICAgICAgICAgICAgICAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVf Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYwo+IGluZGV4 IGU0MmY2MmQuLmRhODQxNzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNS9tZHA1X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9jcnRjLmMKPiBAQCAtNDM1LDYgKzQzNSw5IEBAIHN0YXRpYyB2b2lkIG1kcDVfY3J0Y19hdG9t aWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAKPiAgCURCRygiJXM6IGV2ZW50OiAl cCIsIG1kcDVfY3J0Yy0+bmFtZSwgY3J0Yy0+c3RhdGUtPmV2ZW50KTsKPiAgCj4gKwlEUk1fREVC VUdfU1RBVEUoImNydGNbJXVdOiAlc1xuIiwgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4g Kwlkcm1fcHJpbnRfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gKwo+ICAJV0FSTl9PTihtZHA1 X2NydGMtPmV2ZW50KTsKPiAgCj4gIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2Nr LCBmbGFncyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaAo+IGluZGV4 IGU0YjNmYjMuLjQ2NmFjYmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNS9tZHA1X2ttcy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2ttcy5oCj4gQEAgLTkyLDYgKzkyLDIyIEBAIHN0cnVjdCBtZHA1X3BsYW5lX3N0YXRlIHsKPiAg I2RlZmluZSB0b19tZHA1X3BsYW5lX3N0YXRlKHgpIFwKPiAgCQljb250YWluZXJfb2YoeCwgc3Ry dWN0IG1kcDVfcGxhbmVfc3RhdGUsIGJhc2UpCj4gIAo+ICtzdGF0aWMgaW5saW5lIGNvbnN0IGNo YXIgKnN0YWdlMm5hbWUoZW51bSBtZHBfbWl4ZXJfc3RhZ2VfaWQgc3RhZ2UpOwo+ICsKPiArc3Rh dGljIGlubGluZSB2b2lkCj4gK21kcDVfcHJpbnRfcGxhbmVfc3RhdGUoY29uc3Qgc3RydWN0IG1k cDVfcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSA9IHN0YXRlLT5iYXNlLnBsYW5lOwo+ICsJRFJNX0RFQlVHX1NUQVRFKCJwbGFuZVsldV06 ICVzXG4iLCBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOwo+ICsJZHJtX3ByaW50X3BsYW5l X3N0YXRlKCZzdGF0ZS0+YmFzZSk7Cj4gKwlEUk1fREVCVUdfU1RBVEUoIlx0cHJlbXVsdGlwbGll ZD0ldVxuIiwgc3RhdGUtPnByZW11bHRpcGxpZWQpOwo+ICsJRFJNX0RFQlVHX1NUQVRFKCJcdHpw b3M9JXVcbiIsIHN0YXRlLT56cG9zKTsKPiArCURSTV9ERUJVR19TVEFURSgiXHRhbHBoYT0ldVxu Iiwgc3RhdGUtPmFscGhhKTsKPiArCURSTV9ERUJVR19TVEFURSgiXHRzdGFnZT0lc1xuIiwgc3Rh Z2UybmFtZShzdGF0ZS0+c3RhZ2UpKTsKPiArCURSTV9ERUJVR19TVEFURSgiXHRtb2RlX2NoYW5n ZWQ9JXVcbiIsIHN0YXRlLT5tb2RlX2NoYW5nZWQpOwo+ICsJRFJNX0RFQlVHX1NUQVRFKCJcdHBl bmRpbmc9JXVcbiIsIHN0YXRlLT5wZW5kaW5nKTsKPiArfQo+ICsKPiAgZW51bSBtZHA1X2ludGZf bW9kZSB7Cj4gIAlNRFA1X0lOVEZfTU9ERV9OT05FID0gMCwKPiAgCj4gQEAgLTEyMCw2ICsxMzYs MTggQEAgc3RhdGljIGlubGluZSB1MzIgbWRwNV9yZWFkKHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9r bXMsIHUzMiByZWcpCj4gIAlyZXR1cm4gbXNtX3JlYWRsKG1kcDVfa21zLT5tbWlvICsgcmVnKTsK PiAgfQo+ICAKPiArc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzdGFnZTJuYW1lKGVudW0gbWRw X21peGVyX3N0YWdlX2lkIHN0YWdlKQo+ICt7Cj4gKwlzdGF0aWMgY29uc3QgY2hhciAqbmFtZXNb XSA9IHsKPiArI2RlZmluZSBOQU1FKG4pIFtuXSA9ICNuCj4gKwkJTkFNRShTVEFHRV9VTlVTRUQp LCBOQU1FKFNUQUdFX0JBU0UpLAo+ICsJCU5BTUUoU1RBR0UwKSwgTkFNRShTVEFHRTEpLCBOQU1F KFNUQUdFMiksCj4gKwkJTkFNRShTVEFHRTMpLCBOQU1FKFNUQUdFNCksIE5BTUUoU1RBR0U2KSwK PiArI3VuZGVmIE5BTUUKPiArCX07Cj4gKwlyZXR1cm4gbmFtZXNbc3RhZ2VdOwo+ICt9Cj4gKwo+ ICBzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnBpcGUybmFtZShlbnVtIG1kcDVfcGlwZSBwaXBl KQo+ICB7Cj4gIAlzdGF0aWMgY29uc3QgY2hhciAqbmFtZXNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwo+IGluZGV4IDQzMmMwOTguLmRmMzAxZGYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwo+IEBAIC0zNTYs NiArMzU2LDggQEAgc3RhdGljIHZvaWQgbWRwNV9wbGFuZV9hdG9taWNfdXBkYXRlKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAo+ICAKPiAgCURCRygiJXM6IHVwZGF0ZSIsIG1kcDVfcGxhbmUtPm5h bWUpOwo+ICAKPiArCW1kcDVfcHJpbnRfcGxhbmVfc3RhdGUodG9fbWRwNV9wbGFuZV9zdGF0ZShz dGF0ZSkpOwo+ICsKPiAgCWlmICghcGxhbmVfZW5hYmxlZChzdGF0ZSkpIHsKPiAgCQl0b19tZHA1 X3BsYW5lX3N0YXRlKHN0YXRlKS0+cGVuZGluZyA9IHRydWU7Cj4gIAl9IGVsc2UgaWYgKHRvX21k cDVfcGxhbmVfc3RhdGUoc3RhdGUpLT5tb2RlX2NoYW5nZWQpIHsKPiBAQCAtOTA0LDcgKzkwNiw3 IEBAIHN0cnVjdCBkcm1fcGxhbmUgKm1kcDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAJdHlwZSA9IHByaXZhdGVfcGxhbmUgPyBEUk1fUExBTkVfVFlQRV9QUklNQVJZIDog RFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKPiAgCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5p dChkZXYsIHBsYW5lLCAweGZmLCAmbWRwNV9wbGFuZV9mdW5jcywKPiAgCQkJCSBtZHA1X3BsYW5l LT5mb3JtYXRzLCBtZHA1X3BsYW5lLT5uZm9ybWF0cywKPiAtCQkJCSB0eXBlLCBOVUxMKTsKPiAr CQkJCSB0eXBlLCAiJXMiLCBtZHA1X3BsYW5lLT5uYW1lKTsKPiAgCWlmIChyZXQpCj4gIAkJZ290 byBmYWlsOwo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtUC5oIGIvaW5jbHVkZS9k cm0vZHJtUC5oCj4gaW5kZXggMjhkMzQxYS4uMGVlMGFhNCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2RybS9kcm1QLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKPiBAQCAtMTMzLDYgKzEzMyw3 IEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQ7Cj4gICNkZWZpbmUgRFJNX1VUX1BSSU1FCQkw eDA4Cj4gICNkZWZpbmUgRFJNX1VUX0FUT01JQwkJMHgxMAo+ICAjZGVmaW5lIERSTV9VVF9WQkwJ CTB4MjAKPiArI2RlZmluZSBEUk1fVVRfU1RBVEUJCTB4NDAKPiAgCj4gIGV4dGVybiBfX3ByaW50 ZigyLCAzKQo+ICB2b2lkIGRybV91dF9kZWJ1Z19wcmludGsoY29uc3QgY2hhciAqZnVuY3Rpb25f bmFtZSwKPiBAQCAtMTkzLDYgKzE5NCw4IEBAIHZvaWQgZHJtX2Vycihjb25zdCBjaGFyICpmb3Jt YXQsIC4uLik7Cj4gICNkZWZpbmUgRFJNX0lORk9fT05DRShmbXQsIC4uLikJCQkJXAo+ICAJcHJp bnRrX29uY2UoS0VSTl9JTkZPICJbIiBEUk1fTkFNRSAiXSAiIGZtdCwgIyNfX1ZBX0FSR1NfXykK PiAgCj4gK2V4dGVybiB1bnNpZ25lZCBpbnQgZHJtX2RlYnVnOwo+ICsKPiAgLyoqCj4gICAqIERl YnVnIG91dHB1dC4KPiAgICoKPiBAQCAtMjMwLDYgKzIzMyw0OSBAQCB2b2lkIGRybV9lcnIoY29u c3QgY2hhciAqZm9ybWF0LCAuLi4pOwo+ICAJCWlmICh1bmxpa2VseShkcm1fZGVidWcgJiBEUk1f VVRfVkJMKSkJCQlcCj4gIAkJCWRybV91dF9kZWJ1Z19wcmludGsoX19mdW5jX18sIGZtdCwgIyNh cmdzKTsJXAo+ICAJfSB3aGlsZSAoMCkKPiArI2RlZmluZSBEUk1fREVCVUdfU1RBVEUoZm10LCBh cmdzLi4uKQkJCQkJXAo+ICsJZG8gewkJCQkJCQkJXAo+ICsJCWlmICh1bmxpa2VseShkcm1fZGVi dWcgJiBEUk1fVVRfU1RBVEUpKQkJCVwKPiArCQkJRFJNX0lORk8oZm10LCAjI2FyZ3MpOwkJCQlc Cj4gKwl9IHdoaWxlICgwKQo+ICsKPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZAo+ICtkcm1fcHJp bnRfY3J0Y19zdGF0ZShjb25zdCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+ICt7Cj4g Kwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZzdGF0ZS0+bW9kZTsKPiAr Cj4gKwlEUk1fREVCVUdfU1RBVEUoIlx0ZW5hYmxlPSVkXG4iLCBzdGF0ZS0+ZW5hYmxlKTsKPiAr CURSTV9ERUJVR19TVEFURSgiXHRhY3RpdmU9JWRcbiIsIHN0YXRlLT5hY3RpdmUpOwo+ICsJRFJN X0RFQlVHX1NUQVRFKCJcdHBsYW5lc19jaGFuZ2VkPSVkXG4iLCBzdGF0ZS0+cGxhbmVzX2NoYW5n ZWQpOwo+ICsJRFJNX0RFQlVHX1NUQVRFKCJcdG1vZGVfY2hhbmdlZD0lZFxuIiwgc3RhdGUtPm1v ZGVfY2hhbmdlZCk7Cj4gKwlEUk1fREVCVUdfU1RBVEUoIlx0YWN0aXZlX2NoYW5nZWQ9JWRcbiIs IHN0YXRlLT5hY3RpdmVfY2hhbmdlZCk7Cj4gKwlEUk1fREVCVUdfU1RBVEUoIlx0Y29ubmVjdG9y c19jaGFuZ2VkPSVkXG4iLCBzdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkKTsKPiArCURSTV9ERUJV R19TVEFURSgiXHRjb2xvcl9tZ210X2NoYW5nZWQ9JWRcbiIsIHN0YXRlLT5jb2xvcl9tZ210X2No YW5nZWQpOwo+ICsJRFJNX0RFQlVHX1NUQVRFKCJcdHBsYW5lX21hc2s9JXhcbiIsIHN0YXRlLT5w bGFuZV9tYXNrKTsKPiArCURSTV9ERUJVR19TVEFURSgiXHRjb25uZWN0b3JfbWFzaz0leFxuIiwg c3RhdGUtPmNvbm5lY3Rvcl9tYXNrKTsKPiArCURSTV9ERUJVR19TVEFURSgiXHRlbmNvZGVyX21h c2s9JXhcbiIsIHN0YXRlLT5lbmNvZGVyX21hc2spOwo+ICsJRFJNX0RFQlVHX1NUQVRFKCJcdG1v ZGU6ICVkOlwiJXNcIiAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAweCV4IDB4JXhcbiIs Cj4gKwkJCW1vZGUtPmJhc2UuaWQsIG1vZGUtPm5hbWUsIG1vZGUtPnZyZWZyZXNoLCBtb2RlLT5j bG9jaywKPiArCQkJbW9kZS0+aGRpc3BsYXksIG1vZGUtPmhzeW5jX3N0YXJ0LAo+ICsJCQltb2Rl LT5oc3luY19lbmQsIG1vZGUtPmh0b3RhbCwKPiArCQkJbW9kZS0+dmRpc3BsYXksIG1vZGUtPnZz eW5jX3N0YXJ0LAo+ICsJCQltb2RlLT52c3luY19lbmQsIG1vZGUtPnZ0b3RhbCwgbW9kZS0+dHlw ZSwgbW9kZS0+ZmxhZ3MpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiArZHJtX3By aW50X3BsYW5lX3N0YXRlKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICt7 Cj4gKwlEUk1fREVCVUdfU1RBVEUoIlx0Y3J0Yz0lc1xuIiwgc3RhdGUtPmNydGMgPyBzdGF0ZS0+ Y3J0Yy0+bmFtZSA6ICIobnVsbCkiKTsKPiArCURSTV9ERUJVR19TVEFURSgiXHRmYj0lZFxuIiwg c3RhdGUtPmZiID8gc3RhdGUtPmZiLT5iYXNlLmlkIDogLTEpOwoKLTEgZG9lc24ndCBsb29rIGxp a2UgYSBsZWdpdCB0aGluZy4gMCB3b3VsZCBtZWFuICJub3QgdGhlcmUiIEkgdGhpbmsuCgpJIHdv bmRlciBpZiB3ZSB3YW50IHRvIGR1bXAgb3V0IG1vcmUgYWJvdXQgdGhlIGZiIGhlcmUgdG9vPyBz aXplK2ZtdApwZXJoYXBzPwoKPiArCURSTV9ERUJVR19TVEFURSgiXHRjcnRjLXBvcz1bJWQsJWQs ICV1eCV1XVxuIiwKPiArCQkJc3RhdGUtPmNydGNfeCwgc3RhdGUtPmNydGNfeSwKPiArCQkJc3Rh dGUtPmNydGNfdywgc3RhdGUtPmNydGNfaCk7Cj4gKwlEUk1fREVCVUdfU1RBVEUoIlx0c3JjLXBv cz1bJXUsJXUsICV1eCV1XVxuIiwKPiArCQkJc3RhdGUtPnNyY194ID4+IDE2LCAgc3RhdGUtPnNy Y195ID4+IDE2LAo+ICsJCQlzdGF0ZS0+c3JjX3cgPj4gMTYsICBzdGF0ZS0+c3JjX2ggPj4gMTYp OwoKVGhlc2Ugc2hvdWxkIGJlIHByaW50ZWQgd2l0aCB0aGUgZnJhY3Rpb25hbCBwYXJ0IGluY2x1 ZGVkLiBBbHNvIHlvdXIKIlsuLi5dIiB0aGluZyBkb2Vzbid0IG1hdGNoIHRoZSBmb3JtYXQgSSd2 ZSB0cmllZCB0byB1c2UgZWxzZXdoZXJlIGZvcgp0aGVzZSB0aGluZ3MuIE1heWJlIHlhbmsgdGhl IHN0dWZmIGZyb20gdGhlIGRybV9yZWN0X3ByaW50KCkgdGhpbmcKaW50byBhIGZldyBtYWNyb3Mg dGhhdCBjYW4gYmUgdXNlZCB0byBwcmludCB0aGVtIGVhc2lseSBhbnl3aGVyZS4KU29tZXRoaW5n IGxpa2UgCgojZGVmaW5lIEZNVF9GSVhFRF8xNl8xNiAiLi4uLiIKI2RlZmluZSBzb21ldGhpbmco eCkgLi4uCnByaW50aygiYmxhaCAiIEZNVF9GSVhFRF8xNl8xNiAiIGJsZWhcbiIsIHNvbWV0aGlu ZyhzdGF0ZS0+c3JjX3gpKTsKCm1heWJlPwoKTWF5YmUgd2Ugc2hvdWxkIGhhdmUgc29tZXRoaW5n IGxpa2UgdGhhdCBmb3IgcHJpbnRpbmcgb3V0IG1vZGVzIHRvbz8KSW4gY2FzZSB3ZSB3YW50IHRv IG1peCB1cCBtb2RlIGR1bXBzIHdpdGggb3RoZXIgb3V0cHV0IG9uIHRoZSBzYW1lCmxpbmUuCgo+ ICsJRFJNX0RFQlVHX1NUQVRFKCJcdHJvdGF0aW9uPSV4XG4iLCBzdGF0ZS0+cm90YXRpb24pOwoK U2hvdWxkIHdlIGR1bXAgb3V0IGFsbCB0aGUgZGVyaXZlZCBzdGF0ZSB0b28/IFRoZSBwcm9ibGVt IGlzIG9mIGNvdXJzZQp0aGF0IGl0IG1pZ2h0IG5vdCBiZSB1cCB0byBkYXRlIHlldCwgc28gd2hl biBleGFjdGx5IHlvdSBwcmludCBpdCB3b3VsZAphZmZlY3Qgd2hldGhlciB5b3Ugc3RhbGUgZGF0 YSBvciBub3QuIE1heWJlIGR1bXAgaXQgb25seSBiYXNlZCBvbiBzb21lCmJvb2wgZnVuY3Rpb24g YXJndW1lbnQ/Cgo+ICt9Cj4gIAo+ICAvKkB9Ki8KPiAgCj4gQEAgLTk4OCw3ICsxMDM0LDYgQEAg c3RhdGljIGlubGluZSB3YWl0X3F1ZXVlX2hlYWRfdCAqZHJtX2NydGNfdmJsYW5rX3dhaXRxdWV1 ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMKPiAgLyogZHJtX2Rydi5jICovCj4gIHZvaWQgZHJtX3B1 dF9kZXYoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgZHJtX3VucGx1Z19kZXYoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gLWV4dGVybiB1bnNpZ25lZCBpbnQgZHJtX2RlYnVnOwo+ ICAKPiAgCQkJCS8qIERlYnVnZnMgc3VwcG9ydCAqLwo+ICAjaWYgZGVmaW5lZChDT05GSUdfREVC VUdfRlMpCj4gLS0gCj4gMi43LjQKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=