From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: Re: [PATCH v4 1/8] drm/i915/gen9: Add framework to whitelist specific GPU registers Date: Tue, 19 Jan 2016 10:16:52 +0000 Message-ID: <569E0D14.4090807@linux.intel.com> References: <1452679593-3922-1-git-send-email-arun.siluvery@linux.intel.com> <1452785255-4079-1-git-send-email-arun.siluvery@linux.intel.com> <20160119090023.GT19130@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 4A5F0899E6 for ; Tue, 19 Jan 2016 02:17:00 -0800 (PST) In-Reply-To: <20160119090023.GT19130@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMDEvMjAxNiAwOTowMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUaHUsIEphbiAx NCwgMjAxNiBhdCAwMzoyNzozNVBNICswMDAwLCBBcnVuIFNpbHV2ZXJ5IHdyb3RlOgo+PiBTb21l IG9mIHRoZSBIVyByZWdpc3RlcnMgYXJlIHByaXZpbGVnZWQgYW5kIGNhbm5vdCBiZSB3cml0dGVu IHRvIGZyb20KPj4gbm9uLXByaXZpbGVnZWQgYmF0Y2ggYnVmZmVycyBjb21pbmcgZnJvbSB1c2Vy c3BhY2UgdW5sZXNzIHRoZXkgYXJlIGFkZGVkIHRvCj4+IHRoZSBIVyB3aGl0ZWxpc3QuIFRoaXMg d2hpdGVsaXN0IGlzIG1haW50YWluZWQgYnkgSFcgYW5kIGl0IGlzIGRpZmZlcmVudCBmcm9tCj4+ IFNXIHdoaXRlbGlzdC4gVXNlcnNwYWNlIG5lZWQgd3JpdGUgYWNjZXNzIHRvIHRoZW0gdG8gaW1w bGVtZW50IHByZWVtcHRpb24KPj4gcmVsYXRlZCBXQS4KPj4KPj4gVGhlIHJlYXNvbiBmb3IgdXNp bmcgdGhpcyBhcHByb2FjaCBpcywgdGhlIHJlZ2lzdGVyIGJpdHMgdGhhdCBjb250cm9sCj4+IHBy ZWVtcHRpb24gZ3JhbnVsYXJpdHkgYXQgdGhlIEhXIGxldmVsIGFyZSBub3QgY29udGV4dCBzYXZl L3Jlc3RvcmVkOyBzbyBldmVuCj4+IGlmIHdlIHNldCB0aGVzZSBiaXRzIGFsd2F5cyBpbiBrZXJu ZWwgdGhleSBhcmUgZ29pbmcgdG8gY2hhbmdlIG9uY2UgdGhlCj4+IGNvbnRleHQgaXMgc3dpdGNo ZWQgb3V0LiAgV2UgY2FuIGNvbnNpZGVyIG1ha2luZyB0aGVtIG5vbi1wcml2aWxlZ2VkIGJ5Cj4+ IGRlZmF1bHQgYnV0IHRoZXNlIHJlZ2lzdGVycyBhbHNvIGNvbnRhaW4gb3RoZXIgY2hpY2tlbiBi aXRzIHdoaWNoIHNob3VsZCBub3QKPj4gYmUgYWxsb3dlZCB0byBiZSBtb2RpZmllZC4KPj4KPj4g SW4gdGhlIGxhdGVyIHJldmlzaW9ucyBjb250cm9sbGluZyBiaXRzIGFyZSBzYXZlL3Jlc3RvcmVk IGF0IGNvbnRleHQgbGV2ZWwgYnV0Cj4+IGluIHRoZSBleGlzdGluZyByZXZpc2lvbnMgdGhlc2Ug YXJlIGV4cG9ydGVkIHZpYSBvdGhlciBkZWJ1ZyByZWdpc3RlcnMgYW5kCj4+IHNob3VsZCBiZSBv biB0aGUgd2hpdGVsaXN0LiBUaGlzIHBhdGNoIGFkZHMgY2hhbmdlcyB0byBwcm92aWRlIEhXIHdp dGggYSBsaXN0Cj4+IG9mIHJlZ2lzdGVycyB0byBiZSB3aGl0ZWxpc3RlZC4gSFcgY2hlY2tzIHRo aXMgbGlzdCBkdXJpbmcgZXhlY3V0aW9uIGFuZAo+PiBwcm92aWRlcyBhY2Nlc3MgYWNjb3JkaW5n bHkuCj4+Cj4+IEhXIGltcG9zZXMgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVycyBv biB3aGl0ZWxpc3QgYW5kIGl0IGlzCj4+IHBlci1lbmdpbmUuICBBdCB0aGlzIHBvaW50IHdlIGFy ZSBvbmx5IGVuYWJsaW5nIHdoaXRlbGlzdCBmb3IgUkNTIGFuZCB3ZSBkb24ndAo+PiBmb3Jlc2Vl IGFueSByZXF1aXJlbWVudCBmb3Igb3RoZXIgZW5naW5lcy4KPj4KPj4gVGhlIHJlZ2lzdGVycyB0 byBiZSB3aGl0ZWxpc3RlZCBhcmUgYWRkZWQgdXNpbmcgZ2VuZXJpYyB3b3JrYXJvdW5kIGxpc3QK Pj4gbWVjaGFuaXNtLCBldmVuIHRoZXNlIGFyZSBvbmx5IGVuYWJsZXJzIGZvciB1c2Vyc3BhY2Ug d29ya2Fyb3VuZHMuIEJ1dCBieQo+PiBzaGFyaW5nIHRoaXMgbWVjaGFuaXNtIHdlIGdldCBzb21l IHRlc3QgYXNzZXRzIHdpdGhvdXQgYWRkaXRpb25hbCBjb3N0IChNaWthKS4KPj4KPj4gdjI6IHJl YmFzZQo+Pgo+PiB2MzogcGFyYW1ldGVyaXplIFJJTkdfRk9SQ0VfVE9fTk9OUFJJVigpIGFzIF9N TUlPKCkgc2hvdWxkIGJlIGxpbWl0ZWQgdG8KPj4gaTkxNV9yZWcuaCAoVmlsbGUpLCBkcm9wIGlu bGluZSBmb3Igd2FfcmluZ193aGl0ZWxpc3RfcmVnIChNaWthKS4KPj4KPj4gdjQ6IGltcHJvdmVt ZW50cyBzdWdnZXN0ZWQgYnkgQ2hyaXMgV2lsc29uLgo+PiBDbGFyaWZ5IHRoYXQgdGhpcyBpcyBI VyB3aGl0ZWxpc3QgYW5kIGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgbWFpbnRhaW5lZCBpbgo+PiBk cml2ZXIuIFRoaXMgbGlzdCBpcyBlbmdpbmUgc3BlY2lmaWMgYnV0IGl0IGdldHMgaW5pdGlhbGl6 ZWQgYWxvbmcgd2l0aCBvdGhlcgo+PiBXQSB3aGljaCBpcyBSQ1Mgc3BlY2lmaWMgdGhpbmcsIHNv IG1ha2UgaXQgY2xlYXIgdGhhdCB3ZSBhcmUgbm90IGRvaW5nIGFueQo+PiBjcm9zcyBlbmdpbmUg c2V0dXAgZHVyaW5nIGluaXRpYWxpemF0aW9uLgo+PiBNYWtlIEhXIHdoaXRlbGlzdCBjb3VudCBv ZiBlYWNoIGVuZ2luZSBhdmFpbGFibGUgaW4gZGVidWdmcy4KPj4KPj4gUmV2aWV3ZWQtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+PiBSZXZpZXdlZC1ieTogTWlr YSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4+IENjOiBNaWthIEt1b3BwYWxh IDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KPj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgo+PiBTaWduZWQtb2ZmLWJ5OiBBcnVuIFNpbHV2ZXJ5IDxhcnVuLnNp bHV2ZXJ5QGxpbnV4LmludGVsLmNvbT4KPgo+IElmIHlvdSByZXNlbmQganVzdCBzaW5nbGUgcGF0 Y2hlcyB0byBhIHNlcmllcyB5b3UgbXVzdCAtLWluLXJlcGx5LXRvIHRoZQo+IGluZGl2aWR1YWwg cGF0Y2gsIG5vdCB0aGUgY292ZXIgbGV0dGVyLiBPdGhlcndpc2UgcGF0Y2h3b3JrIHdvbid0IHBp Y2sgaXQKPiB1cCwgd2hpY2ggbWVhbnMgd2UgZG9uJ3QgaGF2ZSBDSSByZXN1bHRzIGZvciB0aGlz LgoKSGkgRGFuaWVsLAoKWWVzIEkgZGlkIHVzZSAtLWluLXJlcGx5LXRvIGJ1dCBwcm9iYWJseSBu b3QgdGhlIGNvcnJlY3QgbWVzc2FnZS1pZCwgCndpbGwga2VlcCB0aGlzIGluIG1pbmQuCgo+Cj4g U2luY2UgaXQncyBiZWVuIGEgd2hpbGUgcHJvYmFibHkgYmVzdCB0byBqdXN0IHJlc2VuZCB0aGUg ZW50aXJlIHBpbGUuCj4KPiBBbHNvIHdlIHNlZW0gdG8gYmUgbWlzc2luZyByLWIgdGFncyBmb3Ig dGhlIGFjdHVhbCB3L2EgY2hhbmdlcy4KeWVzLCBhY3R1YWwgdy9hIGFyZSB5ZXQgdG8gYmUgcmV2 aWV3ZWQsIEkgY2FuIHJlc2VuZCBhbGwgb2YgdGhlbSBvbmNlIAp0aGV5IGFyZSByZXZpZXdlZCBv ciB5b3Ugd2FudCBtZSB0byBzZW5kIGl0IG5vdz8KCnJlZ2FyZHMKQXJ1bgoKPiAtRGFuaWVsCj4K Pj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgMTUg KysrKysrKysrKy0tLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgIHwgIDkgKysrKysrKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg ICAgICAgIHwgIDMgKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jIHwgMTcgKysrKysrKysrKysrKysrKysKPj4gICA0IGZpbGVzIGNoYW5nZWQsIDM4IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4+IGluZGV4IGUzMzc3YWIuLjdlYjAwMmMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCj4+IEBAIC0zMjI5LDkgKzMyMjksMTEgQEAgc3RhdGljIGludCBpOTE1X3dh X3JlZ2lzdGVycyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPj4gICB7Cj4+ICAg CWludCBpOwo+PiAgIAlpbnQgcmV0Owo+PiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7 Cj4+ICAgCXN0cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gKHN0cnVjdCBkcm1faW5mb19ub2Rl ICopIG0tPnByaXZhdGU7Cj4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5v ci0+ZGV2Owo+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwo+PiArCXN0cnVjdCBpOTE1X3dvcmthcm91bmRzICp3b3JrYXJvdW5kcyA9ICZk ZXZfcHJpdi0+d29ya2Fyb3VuZHM7Cj4+Cj4+ICAgCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0 aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+PiAgIAlpZiAocmV0KQo+PiBAQCAtMzIzOSwxNSAr MzI0MSwxOCBAQCBzdGF0aWMgaW50IGk5MTVfd2FfcmVnaXN0ZXJzKHN0cnVjdCBzZXFfZmlsZSAq bSwgdm9pZCAqdW51c2VkKQo+Pgo+PiAgIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7 Cj4+Cj4+IC0Jc2VxX3ByaW50ZihtLCAiV29ya2Fyb3VuZHMgYXBwbGllZDogJWRcbiIsIGRldl9w cml2LT53b3JrYXJvdW5kcy5jb3VudCk7Cj4+IC0JZm9yIChpID0gMDsgaSA8IGRldl9wcml2LT53 b3JrYXJvdW5kcy5jb3VudDsgKytpKSB7Cj4+ICsJc2VxX3ByaW50ZihtLCAiV29ya2Fyb3VuZHMg YXBwbGllZDogJWRcbiIsIHdvcmthcm91bmRzLT5jb3VudCk7Cj4+ICsJZm9yX2VhY2hfcmluZyhy aW5nLCBkZXZfcHJpdiwgaSkKPj4gKwkJc2VxX3ByaW50ZihtLCAiSFcgd2hpdGVsaXN0IGNvdW50 IGZvciAlczogJWRcbiIsCj4+ICsJCQkgICByaW5nLT5uYW1lLCB3b3JrYXJvdW5kcy0+aHdfd2hp dGVsaXN0X2NvdW50W2ldKTsKPj4gKwlmb3IgKGkgPSAwOyBpIDwgd29ya2Fyb3VuZHMtPmNvdW50 OyArK2kpIHsKPj4gICAJCWk5MTVfcmVnX3QgYWRkcjsKPj4gICAJCXUzMiBtYXNrLCB2YWx1ZSwg cmVhZDsKPj4gICAJCWJvb2wgb2s7Cj4+Cj4+IC0JCWFkZHIgPSBkZXZfcHJpdi0+d29ya2Fyb3Vu ZHMucmVnW2ldLmFkZHI7Cj4+IC0JCW1hc2sgPSBkZXZfcHJpdi0+d29ya2Fyb3VuZHMucmVnW2ld Lm1hc2s7Cj4+IC0JCXZhbHVlID0gZGV2X3ByaXYtPndvcmthcm91bmRzLnJlZ1tpXS52YWx1ZTsK Pj4gKwkJYWRkciA9IHdvcmthcm91bmRzLT5yZWdbaV0uYWRkcjsKPj4gKwkJbWFzayA9IHdvcmth cm91bmRzLT5yZWdbaV0ubWFzazsKPj4gKwkJdmFsdWUgPSB3b3JrYXJvdW5kcy0+cmVnW2ldLnZh bHVlOwo+PiAgIAkJcmVhZCA9IEk5MTVfUkVBRChhZGRyKTsKPj4gICAJCW9rID0gKHZhbHVlICYg bWFzaykgPT0gKHJlYWQgJiBtYXNrKTsKPj4gICAJCXNlcV9wcmludGYobSwgIjB4JVg6IDB4JTA4 WCwgbWFzazogMHglMDhYLCByZWFkOiAweCUwOHgsIHN0YXR1czogJXNcbiIsCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+PiBpbmRleCAxMDRiZDE4Li44M2ZjY2MwIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTE2NTMsMTEgKzE2NTMsMTggQEAgc3RydWN0IGk5MTVfd2Ff cmVnIHsKPj4gICAJdTMyIG1hc2s7Cj4+ICAgfTsKPj4KPj4gLSNkZWZpbmUgSTkxNV9NQVhfV0Ff UkVHUyAxNgo+PiArLyoKPj4gKyAqIFJJTkdfTUFYX05PTlBSSVZfU0xPVFMgaXMgcGVyLWVuZ2lu ZSBidXQgYXQgdGhpcyBwb2ludCB3ZSBhcmUgb25seQo+PiArICogYWxsb3dpbmcgaXQgZm9yIFJD UyBhcyB3ZSBkb24ndCBmb3Jlc2VlIGFueSByZXF1aXJlbWVudCBvZiBoYXZpbmcKPj4gKyAqIGEg d2hpdGVsaXN0IGZvciBvdGhlciBlbmdpbmVzLiBXaGVuIGl0IGlzIHJlYWxseSByZXF1aXJlZCBm b3IKPj4gKyAqIG90aGVyIGVuZ2luZXMgdGhlbiB0aGUgbGltaXQgbmVlZCB0byBiZSBpbmNyZWFz ZWQuCj4+ICsgKi8KPj4gKyNkZWZpbmUgSTkxNV9NQVhfV0FfUkVHUyAoMTYgKyBSSU5HX01BWF9O T05QUklWX1NMT1RTKQo+Pgo+PiAgIHN0cnVjdCBpOTE1X3dvcmthcm91bmRzIHsKPj4gICAJc3Ry dWN0IGk5MTVfd2FfcmVnIHJlZ1tJOTE1X01BWF9XQV9SRUdTXTsKPj4gICAJdTMyIGNvdW50Owo+ PiArCXUzMiBod193aGl0ZWxpc3RfY291bnRbSTkxNV9OVU1fUklOR1NdOwo+PiAgIH07Cj4+Cj4+ ICAgc3RydWN0IGk5MTVfdmlydHVhbF9ncHUgewo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4g aW5kZXggMGE5ODg4OS4uNzkzODgxNCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+ IEBAIC0xNjM1LDYgKzE2MzUsOSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPj4gICAj ZGVmaW5lICAgUklOR19XQUlUCQkoMTw8MTEpIC8qIGdlbjMrLCBQUkJ4X0NUTCAqLwo+PiAgICNk ZWZpbmUgICBSSU5HX1dBSVRfU0VNQVBIT1JFCSgxPDwxMCkgLyogZ2VuNisgKi8KPj4KPj4gKyNk ZWZpbmUgUklOR19GT1JDRV9UT19OT05QUklWKGJhc2UsIGkpIF9NTUlPKCgoYmFzZSkrMHg0RDAp ICsgKGkpKjQpCj4+ICsjZGVmaW5lICAgUklOR19NQVhfTk9OUFJJVl9TTE9UUyAgMTIKPj4gKwo+ PiAgICNkZWZpbmUgR0VON19UTEJfUkRfQUREUglfTU1JTygweDQ3MDApCj4+Cj4+ICAgI2lmIDAK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+PiBpbmRleCA0MDYwYWNm Li41NmFmNzM2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j Cj4+IEBAIC03ODcsNiArNzg3LDIyIEBAIHN0YXRpYyBpbnQgd2FfYWRkKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPj4KPj4gICAjZGVmaW5lIFdBX1dSSVRFKGFkZHIsIHZhbCkg V0FfUkVHKGFkZHIsIDB4ZmZmZmZmZmYsIHZhbCkKPj4KPj4gK3N0YXRpYyBpbnQgd2FfcmluZ193 aGl0ZWxpc3RfcmVnKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGk5MTVfcmVnX3QgcmVn KQo+PiArewo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmctPmRl di0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGk5MTVfd29ya2Fyb3VuZHMgKndhID0gJmRldl9w cml2LT53b3JrYXJvdW5kczsKPj4gKwljb25zdCB1aW50MzJfdCBpbmRleCA9IHdhLT5od193aGl0 ZWxpc3RfY291bnRbcmluZy0+aWRdOwo+PiArCj4+ICsJaWYgKFdBUk5fT04oaW5kZXggPj0gUklO R19NQVhfTk9OUFJJVl9TTE9UUykpCj4+ICsJCXJldHVybiAtRUlOVkFMOwo+PiArCj4+ICsJV0Ff V1JJVEUoUklOR19GT1JDRV9UT19OT05QUklWKHJpbmctPm1taW9fYmFzZSwgaW5kZXgpLAo+PiAr CQkgaTkxNV9tbWlvX3JlZ19vZmZzZXQocmVnKSk7Cj4+ICsJd2EtPmh3X3doaXRlbGlzdF9jb3Vu dFtyaW5nLT5pZF0rKzsKPj4gKwo+PiArCXJldHVybiAwOwo+PiArfQo+PiArCj4+ICAgc3RhdGlj IGludCBnZW44X2luaXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykK Pj4gICB7Cj4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7Cj4+IEBAIC0x MTE1LDYgKzExMzEsNyBAQCBpbnQgaW5pdF93b3JrYXJvdW5kc19yaW5nKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcpCj4+ICAgCVdBUk5fT04ocmluZy0+aWQgIT0gUkNTKTsKPj4KPj4gICAJ ZGV2X3ByaXYtPndvcmthcm91bmRzLmNvdW50ID0gMDsKPj4gKwlkZXZfcHJpdi0+d29ya2Fyb3Vu ZHMuaHdfd2hpdGVsaXN0X2NvdW50W1JDU10gPSAwOwo+Pgo+PiAgIAlpZiAoSVNfQlJPQURXRUxM KGRldikpCj4+ICAgCQlyZXR1cm4gYmR3X2luaXRfd29ya2Fyb3VuZHMocmluZyk7Cj4+IC0tCj4+ IDEuOS4xCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==