From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [PATCH 03/18] drm/i915/gtt: Allow >= 4GB sizes for vm. Date: Thu, 25 Jun 2015 18:46:06 +0100 Message-ID: <558C3E5E.1000506@intel.com> References: <1435246520-14745-1-git-send-email-mika.kuoppala@intel.com> <1435246520-14745-4-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 811536E085 for ; Thu, 25 Jun 2015 10:46:15 -0700 (PDT) In-Reply-To: <1435246520-14745-4-git-send-email-mika.kuoppala@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala , "intel-gfx@lists.freedesktop.org" Cc: "miku@iki.fi" List-Id: intel-gfx@lists.freedesktop.org T24gNi8yNS8yMDE1IDQ6MzUgUE0sIE1pa2EgS3VvcHBhbGEgd3JvdGU6Cj4gV2UgY2FuIGhhdmUg ZXhhY3RseSA0R0Igc2l6ZWQgcHBndHQgd2l0aCAzMmJpdCBzeXN0ZW0uCj4gc2l6ZV90IGlzIGlu YWRlcXVhdGUgZm9yIHRoaXMuCj4KPiB2MjogQ29udmVydCBhIGxvdCBtb3JlIHBsYWNlcyAoRGFu aWVsKQoKTG9va3MgZ29vZCB0byBtZS4KClRoZSBvbmx5IHBvc3NpYmxlIHJlbWFpbmluZyBzaXpl X3QgYXJlIHRoZSByZXR1cm4gdmFsdWVzIGluIHRoZSAKKl9wdGVfY291bnQgZnVuY3Rpb25zIGlu IGk5MTVfZ2VtX2d0dC5oLCBidXQgdGhlc2Ugd29uJ3QgcmV0dXJuIGFueXRoaW5nIApsYXJnZXIg dGhhbiAnNTEyJyAoc28gdGhleSBjb3VsZCBiZSB1MzIgaWYgd2Ugd2FudCB0byBnZXQgcmlkIG9m IHNpemVfdCAKY29tcGxldGVseSkuCgpJIGFsc28gdHJpZWQgcmV2ZXJ0aW5nIGNvbW1pdCA1MDFm ZDcwZiAoImRybS9pOTE1OiBsaW1pdCBQUEdUVCBzaXplIHRvIAoyR0IgaW4gMzItYml0IHBsYXRm b3JtcyIpIGluIGEgYmR3IHJ1bm5pbmcgYSAzMi1iaXQga2VybmVsIGFuZCBpdCB3b3JrZWQgCmZp bmUuCgpSZXZpZXdlZC1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNv bT4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVs LmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMgICAgICAgIHwgIDQg KystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCA0MiArKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jICAgICB8ICA2ICsrKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMgfCAyMiArKysrKysrKystLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaCB8IDEyICsrKysrLS0tLS0tCj4gICBpbmNsdWRlL2RybS9pbnRlbC1n dHQuaCAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgIDYgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0 aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2Fn cC9pbnRlbC1ndHQuYyBiL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKPiBpbmRleCAwYjQx ODhiLi40NzM0ZDAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMK PiArKysgYi9kcml2ZXJzL2NoYXIvYWdwL2ludGVsLWd0dC5jCj4gQEAgLTE0MDgsOCArMTQwOCw4 IEBAIGludCBpbnRlbF9nbWNoX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfcGRldiwgc3Ry dWN0IHBjaV9kZXYgKmdwdV9wZGV2LAo+ICAgfQo+ICAgRVhQT1JUX1NZTUJPTChpbnRlbF9nbWNo X3Byb2JlKTsKPgo+IC12b2lkIGludGVsX2d0dF9nZXQoc2l6ZV90ICpndHRfdG90YWwsIHNpemVf dCAqc3RvbGVuX3NpemUsCj4gLSAgICAgICAgICAgICAgICAgIHBoeXNfYWRkcl90ICptYXBwYWJs ZV9iYXNlLCB1bnNpZ25lZCBsb25nICptYXBwYWJsZV9lbmQpCj4gK3ZvaWQgaW50ZWxfZ3R0X2dl dCh1NjQgKmd0dF90b3RhbCwgc2l6ZV90ICpzdG9sZW5fc2l6ZSwKPiArICAgICAgICAgICAgICAg ICAgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2UsIHU2NCAqbWFwcGFibGVfZW5kKQo+ICAgewo+ ICAgICAgICAgICpndHRfdG90YWwgPSBpbnRlbF9wcml2YXRlLmd0dF90b3RhbF9lbnRyaWVzIDw8 IFBBR0VfU0hJRlQ7Cj4gICAgICAgICAgKnN0b2xlbl9zaXplID0gaW50ZWxfcHJpdmF0ZS5zdG9s ZW5fc2l6ZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IGYzYjgwNjIu LmM2NTRiN2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xOTgs NyArMTk4LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfbGlzdF9pbmZvKHN0cnVjdCBz ZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgICAgICAgIHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtID0gJmRldl9wcml2LT5ndHQuYmFzZTsKPiAgICAgICAgICBzdHJ1Y3Qg aTkxNV92bWEgKnZtYTsKPiAtICAgICAgIHNpemVfdCB0b3RhbF9vYmpfc2l6ZSwgdG90YWxfZ3R0 X3NpemU7Cj4gKyAgICAgICB1NjQgdG90YWxfb2JqX3NpemUsIHRvdGFsX2d0dF9zaXplOwo+ICAg ICAgICAgIGludCBjb3VudCwgcmV0Owo+Cj4gICAgICAgICAgcmV0ID0gbXV0ZXhfbG9ja19pbnRl cnJ1cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gQEAgLTIzMSw3ICsyMzEsNyBAQCBzdGF0 aWMgaW50IGk5MTVfZ2VtX29iamVjdF9saXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lk ICpkYXRhKQo+ICAgICAgICAgIH0KPiAgICAgICAgICBtdXRleF91bmxvY2soJmRldi0+c3RydWN0 X211dGV4KTsKPgo+IC0gICAgICAgc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2JqZWN0cywgJXp1 IGJ5dGVzLCAlenUgR1RUIHNpemVcbiIsCj4gKyAgICAgICBzZXFfcHJpbnRmKG0sICJUb3RhbCAl ZCBvYmplY3RzLCAlbGx1IGJ5dGVzLCAlbGx1IEdUVCBzaXplXG4iLAo+ICAgICAgICAgICAgICAg ICAgICAgY291bnQsIHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZSk7Cj4gICAgICAgICAg cmV0dXJuIDA7Cj4gICB9Cj4gQEAgLTI1Myw3ICsyNTMsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2Vt X3N0b2xlbl9saXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAgICAg ICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+ICAgICAgICAg IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g ICAgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAtICAgICAgIHNpemVf dCB0b3RhbF9vYmpfc2l6ZSwgdG90YWxfZ3R0X3NpemU7Cj4gKyAgICAgICB1NjQgdG90YWxfb2Jq X3NpemUsIHRvdGFsX2d0dF9zaXplOwo+ICAgICAgICAgIExJU1RfSEVBRChzdG9sZW4pOwo+ICAg ICAgICAgIGludCBjb3VudCwgcmV0Owo+Cj4gQEAgLTI5Miw3ICsyOTIsNyBAQCBzdGF0aWMgaW50 IGk5MTVfZ2VtX3N0b2xlbl9saXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRh KQo+ICAgICAgICAgIH0KPiAgICAgICAgICBtdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4 KTsKPgo+IC0gICAgICAgc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2JqZWN0cywgJXp1IGJ5dGVz LCAlenUgR1RUIHNpemVcbiIsCj4gKyAgICAgICBzZXFfcHJpbnRmKG0sICJUb3RhbCAlZCBvYmpl Y3RzLCAlbGx1IGJ5dGVzLCAlbGx1IEdUVCBzaXplXG4iLAo+ICAgICAgICAgICAgICAgICAgICAg Y291bnQsIHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZSk7Cj4gICAgICAgICAgcmV0dXJu IDA7Cj4gICB9Cj4gQEAgLTMxMCwxMCArMzEwLDEwIEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fc3Rv bGVuX2xpc3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4KPiAgIHN0cnVj dCBmaWxlX3N0YXRzIHsKPiAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpm aWxlX3ByaXY7Cj4gLSAgICAgICBpbnQgY291bnQ7Cj4gLSAgICAgICBzaXplX3QgdG90YWwsIHVu Ym91bmQ7Cj4gLSAgICAgICBzaXplX3QgZ2xvYmFsLCBzaGFyZWQ7Cj4gLSAgICAgICBzaXplX3Qg YWN0aXZlLCBpbmFjdGl2ZTsKPiArICAgICAgIHVuc2lnbmVkIGxvbmcgY291bnQ7Cj4gKyAgICAg ICB1NjQgdG90YWwsIHVuYm91bmQ7Cj4gKyAgICAgICB1NjQgZ2xvYmFsLCBzaGFyZWQ7Cj4gKyAg ICAgICB1NjQgYWN0aXZlLCBpbmFjdGl2ZTsKPiAgIH07Cj4KPiAgIHN0YXRpYyBpbnQgcGVyX2Zp bGVfc3RhdHMoaW50IGlkLCB2b2lkICpwdHIsIHZvaWQgKmRhdGEpCj4gQEAgLTM3MCw3ICszNzAs NyBAQCBzdGF0aWMgaW50IHBlcl9maWxlX3N0YXRzKGludCBpZCwgdm9pZCAqcHRyLCB2b2lkICpk YXRhKQo+Cj4gICAjZGVmaW5lIHByaW50X2ZpbGVfc3RhdHMobSwgbmFtZSwgc3RhdHMpIGRvIHsg XAo+ICAgICAgICAgIGlmIChzdGF0cy5jb3VudCkgXAo+IC0gICAgICAgICAgICAgICBzZXFfcHJp bnRmKG0sICIlczogJXUgb2JqZWN0cywgJXp1IGJ5dGVzICglenUgYWN0aXZlLCAlenUgaW5hY3Rp dmUsICV6dSBnbG9iYWwsICV6dSBzaGFyZWQsICV6dSB1bmJvdW5kKVxuIiwgXAo+ICsgICAgICAg ICAgICAgICBzZXFfcHJpbnRmKG0sICIlczogJWx1IG9iamVjdHMsICVsbHUgYnl0ZXMgKCVsbHUg YWN0aXZlLCAlbGx1IGluYWN0aXZlLCAlbGx1IGdsb2JhbCwgJWxsdSBzaGFyZWQsICVsbHUgdW5i b3VuZClcbiIsIFwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgXAo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGF0cy5jb3VudCwgXAo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdGF0cy50b3RhbCwgXAo+IEBAIC00MjAsNyArNDIwLDcgQEAgc3RhdGljIGlu dCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQqIGRhdGEpCj4g ICAgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4gICAg ICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiAgICAgICAgICB1MzIgY291bnQsIG1hcHBhYmxlX2NvdW50LCBwdXJnZWFibGVfY291bnQ7 Cj4gLSAgICAgICBzaXplX3Qgc2l6ZSwgbWFwcGFibGVfc2l6ZSwgcHVyZ2VhYmxlX3NpemU7Cj4g KyAgICAgICB1NjQgc2l6ZSwgbWFwcGFibGVfc2l6ZSwgcHVyZ2VhYmxlX3NpemU7Cj4gICAgICAg ICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAgICAgICAgICBzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSA9ICZkZXZfcHJpdi0+Z3R0LmJhc2U7Cj4gICAgICAgICAgc3Ry dWN0IGRybV9maWxlICpmaWxlOwo+IEBAIC00MzcsMTcgKzQzNywxNyBAQCBzdGF0aWMgaW50IGk5 MTVfZ2VtX29iamVjdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCogZGF0YSkKPgo+ICAg ICAgICAgIHNpemUgPSBjb3VudCA9IG1hcHBhYmxlX3NpemUgPSBtYXBwYWJsZV9jb3VudCA9IDA7 Cj4gICAgICAgICAgY291bnRfb2JqZWN0cygmZGV2X3ByaXYtPm1tLmJvdW5kX2xpc3QsIGdsb2Jh bF9saXN0KTsKPiAtICAgICAgIHNlcV9wcmludGYobSwgIiV1IFsldV0gb2JqZWN0cywgJXp1IFsl enVdIGJ5dGVzIGluIGd0dFxuIiwKPiArICAgICAgIHNlcV9wcmludGYobSwgIiV1IFsldV0gb2Jq ZWN0cywgJWxsdSBbJWxsdV0gYnl0ZXMgaW4gZ3R0XG4iLAo+ICAgICAgICAgICAgICAgICAgICAg Y291bnQsIG1hcHBhYmxlX2NvdW50LCBzaXplLCBtYXBwYWJsZV9zaXplKTsKPgo+ICAgICAgICAg IHNpemUgPSBjb3VudCA9IG1hcHBhYmxlX3NpemUgPSBtYXBwYWJsZV9jb3VudCA9IDA7Cj4gICAg ICAgICAgY291bnRfdm1hcygmdm0tPmFjdGl2ZV9saXN0LCBtbV9saXN0KTsKPiAtICAgICAgIHNl cV9wcmludGYobSwgIiAgJXUgWyV1XSBhY3RpdmUgb2JqZWN0cywgJXp1IFslenVdIGJ5dGVzXG4i LAo+ICsgICAgICAgc2VxX3ByaW50ZihtLCAiICAldSBbJXVdIGFjdGl2ZSBvYmplY3RzLCAlbGx1 IFslbGx1XSBieXRlc1xuIiwKPiAgICAgICAgICAgICAgICAgICAgIGNvdW50LCBtYXBwYWJsZV9j b3VudCwgc2l6ZSwgbWFwcGFibGVfc2l6ZSk7Cj4KPiAgICAgICAgICBzaXplID0gY291bnQgPSBt YXBwYWJsZV9zaXplID0gbWFwcGFibGVfY291bnQgPSAwOwo+ICAgICAgICAgIGNvdW50X3ZtYXMo JnZtLT5pbmFjdGl2ZV9saXN0LCBtbV9saXN0KTsKPiAtICAgICAgIHNlcV9wcmludGYobSwgIiAg JXUgWyV1XSBpbmFjdGl2ZSBvYmplY3RzLCAlenUgWyV6dV0gYnl0ZXNcbiIsCj4gKyAgICAgICBz ZXFfcHJpbnRmKG0sICIgICV1IFsldV0gaW5hY3RpdmUgb2JqZWN0cywgJWxsdSBbJWxsdV0gYnl0 ZXNcbiIsCj4gICAgICAgICAgICAgICAgICAgICBjb3VudCwgbWFwcGFibGVfY291bnQsIHNpemUs IG1hcHBhYmxlX3NpemUpOwo+Cj4gICAgICAgICAgc2l6ZSA9IGNvdW50ID0gcHVyZ2VhYmxlX3Np emUgPSBwdXJnZWFibGVfY291bnQgPSAwOwo+IEBAIC00NTYsNyArNDU2LDcgQEAgc3RhdGljIGlu dCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQqIGRhdGEpCj4g ICAgICAgICAgICAgICAgICBpZiAob2JqLT5tYWR2ID09IEk5MTVfTUFEVl9ET05UTkVFRCkKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgcHVyZ2VhYmxlX3NpemUgKz0gb2JqLT5iYXNlLnNpemUs ICsrcHVyZ2VhYmxlX2NvdW50Owo+ICAgICAgICAgIH0KPiAtICAgICAgIHNlcV9wcmludGYobSwg IiV1IHVuYm91bmQgb2JqZWN0cywgJXp1IGJ5dGVzXG4iLCBjb3VudCwgc2l6ZSk7Cj4gKyAgICAg ICBzZXFfcHJpbnRmKG0sICIldSB1bmJvdW5kIG9iamVjdHMsICVsbHUgYnl0ZXNcbiIsIGNvdW50 LCBzaXplKTsKPgo+ICAgICAgICAgIHNpemUgPSBjb3VudCA9IG1hcHBhYmxlX3NpemUgPSBtYXBw YWJsZV9jb3VudCA9IDA7Cj4gICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShvYmosICZkZXZf cHJpdi0+bW0uYm91bmRfbGlzdCwgZ2xvYmFsX2xpc3QpIHsKPiBAQCAtNDczLDE2ICs0NzMsMTYg QEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQqIGRhdGEpCj4gICAgICAgICAgICAgICAgICAgICAgICAgICsrcHVyZ2VhYmxlX2NvdW50Owo+ ICAgICAgICAgICAgICAgICAgfQo+ICAgICAgICAgIH0KPiAtICAgICAgIHNlcV9wcmludGYobSwg IiV1IHB1cmdlYWJsZSBvYmplY3RzLCAlenUgYnl0ZXNcbiIsCj4gKyAgICAgICBzZXFfcHJpbnRm KG0sICIldSBwdXJnZWFibGUgb2JqZWN0cywgJWxsdSBieXRlc1xuIiwKPiAgICAgICAgICAgICAg ICAgICAgIHB1cmdlYWJsZV9jb3VudCwgcHVyZ2VhYmxlX3NpemUpOwo+IC0gICAgICAgc2VxX3By aW50ZihtLCAiJXUgcGlubmVkIG1hcHBhYmxlIG9iamVjdHMsICV6dSBieXRlc1xuIiwKPiArICAg ICAgIHNlcV9wcmludGYobSwgIiV1IHBpbm5lZCBtYXBwYWJsZSBvYmplY3RzLCAlbGx1IGJ5dGVz XG4iLAo+ICAgICAgICAgICAgICAgICAgICAgbWFwcGFibGVfY291bnQsIG1hcHBhYmxlX3NpemUp Owo+IC0gICAgICAgc2VxX3ByaW50ZihtLCAiJXUgZmF1bHQgbWFwcGFibGUgb2JqZWN0cywgJXp1 IGJ5dGVzXG4iLAo+ICsgICAgICAgc2VxX3ByaW50ZihtLCAiJXUgZmF1bHQgbWFwcGFibGUgb2Jq ZWN0cywgJWxsdSBieXRlc1xuIiwKPiAgICAgICAgICAgICAgICAgICAgIGNvdW50LCBzaXplKTsK Pgo+IC0gICAgICAgc2VxX3ByaW50ZihtLCAiJXp1IFslbHVdIGd0dCB0b3RhbFxuIiwKPiArICAg ICAgIHNlcV9wcmludGYobSwgIiVsbHUgWyVsbHVdIGd0dCB0b3RhbFxuIiwKPiAgICAgICAgICAg ICAgICAgICAgIGRldl9wcml2LT5ndHQuYmFzZS50b3RhbCwKPiAtICAgICAgICAgICAgICAgICAg ZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQgLSBkZXZfcHJpdi0+Z3R0LmJhc2Uuc3RhcnQpOwo+ ICsgICAgICAgICAgICAgICAgICAodTY0KWRldl9wcml2LT5ndHQubWFwcGFibGVfZW5kIC0gZGV2 X3ByaXYtPmd0dC5iYXNlLnN0YXJ0KTsKPgo+ICAgICAgICAgIHNlcV9wdXRjKG0sICdcbicpOwo+ ICAgICAgICAgIHByaW50X2JhdGNoX3Bvb2xfc3RhdHMobSwgZGV2X3ByaXYpOwo+IEBAIC01MTks NyArNTE5LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9ndHRfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKmRhdGEpCj4gICAgICAgICAgdWludHB0cl90IGxpc3QgPSAodWludHB0cl90KSBu b2RlLT5pbmZvX2VudC0+ZGF0YTsKPiAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmo7Cj4gLSAgICAgICBzaXplX3QgdG90YWxfb2JqX3NpemUsIHRvdGFsX2d0 dF9zaXplOwo+ICsgICAgICAgdTY0IHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZTsKPiAg ICAgICAgICBpbnQgY291bnQsIHJldDsKPgo+ICAgICAgICAgIHJldCA9IG11dGV4X2xvY2tfaW50 ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IEBAIC01NDEsNyArNTQxLDcgQEAgc3Rh dGljIGludCBpOTE1X2dlbV9ndHRfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEp Cj4KPiAgICAgICAgICBtdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPgo+IC0gICAg ICAgc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2JqZWN0cywgJXp1IGJ5dGVzLCAlenUgR1RUIHNp emVcbiIsCj4gKyAgICAgICBzZXFfcHJpbnRmKG0sICJUb3RhbCAlZCBvYmplY3RzLCAlbGx1IGJ5 dGVzLCAlbGx1IEdUVCBzaXplXG4iLAo+ICAgICAgICAgICAgICAgICAgICAgY291bnQsIHRvdGFs X29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZSk7Cj4KPiAgICAgICAgICByZXR1cm4gMDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCA1MmVmZTQzLi5jYzViZjkzIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4gQEAgLTM3MTIsOSArMzcxMiw5IEBAIGk5MTVfZ2VtX29iamVjdF9i aW5kX3RvX3ZtKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gICAgICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7Cj4gICAgICAgICAgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgICAgICAgICB1 MzIgc2l6ZSwgZmVuY2Vfc2l6ZSwgZmVuY2VfYWxpZ25tZW50LCB1bmZlbmNlZF9hbGlnbm1lbnQ7 Cj4gLSAgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0ID0KPiArICAgICAgIHU2NCBzdGFydCA9Cj4g ICAgICAgICAgICAgICAgICBmbGFncyAmIFBJTl9PRkZTRVRfQklBUyA/IGZsYWdzICYgUElOX09G RlNFVF9NQVNLIDogMDsKPiAtICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kID0KPiArICAgICAgIHU2 NCBlbmQgPQo+ICAgICAgICAgICAgICAgICAgZmxhZ3MgJiBQSU5fTUFQUEFCTEUgPyBkZXZfcHJp di0+Z3R0Lm1hcHBhYmxlX2VuZCA6IHZtLT50b3RhbDsKPiAgICAgICAgICBzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKPiAgICAgICAgICBpbnQgcmV0Owo+IEBAIC0zNzcwLDcgKzM3NzAsNyBAQCBpOTE1 X2dlbV9vYmplY3RfYmluZF90b192bShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ ICAgICAgICAgICAqIGF0dGVtcHQgdG8gZmluZCBzcGFjZS4KPiAgICAgICAgICAgKi8KPiAgICAg ICAgICBpZiAoc2l6ZSA+IGVuZCkgewo+IC0gICAgICAgICAgICAgICBEUk1fREVCVUcoIkF0dGVt cHRpbmcgdG8gYmluZCBhbiBvYmplY3QgKHZpZXcgdHlwZT0ldSkgbGFyZ2VyIHRoYW4gdGhlIGFw ZXJ0dXJlOiBzaXplPSV1ID4gJXMgYXBlcnR1cmU9JWx1XG4iLAo+ICsgICAgICAgICAgICAgICBE Uk1fREVCVUcoIkF0dGVtcHRpbmcgdG8gYmluZCBhbiBvYmplY3QgKHZpZXcgdHlwZT0ldSkgbGFy Z2VyIHRoYW4gdGhlIGFwZXJ0dXJlOiBzaXplPSV1ID4gJXMgYXBlcnR1cmU9JWxsdVxuIiwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnZ3R0X3ZpZXcgPyBnZ3R0X3ZpZXctPnR5cGUgOiAw LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUsCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgZmxhZ3MgJiBQSU5fTUFQUEFCTEUgPyAibWFwcGFibGUiIDogInRvdGFsIiwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IDY4NzA1ZTMuLjdhNzc4OWUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IEBAIC0yMTEyLDcgKzIxMTIsNyBA QCBzdGF0aWMgaW50IGk5MTVfZ2VtX3NldHVwX2dsb2JhbF9ndHQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAgIHZvaWQgaTkxNV9nZW1faW5pdF9nbG9iYWxfZ3R0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gICB7Cj4gICAgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtICAgICAgIHVuc2lnbmVkIGxvbmcgZ3R0X3NpemUsIG1h cHBhYmxlX3NpemU7Cj4gKyAgICAgICB1NjQgZ3R0X3NpemUsIG1hcHBhYmxlX3NpemU7Cj4KPiAg ICAgICAgICBndHRfc2l6ZSA9IGRldl9wcml2LT5ndHQuYmFzZS50b3RhbDsKPiAgICAgICAgICBt YXBwYWJsZV9zaXplID0gZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQ7Cj4gQEAgLTIzNjksMTMg KzIzNjksMTMgQEAgc3RhdGljIHZvaWQgY2h2X3NldHVwX3ByaXZhdGVfcHBhdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICB9Cj4KPiAgIHN0YXRpYyBpbnQgZ2VuOF9nbWNo X3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZV90ICpndHRfdG90YWwsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0ICpn dHRfdG90YWwsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAqc3RvbGVuLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICptYXBwYWJsZV9lbmQp Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0ICptYXBwYWJsZV9lbmQpCj4gICB7Cj4g ICAgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKPiAtICAgICAgIHVuc2lnbmVkIGludCBndHRfc2l6ZTsKPiArICAgICAgIHU2NCBndHRf c2l6ZTsKPiAgICAgICAgICB1MTYgc25iX2dtY2hfY3RsOwo+ICAgICAgICAgIGludCByZXQ7Cj4K PiBAQCAtMjQxNywxMCArMjQxNywxMCBAQCBzdGF0aWMgaW50IGdlbjhfZ21jaF9wcm9iZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgfQo+Cj4gICBzdGF0aWMgaW50IGdlbjZfZ21jaF9wcm9i ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHNp emVfdCAqZ3R0X3RvdGFsLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHU2NCAqZ3R0X3Rv dGFsLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnN0b2xlbiwKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2UsCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbWFwcGFibGVfZW5kKQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIHU2NCAqbWFwcGFibGVfZW5kKQo+ICAgewo+ICAgICAg ICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4gICAgICAgICAgdW5zaWduZWQgaW50IGd0dF9zaXplOwo+IEBAIC0yNDM0LDcgKzI0MzQsNyBA QCBzdGF0aWMgaW50IGdlbjZfZ21jaF9wcm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAg ICAgICAgICAqIGEgY29hcnNlIHNhbml0eSBjaGVjay4KPiAgICAgICAgICAgKi8KPiAgICAgICAg ICBpZiAoKCptYXBwYWJsZV9lbmQgPCAoNjQ8PDIwKSB8fCAoKm1hcHBhYmxlX2VuZCA+ICg1MTI8 PDIwKSkpKSB7Cj4gLSAgICAgICAgICAgICAgIERSTV9FUlJPUigiVW5rbm93biBHTUFEUiBzaXpl ICglbHgpXG4iLAo+ICsgICAgICAgICAgICAgICBEUk1fRVJST1IoIlVua25vd24gR01BRFIgc2l6 ZSAoJWxseClcbiIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPmd0dC5t YXBwYWJsZV9lbmQpOwo+ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTlhJTzsKPiAgICAgICAg ICB9Cj4gQEAgLTI0NjgsMTAgKzI0NjgsMTAgQEAgc3RhdGljIHZvaWQgZ2VuNl9nbWNoX3JlbW92 ZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgIH0KPgo+ICAgc3RhdGljIGludCBp OTE1X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplX3QgKmd0dF90b3RhbCwKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICB1NjQgKmd0dF90b3RhbCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpz dG9sZW4sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoeXNfYWRkcl90ICptYXBwYWJs ZV9iYXNlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKm1hcHBh YmxlX2VuZCkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgKm1hcHBhYmxlX2VuZCkK PiAgIHsKPiAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+ICAgICAgICAgIGludCByZXQ7Cj4gQEAgLTI1MzYsOSArMjUzNiw5IEBA IGludCBpOTE1X2dlbV9ndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgICAgICAg IGd0dC0+YmFzZS5kZXYgPSBkZXY7Cj4KPiAgICAgICAgICAvKiBHTUFEUiBpcyB0aGUgUENJIG1t aW8gYXBlcnR1cmUgaW50byB0aGUgZ2xvYmFsIEdUVC4gKi8KPiAtICAgICAgIERSTV9JTkZPKCJN ZW1vcnkgdXNhYmxlIGJ5IGdyYXBoaWNzIGRldmljZSA9ICV6ZE1cbiIsCj4gKyAgICAgICBEUk1f SU5GTygiTWVtb3J5IHVzYWJsZSBieSBncmFwaGljcyBkZXZpY2UgPSAlbGx1TVxuIiwKPiAgICAg ICAgICAgICAgICAgICBndHQtPmJhc2UudG90YWwgPj4gMjApOwo+IC0gICAgICAgRFJNX0RFQlVH X0RSSVZFUigiR01BRFIgc2l6ZSA9ICVsZE1cbiIsIGd0dC0+bWFwcGFibGVfZW5kID4+IDIwKTsK PiArICAgICAgIERSTV9ERUJVR19EUklWRVIoIkdNQURSIHNpemUgPSAlbGxkTVxuIiwgZ3R0LT5t YXBwYWJsZV9lbmQgPj4gMjApOwo+ICAgICAgICAgIERSTV9ERUJVR19EUklWRVIoIkdUVCBzdG9s ZW4gc2l6ZSA9ICV6ZE1cbiIsIGd0dC0+c3RvbGVuX3NpemUgPj4gMjApOwo+ICAgI2lmZGVmIENP TkZJR19JTlRFTF9JT01NVQo+ICAgICAgICAgIGlmIChpbnRlbF9pb21tdV9nZnhfbWFwcGVkKQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gaW5kZXggMDE3ZWEzMC4uNjAwZWVjMCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gQEAgLTIzNSw4ICsyMzUsOCBA QCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKPiAgICAgICAgICBzdHJ1Y3QgZHJtX21tIG1t Owo+ICAgICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gICAgICAgICAgc3RydWN0IGxp c3RfaGVhZCBnbG9iYWxfbGluazsKPiAtICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnQ7ICAgICAg ICAgICAgLyogU3RhcnQgb2Zmc2V0IGFsd2F5cyAwIGZvciBkcmkyICovCj4gLSAgICAgICBzaXpl X3QgdG90YWw7ICAgICAgICAgICAvKiBzaXplIGFkZHIgc3BhY2UgbWFwcyAoZXguIDJHQiBmb3Ig Z2d0dCkgKi8KPiArICAgICAgIHU2NCBzdGFydDsgICAgICAgICAgICAgIC8qIFN0YXJ0IG9mZnNl dCBhbHdheXMgMCBmb3IgZHJpMiAqLwo+ICsgICAgICAgdTY0IHRvdGFsOyAgICAgICAgICAgICAg Lyogc2l6ZSBhZGRyIHNwYWNlIG1hcHMgKGV4LiAyR0IgZm9yIGdndHQpICovCj4KPiAgICAgICAg ICBzdHJ1Y3Qgewo+ICAgICAgICAgICAgICAgICAgZG1hX2FkZHJfdCBhZGRyOwo+IEBAIC0zMDIs OSArMzAyLDkgQEAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSB7Cj4gICAgKi8KPiAgIHN0cnVj dCBpOTE1X2d0dCB7Cj4gICAgICAgICAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSBiYXNlOwo+ IC0gICAgICAgc2l6ZV90IHN0b2xlbl9zaXplOyAgICAgICAgICAgICAvKiBUb3RhbCBzaXplIG9m IHN0b2xlbiBtZW1vcnkgKi8KPgo+IC0gICAgICAgdW5zaWduZWQgbG9uZyBtYXBwYWJsZV9lbmQ7 ICAgICAvKiBFbmQgb2Zmc2V0IHRoYXQgd2UgY2FuIENQVSBtYXAgKi8KPiArICAgICAgIHNpemVf dCBzdG9sZW5fc2l6ZTsgICAgICAgICAgICAgLyogVG90YWwgc2l6ZSBvZiBzdG9sZW4gbWVtb3J5 ICovCj4gKyAgICAgICB1NjQgbWFwcGFibGVfZW5kOyAgICAgICAgICAgICAgIC8qIEVuZCBvZmZz ZXQgdGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLwo+ICAgICAgICAgIHN0cnVjdCBpb19tYXBwaW5nICpt YXBwYWJsZTsgICAgLyogTWFwcGluZyB0byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLwo+ICAg ICAgICAgIHBoeXNfYWRkcl90IG1hcHBhYmxlX2Jhc2U7ICAgICAgLyogUEEgb2Ygb3VyIEdNQURS ICovCj4KPiBAQCAtMzE2LDkgKzMxNiw5IEBAIHN0cnVjdCBpOTE1X2d0dCB7Cj4gICAgICAgICAg aW50IG10cnI7Cj4KPiAgICAgICAgICAvKiBnbG9iYWwgZ3R0IG9wcyAqLwo+IC0gICAgICAgaW50 ICgqZ3R0X3Byb2JlKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3QgKmd0dF90b3RhbCwK PiArICAgICAgIGludCAoKmd0dF9wcm9iZSkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTY0ICpn dHRfdG90YWwsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpzdG9sZW4sIHBo eXNfYWRkcl90ICptYXBwYWJsZV9iYXNlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgbG9uZyAqbWFwcGFibGVfZW5kKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHU2 NCAqbWFwcGFibGVfZW5kKTsKPiAgIH07Cj4KPiAgIHN0cnVjdCBpOTE1X2h3X3BwZ3R0IHsKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmggYi9pbmNsdWRlL2RybS9pbnRlbC1n dHQuaAo+IGluZGV4IGIwOGJkYWQuLjllOWJkZGFhNSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2Ry bS9pbnRlbC1ndHQuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oCj4gQEAgLTMsOCAr Myw4IEBACj4gICAjaWZuZGVmIF9EUk1fSU5URUxfR1RUX0gKPiAgICNkZWZpbmUgICAgICAgIF9E Uk1fSU5URUxfR1RUX0gKPgo+IC12b2lkIGludGVsX2d0dF9nZXQoc2l6ZV90ICpndHRfdG90YWws IHNpemVfdCAqc3RvbGVuX3NpemUsCj4gLSAgICAgICAgICAgICAgICAgIHBoeXNfYWRkcl90ICpt YXBwYWJsZV9iYXNlLCB1bnNpZ25lZCBsb25nICptYXBwYWJsZV9lbmQpOwo+ICt2b2lkIGludGVs X2d0dF9nZXQodTY0ICpndHRfdG90YWwsIHNpemVfdCAqc3RvbGVuX3NpemUsCj4gKyAgICAgICAg ICAgICAgICAgIHBoeXNfYWRkcl90ICptYXBwYWJsZV9iYXNlLCB1NjQgKm1hcHBhYmxlX2VuZCk7 Cj4KPiAgIGludCBpbnRlbF9nbWNoX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfcGRldiwg c3RydWN0IHBjaV9kZXYgKmdwdV9wZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg YWdwX2JyaWRnZV9kYXRhICpicmlkZ2UpOwo+IC0tCj4gMS45LjEKPgo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK