From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rogozhkin, Dmitry V" Subject: Re: [RFC 2/2] drm/i915/pmu: serve global events and support perf stat Date: Fri, 18 Aug 2017 00:19:55 +0000 Message-ID: <1502986672.7001.1.camel@intel.com> References: <1502819805-17773-1-git-send-email-dmitry.v.rogozhkin@intel.com> <1502819805-17773-3-git-send-email-dmitry.v.rogozhkin@intel.com> 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 ESMTPS id BE6EC6E677 for ; Fri, 18 Aug 2017 00:19:58 +0000 (UTC) In-Reply-To: <1502819805-17773-3-git-send-email-dmitry.v.rogozhkin@intel.com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "intel-gfx@lists.freedesktop.org" Cc: "peterz@infradead.org" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE3LTA4LTE1IGF0IDEwOjU2IC0wNzAwLCBEbWl0cnkgUm9nb3poa2luIHdyb3Rl Og0KPiBUaGlzIHBhdGNoIHNob3VsZCBwcm9iYWJseSBiZSBzcXVhc2hlZCB3aXRoIFR2cnRrbydz IFBNVSBlbmFibGluZw0KPiBwYXRjaC4uLg0KPiANCj4gaTkxNSBldmVudHMgZG9uJ3QgaGF2ZSBh IENQVSBjb250ZXh0IHRvIHdvcmsgd2l0aCwgc28gaTkxNQ0KPiBQTVUgc2hvdWxkIHdvcmsgaW4g Z2xvYmFsIG1vZGUsIGkuZS4gZXhwb3NlIHBlcmZfaW52YWxpZF9jb250ZXh0Lg0KPiBUaGlzIHdp bGwgbWFrZSB0aGUgZm9sbG93aW5nIGNhbGwgdG8gcGVyZjoNCj4gICAgcGVyZiBzdGF0IHdvcmts b2FkLnNoDQo+IHRvIGVycm9yIG91dCB3aXRoICJmYWlsZWQgdG8gcmVhZCBjb3VudGVyIi4gQ29y cmVjdCB1c2FnZSB3b3VsZCBiZToNCj4gICAgcGVyZiBzdGF0IC1hIC1DMCB3b3JrbG9hZC5zaA0K PiBBbmQgd2Ugd2lsbCBnZXQgZXhwZWN0ZWQgb3V0cHV0Og0KPiANCj4gQW5vdGhlciBjaGFuZ2Ug cmVxdWlyZWQgdG8gbWFrZSBwZXJmIHN0YXQgaGFwcHkgaXMgcHJvcGVybHkgc3VwcG9ydA0KPiBw bXUtPmRlbCgpOiBjb21tZW50cyBpbiBkZWwoKSBkZWNsYXJhdGlvbiBzYXlzIHRoYXQgZGVsKCkg aXMgcmVxdWlyZWQNCj4gdG8gY2FsbCBzdG9wKGV2ZW50LCBQRVJGX0VGX1VQREFURSkgYW5kIHBl cmYgc3RhdCBpbXBsaWNpdGx5IGdldHMNCj4gZXZlbnQgY291bnQgdGhydSB0aGlzLg0KPiANCj4g RmluYWxseSwgaWYgcGVyZiBzdGF0IHdpbGwgYmUgcmFuIGFzIGZvbGxvd3M6DQo+ICAgIHBlcmYg c3RhdCAtYSB3b3JrbG9hZC5zaA0KPiBpLmUuIHdpdGhvdXQgJy1DMCcgb3B0aW9uLCB0aGVuIGV2 ZW50IHdpbGwgYmUgaW5pdGlsaXplZCBhcyBtYW55IHRpbWVzDQo+IGFzIHRoZXJlIGFyZSBDUFVz LiBUaHVzLCBwYXRjaCBhZGRzIFBNVSByZWZjb3VudGluZyBzdXBwb3J0IHRvIGF2b2lkDQo+IG11 bHRpcGxlIGluaXQvY2xvc2Ugb2YgaW50ZXJuYWwgdGhpbmdzLiBUaGUgaXNzdWUgd2hpY2ggSSBk aWQgbm90DQo+IG92ZXJjb21lIGlzIHRoYXQgaW4gdGhpcyBjYXNlIGNvdW50ZXJzIHdpbGwgYmUg bXVsdGlwbGllZCBvbiBudW1iZXINCj4gb2YgQ1BVcy4gTm90IHN1cmUgd2hldGhlciBpdCBpcyBw b3NzaWJsZSB0byBoYXZlIHNvbWUgZXZlbnQgZW5hYmxpbmcNCj4gQ1BVIG1hc2sgb3IgcmF0aGVy IEkgbmVlZCB0byBzaW1wbHkgZXJyb3Igb3V0Lg0KPiANCj4gQ2hhbmdlLUlkOiBJN2QxYWJlNzQ3 YTQzOTkxOTZlNzIyNTNmN2I2NjQ0MWE2NTI4ZGJlZQ0KPiBTaWduZWQtb2ZmLWJ5OiBEbWl0cnkg Um9nb3poa2luIDxkbWl0cnkudi5yb2dvemhraW5AaW50ZWwuY29tPg0KPiBDYzogVHZydGtvIFVy c3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4NCj4gQ2M6IFBldGVyIFppamxzdHJhIDxw ZXRlcnpAaW5mcmFkZWFkLm9yZz4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIHwgICAxICsNCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgfCAxMDYg KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgMiBmaWxlcyBjaGFu Z2VkLCA2MCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaA0KPiBpbmRleCBiNTlkYTJjLi4yMTVkNDdiIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgNCj4gQEAgLTI2NjMsNiArMjY2Myw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlIHsNCj4gIAlzdHJ1Y3Qgew0KPiAgCQlzdHJ1Y3QgcG11IGJhc2U7DQo+ICAJCXNwaW5sb2Nr X3QgbG9jazsNCj4gKwkJdW5zaWduZWQgaW50IHJlZjsNCj4gIAkJc3RydWN0IGhydGltZXIgdGlt ZXI7DQo+ICAJCWJvb2wgdGltZXJfZW5hYmxlZDsNCj4gIAkJdTY0IGVuYWJsZTsNCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BtdS5jDQo+IGluZGV4IGJjZGYyYmMuLjA5NzIyMDMgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wbXUuYw0KPiBAQCAtNDUxLDM0ICs0NTEsMzkgQEAgc3RhdGljIHZvaWQgaTkx NV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkNCj4gIAkJY29udGFpbmVyX29m KGV2ZW50LT5wbXUsIHR5cGVvZigqaTkxNSksIHBtdS5iYXNlKTsNCj4gIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUgPSBOVUxMOw0KPiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ICsJ Ym9vbCBzdGFydF90aW1lciA9IGZhbHNlOw0KPiAgDQo+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmk5 MTUtPnBtdS5sb2NrLCBmbGFncyk7DQo+ICANCj4gLQlpZiAoaXNfZW5naW5lX2V2ZW50KGV2ZW50 KSkgew0KPiAtCQllbmdpbmUgPSBpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwNCj4gLQkJ CQkJCSAgZW5naW5lX2V2ZW50X2NsYXNzKGV2ZW50KSwNCj4gLQkJCQkJCSAgZW5naW5lX2V2ZW50 X2luc3RhbmNlKGV2ZW50KSk7DQo+IC0JCUdFTV9CVUdfT04oIWVuZ2luZSk7DQo+IC0JCWVuZ2lu ZS0+cG11LmVuYWJsZSB8PSBCSVQoZW5naW5lX2V2ZW50X3NhbXBsZShldmVudCkpOw0KPiAtCX0N Cj4gLQ0KPiAtCWk5MTUtPnBtdS5lbmFibGUgfD0gZXZlbnRfZW5hYmxlZF9tYXNrKGV2ZW50KTsN Cj4gKwlpZiAoaTkxNS0+cG11LnJlZisrID09IDApIHsNClRoaXMgd2FzIGEgc3R1cGlkIG1lOiB3 aXRoIHRoaXMgSSBzdXBwb3J0IHNpbmdsZSBidXN5X3N0YXQgZXZlbnQgb25seS4NCkNvcnJlY3Qg d2F5IHRvIGRvIHRoYXQgaXMgdG8gbWFrZSBidXN5X3N0YXRzIGEgcmVmY291bnQuIEkgZGlkIHRo YXQgaW4NCnRoZSB1cGRhdGVkIHBhdGNoIHdoaWNoIEkganVzdCBzZW50LiBJIHdvbmRlciB3aGV0 aGVyIHRpbWVyIHN0YWZmIHNob3VsZA0KYmUgdXBkYXRlZCB3aXRoIHRoZSBzaW1pbGFyIHdheSwg YnV0IEkgYW0gbm90IHlldCB0cmllZCB0aGlzIHBhcnQgb2YgdGhlDQpjb2RlIHRvIGp1ZGdlLg0K PiArCQlpZiAoaXNfZW5naW5lX2V2ZW50KGV2ZW50KSkgew0KPiArCQkJZW5naW5lID0gaW50ZWxf ZW5naW5lX2xvb2t1cF91c2VyKGk5MTUsDQo+ICsJCQkJCQkJZW5naW5lX2V2ZW50X2NsYXNzKGV2 ZW50KSwNCj4gKwkJCQkJCQllbmdpbmVfZXZlbnRfaW5zdGFuY2UoZXZlbnQpKTsNCj4gKwkJCUdF TV9CVUdfT04oIWVuZ2luZSk7DQo+ICsJCQllbmdpbmUtPnBtdS5lbmFibGUgfD0gQklUKGVuZ2lu ZV9ldmVudF9zYW1wbGUoZXZlbnQpKTsNCj4gKwkJfQ0KPiAgDQo+IC0JaWYgKHBtdV9uZWVkc190 aW1lcihpOTE1LCB0cnVlKSAmJiAhaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQpIHsNCj4gLQkJaHJ0 aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLA0KPiAtCQkJCSAgICAgICBuc190 b19rdGltZShQRVJJT0QpLCAwLA0KPiAtCQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5F RCk7DQo+IC0JCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsNCj4gLQl9IGVsc2UgaWYg KGlzX2VuZ2luZV9ldmVudChldmVudCkgJiYgZW5naW5lX25lZWRzX2J1c3lfc3RhdHMoZW5naW5l KSAmJg0KPiAtCQkgICAhZW5naW5lLT5wbXUuYnVzeV9zdGF0cykgew0KPiAtCQllbmdpbmUtPnBt dS5idXN5X3N0YXRzID0gdHJ1ZTsNCj4gLQkJaWYgKCFjYW5jZWxfZGVsYXllZF93b3JrKCZlbmdp bmUtPnBtdS5kaXNhYmxlX2J1c3lfc3RhdHMpKQ0KPiAtCQkJcXVldWVfd29yayhpOTE1LT53cSwg JmVuZ2luZS0+cG11LmVuYWJsZV9idXN5X3N0YXRzKTsNCj4gKwkJaTkxNS0+cG11LmVuYWJsZSB8 PSBldmVudF9lbmFibGVkX21hc2soZXZlbnQpOw0KPiArDQo+ICsJCWlmIChwbXVfbmVlZHNfdGlt ZXIoaTkxNSwgdHJ1ZSkgJiYgIWk5MTUtPnBtdS50aW1lcl9lbmFibGVkKSB7DQo+ICsJCQlocnRp bWVyX3N0YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGltZXIsDQo+ICsJCQkJCQluc190b19rdGlt ZShQRVJJT0QpLCAwLA0KPiArCQkJCQkJSFJUSU1FUl9NT0RFX1JFTF9QSU5ORUQpOw0KPiArCQkJ aTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgPSB0cnVlOw0KPiArCQl9IGVsc2UgaWYgKGlzX2VuZ2lu ZV9ldmVudChldmVudCkgJiYgZW5naW5lX25lZWRzX2J1c3lfc3RhdHMoZW5naW5lKSAmJg0KPiAr CQkJIWVuZ2luZS0+cG11LmJ1c3lfc3RhdHMpIHsNCj4gKwkJCWVuZ2luZS0+cG11LmJ1c3lfc3Rh dHMgPSB0cnVlOw0KPiArCQkJaWYgKCFjYW5jZWxfZGVsYXllZF93b3JrKCZlbmdpbmUtPnBtdS5k aXNhYmxlX2J1c3lfc3RhdHMpKQ0KPiArCQkJCXF1ZXVlX3dvcmsoaTkxNS0+d3EsICZlbmdpbmUt PnBtdS5lbmFibGVfYnVzeV9zdGF0cyk7DQo+ICsJCX0NCj4gKwkJc3RhcnRfdGltZXIgPSB0cnVl Ow0KPiAgCX0NCj4gIA0KPiAgCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2Nr LCBmbGFncyk7DQo+ICANCj4gLQlpOTE1X3BtdV90aW1lcl9zdGFydChldmVudCk7DQo+ICsJaWYg KHN0YXJ0X3RpbWVyKQ0KPiArCQlpOTE1X3BtdV90aW1lcl9zdGFydChldmVudCk7DQo+ICB9DQo+ ICANCj4gIHN0YXRpYyB2b2lkIGk5MTVfcG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50KQ0KPiBAQCAtNDg2LDQwICs0OTEsNDUgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZGlzYWJs ZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpDQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPQ0KPiAgCQljb250YWluZXJfb2YoZXZlbnQtPnBtdSwgdHlwZW9mKCppOTE1KSwgcG11 LmJhc2UpOw0KPiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ICsJYm9vbCB0aW1lcl9jYW5jZWwg PSB0cnVlOw0KPiAgCXU2NCBtYXNrOw0KPiAgDQo+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmk5MTUt PnBtdS5sb2NrLCBmbGFncyk7DQo+ICANCj4gLQlpZiAoaXNfZW5naW5lX2V2ZW50KGV2ZW50KSkg ew0KPiAtCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7DQo+IC0JCWVudW0gaW50ZWxf ZW5naW5lX2lkIGlkOw0KPiAtDQo+IC0JCWVuZ2luZSA9IGludGVsX2VuZ2luZV9sb29rdXBfdXNl cihpOTE1LA0KPiAtCQkJCQkJICBlbmdpbmVfZXZlbnRfY2xhc3MoZXZlbnQpLA0KPiAtCQkJCQkJ ICBlbmdpbmVfZXZlbnRfaW5zdGFuY2UoZXZlbnQpKTsNCj4gLQkJR0VNX0JVR19PTighZW5naW5l KTsNCj4gLQkJZW5naW5lLT5wbXUuZW5hYmxlICY9IH5CSVQoZW5naW5lX2V2ZW50X3NhbXBsZShl dmVudCkpOw0KPiAtCQlpZiAoZW5naW5lLT5wbXUuYnVzeV9zdGF0cyAmJg0KPiAtCQkgICAgIWVu Z2luZV9uZWVkc19idXN5X3N0YXRzKGVuZ2luZSkpIHsNCj4gLQkJCWVuZ2luZS0+cG11LmJ1c3lf c3RhdHMgPSBmYWxzZTsNCj4gLQkJCXF1ZXVlX2RlbGF5ZWRfd29yayhpOTE1LT53cSwNCj4gLQkJ CQkJICAgJmVuZ2luZS0+cG11LmRpc2FibGVfYnVzeV9zdGF0cywNCj4gLQkJCQkJICAgcm91bmRf amlmZmllc191cF9yZWxhdGl2ZSgyICogSFopKTsNCj4gKwlpZiAoaTkxNS0+cG11LnJlZiAmJiAt LWk5MTUtPnBtdS5yZWYgPT0gMCkgew0KPiArCQlpZiAoaXNfZW5naW5lX2V2ZW50KGV2ZW50KSkg ew0KPiArCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOw0KPiArCQkJZW51bSBpbnRl bF9lbmdpbmVfaWQgaWQ7DQo+ICsNCj4gKwkJCWVuZ2luZSA9IGludGVsX2VuZ2luZV9sb29rdXBf dXNlcihpOTE1LA0KPiArCQkJCQkJCWVuZ2luZV9ldmVudF9jbGFzcyhldmVudCksDQo+ICsJCQkJ CQkJZW5naW5lX2V2ZW50X2luc3RhbmNlKGV2ZW50KSk7DQo+ICsJCQlHRU1fQlVHX09OKCFlbmdp bmUpOw0KPiArCQkJZW5naW5lLT5wbXUuZW5hYmxlICY9IH5CSVQoZW5naW5lX2V2ZW50X3NhbXBs ZShldmVudCkpOw0KPiArCQkJaWYgKGVuZ2luZS0+cG11LmJ1c3lfc3RhdHMgJiYNCj4gKwkJCQkh ZW5naW5lX25lZWRzX2J1c3lfc3RhdHMoZW5naW5lKSkgew0KPiArCQkJCWVuZ2luZS0+cG11LmJ1 c3lfc3RhdHMgPSBmYWxzZTsNCj4gKwkJCQlxdWV1ZV9kZWxheWVkX3dvcmsoaTkxNS0+d3EsDQo+ ICsJCQkJCQkmZW5naW5lLT5wbXUuZGlzYWJsZV9idXN5X3N0YXRzLA0KPiArCQkJCQkJcm91bmRf amlmZmllc191cF9yZWxhdGl2ZSgyICogSFopKTsNCj4gKwkJCX0NCj4gKwkJCW1hc2sgPSAwOw0K PiArCQkJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpDQo+ICsJCQkJbWFzayB8PSBl bmdpbmUtPnBtdS5lbmFibGU7DQo+ICsJCQltYXNrID0gKH5tYXNrKSAmIEVOR0lORV9TQU1QTEVf TUFTSzsNCj4gKwkJfSBlbHNlIHsNCj4gKwkJCW1hc2sgPSBldmVudF9lbmFibGVkX21hc2soZXZl bnQpOw0KPiAgCQl9DQo+IC0JCW1hc2sgPSAwOw0KPiAtCQlmb3JfZWFjaF9lbmdpbmUoZW5naW5l LCBpOTE1LCBpZCkNCj4gLQkJCW1hc2sgfD0gZW5naW5lLT5wbXUuZW5hYmxlOw0KPiAtCQltYXNr ID0gKH5tYXNrKSAmIEVOR0lORV9TQU1QTEVfTUFTSzsNCj4gLQl9IGVsc2Ugew0KPiAtCQltYXNr ID0gZXZlbnRfZW5hYmxlZF9tYXNrKGV2ZW50KTsNCj4gLQl9DQo+ICANCj4gLQlpOTE1LT5wbXUu ZW5hYmxlICY9IH5tYXNrOw0KPiAtCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkICY9IHBtdV9uZWVk c190aW1lcihpOTE1LCB0cnVlKTsNCj4gKwkJaTkxNS0+cG11LmVuYWJsZSAmPSB+bWFzazsNCj4g KwkJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgJj0gcG11X25lZWRzX3RpbWVyKGk5MTUsIHRydWUp Ow0KPiArCQl0aW1lcl9jYW5jZWwgPSB0cnVlOw0KPiArCX0NCj4gIA0KPiAgCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7DQo+ICANCj4gLQlpOTE1X3BtdV90 aW1lcl9jYW5jZWwoZXZlbnQpOw0KPiArCWlmICh0aW1lcl9jYW5jZWwpDQo+ICsJCWk5MTVfcG11 X3RpbWVyX2NhbmNlbChldmVudCk7DQo+ICB9DQo+ICANCj4gIHN0YXRpYyB2b2lkIGk5MTVfcG11 X2V2ZW50X3N0YXJ0KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCwgaW50IGZsYWdzKQ0KPiBAQCAt NTI5LDYgKzUzOSw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X2V2ZW50X3N0YXJ0KHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCwgaW50IGZsYWdzKQ0KPiAgDQo+ICBzdGF0aWMgdm9pZCBpOTE1X3Bt dV9ldmVudF9zdG9wKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCwgaW50IGZsYWdzKQ0KPiAgew0K PiArCWlmIChmbGFncyAmIFBFUkZfRUZfVVBEQVRFKQ0KPiArCQlpOTE1X3BtdV9ldmVudF9yZWFk KGV2ZW50KTsNCj4gIAlpOTE1X3BtdV9kaXNhYmxlKGV2ZW50KTsNCj4gIH0NCj4gIA0KPiBAQCAt NTQ2LDcgKzU1OCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9wbXVfZXZlbnRfYWRkKHN0cnVjdCBwZXJm X2V2ZW50ICpldmVudCwgaW50IGZsYWdzKQ0KPiAgDQo+ICBzdGF0aWMgdm9pZCBpOTE1X3BtdV9l dmVudF9kZWwoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxhZ3MpDQo+ICB7DQo+IC0J aTkxNV9wbXVfZGlzYWJsZShldmVudCk7DQo+ICsJaTkxNV9wbXVfZXZlbnRfc3RvcChldmVudCwg UEVSRl9FRl9VUERBVEUpOw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgaW50IGk5MTVfcG11X2V2ZW50 X2V2ZW50X2lkeChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpDQo+IEBAIC02ODcsNyArNjk5LDcg QEAgdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkN Cj4gIAkJcmV0dXJuOw0KPiAgDQo+ICAJaTkxNS0+cG11LmJhc2UuYXR0cl9ncm91cHMJPSBpOTE1 X3BtdV9hdHRyX2dyb3VwczsNCj4gLQlpOTE1LT5wbXUuYmFzZS50YXNrX2N0eF9ucgk9IHBlcmZf c3dfY29udGV4dDsNCj4gKwlpOTE1LT5wbXUuYmFzZS50YXNrX2N0eF9ucgk9IHBlcmZfaW52YWxp ZF9jb250ZXh0Ow0KPiAgCWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQJPSBpOTE1X3BtdV9ldmVu dF9pbml0Ow0KPiAgCWk5MTUtPnBtdS5iYXNlLmFkZAkJPSBpOTE1X3BtdV9ldmVudF9hZGQ7DQo+ ICAJaTkxNS0+cG11LmJhc2UuZGVsCQk9IGk5MTVfcG11X2V2ZW50X2RlbDsNCg0KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==