From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Add extra plane information in debugfs. Date: Mon, 26 Oct 2015 17:40:00 +0200 Message-ID: <20151026154000.GJ26517@intel.com> References: <1445610265-27189-1-git-send-email-robert.fekete@linux.intel.com> <562DE2FB.7020709@linux.intel.com> <1445871393.26346.74.camel@robertfe-linux> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 4D1A36E95E for ; Mon, 26 Oct 2015 08:40:34 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1445871393.26346.74.camel@robertfe-linux> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Robert Fekete Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBPY3QgMjYsIDIwMTUgYXQgMDM6NTY6MzNQTSArMDEwMCwgUm9iZXJ0IEZla2V0ZSB3 cm90ZToKPiBIaSwgdGhhbmtzIGZvciByZXZpZXdpbmcgTWFhcnRlbi4KPiBTZWUgY29tbWVudHMg aW5saW5lLi4uCj4gCj4gT24gbcOlbiwgMjAxNS0xMC0yNiBhdCAwOToyMyArMDEwMCwgTWFhcnRl biBMYW5raG9yc3Qgd3JvdGU6Cj4gPiBPcCAyMy0xMC0xNSBvbSAxNjoyNCBzY2hyZWVmIFJvYmVy dCBGZWtldGU6Cj4gPiA+IEV4dGVuZHMgaTkxNV9kaXNwbGF5X2luZm8gc28gdGhhdCBmb3IgZWFj aCBhY3RpdmUgY3J0YyBhbHNvIHByaW50Cj4gPiA+IGFsbCBwbGFuZXMgYXNzb2NpYXRlZCB3aXRo IHRoZSBwaXBlLiBUaGlzIHBhdGNoIHNob3dzIGluZm9ybWF0aW9uCj4gPiA+IGFib3V0IGVhY2gg cGxhbmUgd3J0IGZvcm1hdCwgc2l6ZSwgcG9zaXRpb24sIHJvdGF0aW9uLCBhbmQgc2NhbGluZy4K PiA+ID4gVGhpcyBpcyB2ZXJ5IHVzZWZ1bCB3aGVuIGRlYnVnZ2luZyB1c2VyIHNwYWNlIGNvbXBv c2l0b3JzIHRoYXQgdHJ5Cj4gPiA+IHRvIHV0aWxpemUgc2V2ZXJhbCBwbGFuZXMgZm9yIGEgY29t bWl0Lgo+ID4gPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgRmVrZXRlIDxyb2JlcnQuZmVr ZXRlQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyB8IDEyNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMjIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+ID4gaW5kZXgg ZWNhOTRkMGU0ZDk5Li42MjM0ZjcyOTNkYzYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCj4gPiA+IEBAIC0yOTUwLDYgKzI5NTAsMTIyIEBAIHN0YXRpYyBib29s IGN1cnNvcl9wb3NpdGlvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSwgaW50ICp4 LCBpbnQgKnkpCj4gPiA+ICAJcmV0dXJuIGN1cnNvcl9hY3RpdmUoZGV2LCBwaXBlKTsKPiA+ID4g IH0KPiA+ID4gIAo+ID4gPiArc3RhdGljIGNvbnN0IGNoYXIgKnBsYW5lX3R5cGUoZW51bSBkcm1f cGxhbmVfdHlwZSB0eXBlKQo+ID4gPiArewo+ID4gPiArCXN3aXRjaCAodHlwZSkgewo+ID4gPiAr CWNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToKPiA+ID4gKwkJcmV0dXJuICJPVkwiOwo+ID4g PiArCWNhc2UgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKPiA+ID4gKwkJcmV0dXJuICJQUkkiOwo+ ID4gPiArCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VSU09SOgo+ID4gPiArCQlyZXR1cm4gIkNVUiI7 Cj4gPiA+ICsJZGVmYXVsdDoKPiA+ID4gKwkJTUlTU0lOR19DQVNFKHR5cGUpOwo+ID4gPiArCQly ZXR1cm4gInVua25vd24iOwo+ID4gSWYgeW91IHJlbW92ZSB0aGUgZGVmYXVsdCBjYXNlIHlvdSds bCBnZXQgYSBjb21waWxlciB3YXJuaW5nIHdoZW4gYSBuZXcgcGxhbmUgdHlwZSBpcyBhZGRlZC4K PiBJIHNlZSwgc21hcnQgd2F5IGZvciBhbnlvbmUgbW9kaWZ5aW5nIHRoZSBkcm1fcGxhbmVfdHlw ZSBlbnVtIHRvIHNlZQo+IHdob20gaXQgbWF5IGFmZmVjdC4gSSdsbCBkbyB0aGF0IGFkZGluZyBh IGNvbW1lbnQgd2h5IEkgb21pdCB0aGUKPiBkZWZhdWx0OiBjYXNlCj4gPiA+ICsJfQo+ID4gPiAr fQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqcGxhbmVfZm9ybWF0KHVpbnQzMl90 IGZvcm1hdCkKPiA+ID4gK3sKPiA+ID4gKwlzdGF0aWMgY2hhciBwaXhlbF9mb3JtYXRfc3RyaW5n WzVdOwo+ID4gPiArCj4gPiA+ICsJLyogZm91cmNjIHN0cmluZyBlbmNvZGluZyB0byBzdHJpbmcg Ki8KPiA+ID4gKwlwaXhlbF9mb3JtYXRfc3RyaW5nWzBdID0gZm9ybWF0ICYgMHhmZjsKPiA+ID4g KwlwaXhlbF9mb3JtYXRfc3RyaW5nWzFdID0gKGZvcm1hdCA+PiA4KSAmIDB4ZmY7Cj4gPiA+ICsJ cGl4ZWxfZm9ybWF0X3N0cmluZ1syXSA9IChmb3JtYXQgPj4gMTYpICYgMHhmZjsKPiA+ID4gKwlw aXhlbF9mb3JtYXRfc3RyaW5nWzNdID0gKGZvcm1hdCA+PiAyNCkgJiAweGZmOwo+ID4gPiArCXBp eGVsX2Zvcm1hdF9zdHJpbmdbNF0gPSAnXDAnOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIHBpeGVs X2Zvcm1hdF9zdHJpbmc7Cj4gPiA+ICt9Cj4gPiBTdXJlbHkgZHJtIGNvcmUgd291bGQgaGF2ZSBh IGZ1bmN0aW9uIGZvciBzb21ldGhpbmcgbGlrZSB0aGlzPwo+ID4gCj4gPiBBIGxpdHRsZSBncmVw cGluZyByZXZlYWxzIGRybV9nZXRfZm9ybWF0X25hbWUuCj4gCj4gWWVwcCB0aGVyZSBpcyA6LSku IFNoYW1lIG9uIG1lIG1pc3NpbmcgdGhhdC4gSSdsbCB1c2UgdGhhdCBvbmUgaW5zdGVhZC4KPiAK PiA+ID4gK3N0YXRpYyBjb25zdCBjaGFyICpwbGFuZV9yb3RhdGlvbih1bnNpZ25lZCBpbnQgcm90 YXRpb24pCj4gPiA+ICt7Cj4gPiA+ICsJc3dpdGNoIChyb3RhdGlvbikgewo+ID4gPiArCWNhc2Ug RFJNX1JPVEFURV8wOgo+ID4gPiArCQlyZXR1cm4gIjAiOwo+ID4gPiArCWNhc2UgRFJNX1JPVEFU RV85MDoKPiA+ID4gKwkJcmV0dXJuICI5MCI7Cj4gPiA+ICsJY2FzZSBEUk1fUk9UQVRFXzE4MDoK PiA+ID4gKwkJcmV0dXJuICIxODAiOwo+ID4gPiArCWNhc2UgRFJNX1JPVEFURV8yNzA6Cj4gPiA+ ICsJCXJldHVybiAiMjcwIjsKPiA+ID4gKwljYXNlIERSTV9SRUZMRUNUX1g6Cj4gPiA+ICsJCXJl dHVybiAiRkxJUCBYIjsKPiA+ID4gKwljYXNlIERSTV9SRUZMRUNUX1k6Cj4gPiA+ICsJCXJldHVy biAiRkxJUCBZIjsKPiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiArCQlNSVNTSU5HX0NBU0Uocm90YXRp b24pOwo+ID4gPiArCQlyZXR1cm4gInVua25vd24iOwo+ID4gPiArCX0KPiA+ID4gK30KPiA+IEkn bSBub3Qgc3VyZSB0aGF0IHRoaXMgaXMgY29ycmVjdCwgYW5kIGRvaW5nIHJvdGF0aW9uID0gMTgw ICsgUkVGTEVDVF9YICsgUkVGTEVDVF9ZIGlzIGFsbG93ZWQuCj4gPiAKPiA+IFRoaXMgd291bGQg cmVzdWx0IGluIGEgcGxhbmUgd2l0aCBhIG5vcm1hbCBvcmllbnRhdGlvbiwgYnV0IHRoYXQgd291 bGQgdHJpZ2dlciBhIE1JU1NJTkdfQ0FTRS4KPiAKPiBZZXBwIEkgbWlzdW5kZXJzdG9vZCB0aGUg dmFsdWUgb2YgRFJNX1JPVEFURV94eHguIEl0IGlzIGEgYml0LXBvc2l0aW9uCj4gaW50ZW5kZWQg dG8gYmUgdXNlZCB3aXRoIEJJVCgpIG1hY3JvIGFuZCBiaXRvcHMuIEknbGwgcmV3cml0ZSB0aGlz Cj4gZnVuY3Rpb24gaW50byBwcmludGluZyB0aGUgYml0cyBzZXQgdG8gc2VlIGlmIHdlaXJkIHZh bHVlcyBtYXkgZW50ZXIKPiBpbnRvIHRoZSByb3RhdGlvbiB2YWx1ZS4gQWJvdmUgdmVyc2lvbiBp cyBpbmRlZWQgd3JvbmcuIFRoYW5rcyBmb3IKPiBub3RpY2luZy4KPiAKPiAKPiBBbHRob3VnaCBJ IG1heSBuZWVkIGFuIGV4cGxhbmF0aW9uIGluIHdoYXQgaXMgYSB2YWxpZCByb3RhdGlvbiB2YWx1 ZS4KPiBUaGlzIGlzIGhvdyBJIGdldCBpdC4KPiAKPiBEUk1fUk9UQVRFXzA6ICAgIDAwMDAwMDAx ICgxIDw8IDApCj4gRFJNX1JPVEFURV85MDogICAwMDAwMDAxMCAoMSA8PCAxKQo+IERSTV9ST1RB VEVfMTgwOiAgMDAwMDAxMDAgKDEgPDwgMikKPiBEUk1fUk9UQVRFXzI3MDogIDAwMDAxMDAwICgx IDw8IDMpCj4gRFJNX1JFRkxFQ1RfWDogICAwMDAxMDAwMCAoMSA8PCA0KQo+IERSTV9SRUZMRUNU X1k6ICAgMDAxMDAwMDAgKDEgPDwgNSkKPiAKPiBEUk1fUkVGTEVDVF9NQVNLIDExMTEwMDAwCj4g RFJNX1JPVEFURV9NQVNLICAwMDAwMTExMQo+IAo+IEkgYXNzdW1lIDAwMDEwMDEwIHRvIGJlIGEg dmFsaWQgcm90YXRpb24gKFJPVEFURV85MCBhbmQgYSBSRUZMRUNUX1gpCj4gT1RPSCAwMDAwMDEx MCAoUk9UQVRFXzkwIGFuZCBST1RBVEVfMTgwKSBpcyB3cm9uZyByaWdodD8KClllcywgb25seSBv bmUgYW5nbGUgY2FuIGJlIHNwZWNpZmllZC4KCj4gQnV0IGl0IGNvdWxkCj4gYWxzbyBiZSBpbnRl cnByZXRlZCBhcyBST1RBVEVfMjcwIGlmIGl0IGlzIGFuIGFjY3VtdWxhdGl2ZSByb3RhdGlvbi4K PiBBbHNvIHdpdGggdGhpcyBub3Rpb24geW91IHdpbGwgaGF2ZSB0d28gZGlmZmVyZW50IHJvdGF0 aW9uIHZhbHVlcyBmb3IKPiB0aGUgc2FtZSBhY3R1YWwgcm90YXRpb24gdmFsdWUuIAo+IAo+IEFs c28gd2hhdCBjb25mdXNlcyBtZSB3aXRoIHRoaXMgc2V0dXAgKElJVUMpIGlzIHRoYXQgZGlmZmVy ZW50IHZhbHVlcwo+IHdpbGwgaW4gZmFjdCB1bHRpbWF0ZWx5IG1lYW4gdGhlIHNhbWUgdGhpbmcu Cj4gMDAxMTAwMDEgKEZMSVAgWCBhbmQgWSBhbmQgUk9UQVRFXzApIGlzIHJvdF8xODAKPiAwMDAw MDEwMCAoUk9UQVRFXzE4MCkKPiAKPiAwMDExMDEwMCAoRkxJUCBYIGFuZCBZIGFuZCBST1RBVEVf MTgwKSBpcyByb3RfMAo+IDAwMDAwMDAxIChST1RBVEVfMCkKPiBwbHVzIHNvbWUgbW9yZSBleGFt cGxlcwoKWWVzLCBhbGwgdGhvc2UgYXJlIHZhbGlkLiBkcm1fcm90YXRpb25fc2ltcGxpZnkoKSB0 cmllcyB0byB1c2Ugc3VjaAppZGVudGl0aWVzIHRvIGVsaW1pbmF0ZSB1bnN1cHBvcnRlZCBhbmds ZXMvcmVmbGVjdGlvbnMsIGJ1dCBjdXJyZW50bHkKaXQncyBvbmx5IG1lYW50IGFzIGEgaGVscGVy IGZvciBkcml2ZXJzLgoKPiAKPiBSZWdhcmRpbmcgaWYgcm90YXRpb24gaXMgQ1cgb3IgQ0NXPyBJ IGNhbnQgZmlndXJlIHRoYXQgb3V0IGluIGRybV9jcnRjLmgKPiB3aGVyZSBpdCBpcyBkZWZpbmVk LiBPVE9IIGluIGludGVsX2Rpc3BsYXkuYyBJIGNhbiBzZWUgYSBjb21tZW50IHRoYXQKPiBEUk1f Uk9UQVRFXyBpcyBpbmRlZWQgQ0NXIGluIG9yZGVyIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBYUmFu ZHIuIEkgZ3Vlc3MKPiB0aGF0IGlzIG9uZSB3YXkgdG8gZG9jdW1lbnRhdCB0aGluZ3MsIG9yIHdv dWxkIHBlcmhhcHMgYSBjbG9ja3dpc2UgYml0Cj4gYmUgdXNlZnVsCj4gRFJNX1JPVEFURV9DVzog ICAwMTAwMDAwMCAoMSA8PCA2KQo+IEFORCBhIGNvbW1lbnQgdGhhdCBkZWZhdWx0IGlzIENDVy4g T3IgYXQgbGVhc3QgYSBjb21tZW50IGluIGRybV9jcnRjLmgKPiBsaWtlOiAvKiBEUk1fUk9UQVRF XyBpcyBjb3VudGVyIGNsb2Nrd2lzZSAqLwo+IAo+IEZpbmFsbHkgZm9yIG15IGJldHRlciB1bmRl cnN0YW5kaW5nLi4uLgo+IElmIHlvdSBmb3IgZXhhbXBsZSBkbyBhIFJFRkxFQ1RfWCBhbmQgYSBS T1RfMjcwIHRoZSBvcmRlciBpbiB3aGljaCBpdCBpcwo+IGFwcGxpZWQgbWF0dGVycy4gV2hpY2gg b3JkZXIgaXMgZGVmYXVsdD8gcXVpdGUgaW1wb3J0YW50IGZvciB1c2VyLXNwYWNlCj4gdG8ga25v dyB3aGVuIG1hbmlwdWxhdGluZyB0aGVzZSBiaXRzLiBJIGNhbid0IGZpbmQgYW55IGhlbHAgaW4g bGliZHJtCj4gZWl0aGVyLgo+IHNvIHdoYXQgSSBtZWFuLgo+IChGaXJzdCBSRUZMRUNUX1ggdGhl biBST1RBVEVfMjcwKSAhPSAoRmlyc3QgUk9UQVRFXzI3MCB0aGVuIFJFRkxFQ1RfWCkKClRoZSBy b3RhdGlvbiBwcm9wZXJ0eSBkb2N1bWVudGF0aW9uIGhhcyB0aGUgZGV0YWlscywgYnV0IHJlcGVh dGluZyBpdApuZXh0IHRvIHRoZSBEUk1fUk9UQVRFIGJpdHMgcHJvYmFibHkgd291bGRuJ3QgaHVy dC4KCj4gIAo+IAo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9wbGFuZV9pbmZvKHN0 cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCj4gPiA+ICt7 Cj4gPiA+ICsJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBtLT5wcml2YXRlOwo+ID4gPiAr CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+ID4gPiArCXN0cnVj dCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmU7Cj4gPiA+ICsKPiA+ID4gKwlmb3JfZWFjaF9pbnRl bF9wbGFuZV9vbl9jcnRjKGRldiwgaW50ZWxfY3J0YywgaW50ZWxfcGxhbmUpIHsKPiA+ID4gKwkJ c3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGU7Cj4gPiA+ICsJCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lID0gJmludGVsX3BsYW5lLT5iYXNlOwo+ID4gPiArCQl1aW50MzJfdCBmYl9mb3JtYXQg PSAwOwo+ID4gPiArCj4gPiA+ICsJCWlmICghcGxhbmUtPnN0YXRlKSB7Cj4gPiA+ICsJCQlzZXFf cHV0cyhtLCAicGxhbmUtPnN0YXRlIGlzIE5VTEwhXG4iKTsKPiA+ID4gKwkJCWNvbnRpbnVlOwo+ ID4gPiArCQl9Cj4gPiA+ICsKPiA+ID4gKwkJc3RhdGUgPSBwbGFuZS0+c3RhdGU7Cj4gPiA+ICsK PiA+ID4gKwkJaWYgKHN0YXRlLT5mYikgewo+ID4gPiArCQkJLyogcGxhbmUgbm90IGFjdGl2ZSAq Lwo+ID4gPiArCQkJZmJfZm9ybWF0ID0gc3RhdGUtPmZiLT5waXhlbF9mb3JtYXQ7Cj4gPiA+ICsJ CX0KPiA+ID4gKwo+ID4gPiArCQlzZXFfcHJpbnRmKG0sICJcdC0tUGxhbmUgaWQgJWQ6IHR5cGU9 JXMsIGNydGNfcG9zPSU0ZHglNGQsIGNydGNfc2l6ZT0lNGR4JTRkLCBzcmNfcG9zPSVkLiVkeCVk LiVkLCBzcmNfc2l6ZT0lZC4lZHglZC4lZCwgZm9ybWF0PSVzLCByb3RhdGlvbj0lc1xuIiwKPiA+ ID4gKwkJCSAgIHBsYW5lLT5iYXNlLmlkLAo+ID4gPiArCQkJICAgcGxhbmVfdHlwZShpbnRlbF9w bGFuZS0+YmFzZS50eXBlKSwKPiA+ID4gKwkJCSAgIHN0YXRlLT5jcnRjX3gsIHN0YXRlLT5jcnRj X3ksCj4gPiA+ICsJCQkgICBzdGF0ZS0+Y3J0Y193LCBzdGF0ZS0+Y3J0Y19oLAo+ID4gPiArCQkJ ICAgKHN0YXRlLT5zcmNfeCA+PiAxNiksIChzdGF0ZS0+c3JjX3ggJiAweDAwZmYpLAo+ID4gPiAr CQkJICAgKHN0YXRlLT5zcmNfeSA+PiAxNiksIChzdGF0ZS0+c3JjX3kgJiAweDAwZmYpLAo+ID4g PiArCQkJICAgKHN0YXRlLT5zcmNfdyA+PiAxNiksIChzdGF0ZS0+c3JjX3cgJiAweDAwZmYpLAo+ ID4gPiArCQkJICAgKHN0YXRlLT5zcmNfaCA+PiAxNiksIChzdGF0ZS0+c3JjX2ggJiAweDAwZmYp LAo+ID4gPiArCQkJICAgZmJfZm9ybWF0ID8gcGxhbmVfZm9ybWF0KGZiX2Zvcm1hdCkgOiAiTi9B IiwKPiA+ID4gKwkJCSAgIHBsYW5lX3JvdGF0aW9uKHN0YXRlLT5yb3RhdGlvbikpOwo+ID4gPiAr CX0KPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgaW50ZWxfc2NhbGVyX2luZm8o c3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKPiA+ID4g K3sKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWc7Cj4gPiA+ICsJ aW50IG51bV9zY2FsZXJzID0gaW50ZWxfY3J0Yy0+bnVtX3NjYWxlcnM7Cj4gPiA+ICsJaW50IGk7 Cj4gPiA+ICsKPiA+ID4gKwlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoaW50ZWxf Y3J0Yy0+YmFzZS5zdGF0ZSk7Cj4gPiA+ICsKPiA+ID4gKwkvKiBOb3QgYWxsIHBsYXRmb3JtYXMg aGF2ZSBhIHNjYWxlciAqLwo+ID4gPiArCWlmIChudW1fc2NhbGVycykgewo+ID4gPiArCQlzZXFf cHJpbnRmKG0sICJcdG51bV9zY2FsZXJzPSVkLCBzY2FsZXJfdXNlcnM9JWQgc2NhbGVyX2lkPSVk IiwKPiA+ID4gKwkJCSAgIG51bV9zY2FsZXJzLAo+ID4gPiArCQkJICAgcGlwZV9jb25maWctPnNj YWxlcl9zdGF0ZS5zY2FsZXJfdXNlcnMsCj4gPiA+ICsJCQkgICBwaXBlX2NvbmZpZy0+c2NhbGVy X3N0YXRlLnNjYWxlcl9pZCk7Cj4gPiBzY2FsZXJfdXNlcnMgaXMgYSBiaXRtYXNrIGFuZCBzaG91 bGQgdXNlICV4Lgo+IEFjayEKPiA+ID4gKwkJZm9yIChpID0gMDsgaSA8IFNLTF9OVU1fU0NBTEVS UzsgaSsrKSB7Cj4gPiA+ICsJCQlzdHJ1Y3QgaW50ZWxfc2NhbGVyICpzYyA9Cj4gPiA+ICsJCQkJ CSZwaXBlX2NvbmZpZy0+c2NhbGVyX3N0YXRlLnNjYWxlcnNbaV07Cj4gPiA+ICsKPiA+ID4gKwkJ CXNlcV9wcmludGYobSwgIiwgc2NhbGVyc1slZF06IHVzZT0lZCwgbW9kZT0lZCIsCj4gPiBtb2Rl PSV4IGFnYWluIGJlY2F1c2Ugb2YgYmVpbmcgYSBiaXQgbWFzay4KPiBBY2shCj4gPiA+ICsJCQkJ ICAgaSwgc2MtPmluX3VzZSwgc2MtPm1vZGUpOwo+ID4geWVzbm8oc2MtPmluX3VzZSk7Cj4gQWNr IQo+ID4gPiArCQl9Cj4gPiA+ICsJCXNlcV9wdXRzKG0sICJcbiIpOwo+ID4gPiArCX0gZWxzZSB7 Cj4gPiA+ICsJCXNlcV9wdXRzKG0sICJcdE5vIHNjYWxlcnMgYXZhaWxhYmxlIG9uIHRoaXMgcGxh dGZvcm1cbiIpOwo+ID4gPiArCX0KPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAgc3RhdGljIGludCBp OTE1X2Rpc3BsYXlfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiA+ID4g IHsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IG0tPnByaXZhdGU7Cj4gPiA+ IEBAIC0yOTY5LDEwICszMDg1LDEyIEBAIHN0YXRpYyBpbnQgaTkxNV9kaXNwbGF5X2luZm8oc3Ry dWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gPiA+ICAKPiA+ID4gIAkJcGlwZV9jb25m aWcgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ID4gPiAgCj4gPiA+ IC0JCXNlcV9wcmludGYobSwgIkNSVEMgJWQ6IHBpcGU6ICVjLCBhY3RpdmU9JXMgKHNpemU9JWR4 JWQpXG4iLAo+ID4gPiArCQlzZXFfcHJpbnRmKG0sICJDUlRDICVkOiBwaXBlOiAlYywgYWN0aXZl PSVzLCAoc2l6ZT0lZHglZCksIGRpdGhlcj0lcywgYnBwPSVkXG4iLAo+ID4gPiAgCQkJICAgY3J0 Yy0+YmFzZS5iYXNlLmlkLCBwaXBlX25hbWUoY3J0Yy0+cGlwZSksCj4gPiA+ICAJCQkgICB5ZXNu byhwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUpLAo+ID4gPiAtCQkJICAgcGlwZV9jb25maWctPnBp cGVfc3JjX3csIHBpcGVfY29uZmlnLT5waXBlX3NyY19oKTsKPiA+ID4gKwkJCSAgIHBpcGVfY29u ZmlnLT5waXBlX3NyY193LCBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaCwKPiA+ID4gKwkJCSAgIHll c25vKHBpcGVfY29uZmlnLT5kaXRoZXIpLCBwaXBlX2NvbmZpZy0+cGlwZV9icHApOwo+ID4gPiAr Cj4gPiA+ICAJCWlmIChwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUpIHsKPiA+ID4gIAkJCWludGVs X2NydGNfaW5mbyhtLCBjcnRjKTsKPiA+ID4gIAo+ID4gPiBAQCAtMjk4Miw2ICszMTAwLDggQEAg c3RhdGljIGludCBpOTE1X2Rpc3BsYXlfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVu dXNlZCkKPiA+ID4gIAkJCQkgICB4LCB5LCBjcnRjLT5iYXNlLmN1cnNvci0+c3RhdGUtPmNydGNf dywKPiA+ID4gIAkJCQkgICBjcnRjLT5iYXNlLmN1cnNvci0+c3RhdGUtPmNydGNfaCwKPiA+ID4g IAkJCQkgICBjcnRjLT5jdXJzb3JfYWRkciwgeWVzbm8oYWN0aXZlKSk7Cj4gPiA+ICsJCQlpbnRl bF9zY2FsZXJfaW5mbyhtLCBjcnRjKTsKPiA+ID4gKwkJCWludGVsX3BsYW5lX2luZm8obSwgY3J0 Yyk7Cj4gPiA+ICAJCX0KPiA+ID4gIAo+ID4gPiAgCQlzZXFfcHJpbnRmKG0sICJcdHVuZGVycnVu IHJlcG9ydGluZzogY3B1PSVzIHBjaD0lcyBcbiIsCj4gPiAKPiAKPiBJJ2xsIHNlbmQgb3V0IGEg VjIuCj4gCj4gLS0gCj4gQlIKPiAvUm9iZXJ0IEZla2V0ZQo+IEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==