From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 09/25] drm/i915: Remove debugfs/i915_ppgtt_info Date: Mon, 26 Nov 2018 11:09:51 +0000 Message-ID: <832031c9-545b-fdde-ce2f-e7832a6651b1@linux.intel.com> References: <20181102161232.17742-1-chris@chris-wilson.co.uk> <20181102161232.17742-9-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1EBFF6E0A3 for ; Mon, 26 Nov 2018 11:09:54 +0000 (UTC) In-Reply-To: <20181102161232.17742-9-chris@chris-wilson.co.uk> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDAyLzExLzIwMTggMTY6MTIsIENocmlzIFdpbHNvbiB3cm90ZToKPiBUaGUgaW5mb3JtYXRp b24gcHJlc2VudGVkIGhlcmUgaXMgbm90IHJlbGV2YW50IHRvIGN1cnJlbnQgZGV2ZWxvcG1lbnQu Cj4gV2UgY2FuIGVpdGhlciB1c2UgdGhlIGNvbnRleHQgaW5mb3JtYXRpb24sIGJ1dCBtb3JlIG9m dGVuIHdlIHdhbnQgdG8KPiBpbnNwZWN0IHRoZSBhY3RpdmUgZ3B1IHN0YXRlLgo+IAo+IFRoZSB1 bHRlcmlvciBtb3RpdmUgaXMgdG8gZXJhZGljYXRlIGRldi0+ZmlsZWxpc3QuCj4gCj4gU2lnbmVk LW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyB8IDExOSAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHwgMTM0 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oIHwgICAyIC0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgMjU1IGRlbGV0aW9ucygt KQoKSSBnYXZlIHItYiBmb3IgdGhpcyBvbmUgYmFjayBpbiBTZXB0ZW1iZXIuCgpSZXZpZXdlZC1i eTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlZ2FyZHMsCgpU dnJ0a28KCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCBlMzM0ODM2 ODdlMTIuLjQ5YzFjOTRjZDRhNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gQEAgLTIwMzQsMTI0ICsyMDM0LDYgQEAgc3RhdGljIGludCBpOTE1X3N3aXp6bGVfaW5mbyhz dHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAK PiAtc3RhdGljIGludCBwZXJfZmlsZV9jdHgoaW50IGlkLCB2b2lkICpwdHIsIHZvaWQgKmRhdGEp Cj4gLXsKPiAtCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBwdHI7Cj4gLQlzdHJ1Y3Qg c2VxX2ZpbGUgKm0gPSBkYXRhOwo+IC0Jc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0gY3R4 LT5wcGd0dDsKPiAtCj4gLQlpZiAoIXBwZ3R0KSB7Cj4gLQkJc2VxX3ByaW50ZihtLCAiICBubyBw cGd0dCBmb3IgY29udGV4dCAlZFxuIiwKPiAtCQkJICAgY3R4LT51c2VyX2hhbmRsZSk7Cj4gLQkJ cmV0dXJuIDA7Cj4gLQl9Cj4gLQo+IC0JaWYgKGk5MTVfZ2VtX2NvbnRleHRfaXNfZGVmYXVsdChj dHgpKQo+IC0JCXNlcV9wdXRzKG0sICIgIGRlZmF1bHQgY29udGV4dDpcbiIpOwo+IC0JZWxzZQo+ IC0JCXNlcV9wcmludGYobSwgIiAgY29udGV4dCAlZDpcbiIsIGN0eC0+dXNlcl9oYW5kbGUpOwo+ IC0JcHBndHQtPmRlYnVnX2R1bXAocHBndHQsIG0pOwo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4g LQo+IC1zdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luZm8oc3RydWN0IHNlcV9maWxlICptLAo+IC0J CQkgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IC17Cj4gLQlzdHJ1Y3Qg aTkxNV9od19wcGd0dCAqcHBndHQgPSBkZXZfcHJpdi0+bW0uYWxpYXNpbmdfcHBndHQ7Cj4gLQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gLQllbnVtIGludGVsX2VuZ2luZV9pZCBp ZDsKPiAtCWludCBpOwo+IC0KPiAtCWlmICghcHBndHQpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCWZv cl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkgewo+IC0JCXNlcV9wcmludGYobSwg IiVzXG4iLCBlbmdpbmUtPm5hbWUpOwo+IC0JCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKPiAt CQkJdTY0IHBkcCA9IEk5MTVfUkVBRChHRU44X1JJTkdfUERQX1VEVyhlbmdpbmUsIGkpKTsKPiAt CQkJcGRwIDw8PSAzMjsKPiAtCQkJcGRwIHw9IEk5MTVfUkVBRChHRU44X1JJTkdfUERQX0xEVyhl bmdpbmUsIGkpKTsKPiAtCQkJc2VxX3ByaW50ZihtLCAiXHRQRFAlZCAweCUwMTZsbHhcbiIsIGks IHBkcCk7Cj4gLQkJfQo+IC0JfQo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBnZW42X3BwZ3R0X2lu Zm8oc3RydWN0IHNlcV9maWxlICptLAo+IC0JCQkgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gLQll bnVtIGludGVsX2VuZ2luZV9pZCBpZDsKPiAtCj4gLQlpZiAoSVNfR0VONihkZXZfcHJpdikpCj4g LQkJc2VxX3ByaW50ZihtLCAiR0ZYX01PREU6IDB4JTA4eFxuIiwgSTkxNV9SRUFEKEdGWF9NT0RF KSk7Cj4gLQo+IC0JZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKSB7Cj4gLQkJ c2VxX3ByaW50ZihtLCAiJXNcbiIsIGVuZ2luZS0+bmFtZSk7Cj4gLQkJaWYgKElTX0dFTjcoZGV2 X3ByaXYpKQo+IC0JCQlzZXFfcHJpbnRmKG0sICJHRlhfTU9ERTogMHglMDh4XG4iLAo+IC0JCQkJ ICAgSTkxNV9SRUFEKFJJTkdfTU9ERV9HRU43KGVuZ2luZSkpKTsKPiAtCQlzZXFfcHJpbnRmKG0s ICJQUF9ESVJfQkFTRTogMHglMDh4XG4iLAo+IC0JCQkgICBJOTE1X1JFQUQoUklOR19QUF9ESVJf QkFTRShlbmdpbmUpKSk7Cj4gLQkJc2VxX3ByaW50ZihtLCAiUFBfRElSX0JBU0VfUkVBRDogMHgl MDh4XG4iLAo+IC0JCQkgICBJOTE1X1JFQUQoUklOR19QUF9ESVJfQkFTRV9SRUFEKGVuZ2luZSkp KTsKPiAtCQlzZXFfcHJpbnRmKG0sICJQUF9ESVJfRENMVjogMHglMDh4XG4iLAo+IC0JCQkgICBJ OTE1X1JFQUQoUklOR19QUF9ESVJfRENMVihlbmdpbmUpKSk7Cj4gLQl9Cj4gLQlpZiAoZGV2X3By aXYtPm1tLmFsaWFzaW5nX3BwZ3R0KSB7Cj4gLQkJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0 ID0gZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0Owo+IC0KPiAtCQlzZXFfcHV0cyhtLCAiYWxp YXNpbmcgUFBHVFQ6XG4iKTsKPiAtCQlzZXFfcHJpbnRmKG0sICJwZCBndHQgb2Zmc2V0OiAweCUw OHhcbiIsIHBwZ3R0LT5wZC5iYXNlLmdndHRfb2Zmc2V0KTsKPiAtCj4gLQkJcHBndHQtPmRlYnVn X2R1bXAocHBndHQsIG0pOwo+IC0JfQo+IC0KPiAtCXNlcV9wcmludGYobSwgIkVDT0NISzogMHgl MDh4XG4iLCBJOTE1X1JFQUQoR0FNX0VDT0NISykpOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IGk5 MTVfcHBndHRfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gLXsKPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG5vZGVfdG9faTkxNShtLT5wcml2YXRl KTsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKPiAtCXN0cnVj dCBkcm1fZmlsZSAqZmlsZTsKPiAtCWludCByZXQ7Cj4gLQo+IC0JbXV0ZXhfbG9jaygmZGV2LT5m aWxlbGlzdF9tdXRleCk7Cj4gLQlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+ c3RydWN0X211dGV4KTsKPiAtCWlmIChyZXQpCj4gLQkJZ290byBvdXRfdW5sb2NrOwo+IC0KPiAt CWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPiAtCj4gLQlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSA4KQo+IC0JCWdlbjhfcHBndHRfaW5mbyhtLCBkZXZfcHJpdik7Cj4gLQllbHNl IGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDYpCj4gLQkJZ2VuNl9wcGd0dF9pbmZvKG0sIGRl dl9wcml2KTsKPiAtCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JldmVyc2UoZmlsZSwgJmRldi0+ ZmlsZWxpc3QsIGxoZWFkKSB7Cj4gLQkJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmls ZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7Cj4gLQkJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNr Owo+IC0KPiAtCQl0YXNrID0gZ2V0X3BpZF90YXNrKGZpbGUtPnBpZCwgUElEVFlQRV9QSUQpOwo+ IC0JCWlmICghdGFzaykgewo+IC0JCQlyZXQgPSAtRVNSQ0g7Cj4gLQkJCWdvdG8gb3V0X3JwbTsK PiAtCQl9Cj4gLQkJc2VxX3ByaW50ZihtLCAiXG5wcm9jOiAlc1xuIiwgdGFzay0+Y29tbSk7Cj4g LQkJcHV0X3Rhc2tfc3RydWN0KHRhc2spOwo+IC0JCWlkcl9mb3JfZWFjaCgmZmlsZV9wcml2LT5j b250ZXh0X2lkciwgcGVyX2ZpbGVfY3R4LAo+IC0JCQkgICAgICh2b2lkICopKHVuc2lnbmVkIGxv bmcpbSk7Cj4gLQl9Cj4gLQo+IC1vdXRfcnBtOgo+IC0JaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2 X3ByaXYpOwo+IC0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLW91dF91bmxv Y2s6Cj4gLQltdXRleF91bmxvY2soJmRldi0+ZmlsZWxpc3RfbXV0ZXgpOwo+IC0JcmV0dXJuIHJl dDsKPiAtfQo+IC0KPiAgIHN0YXRpYyBpbnQgY291bnRfaXJxX3dhaXRlcnMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCj4gICB7Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lOwo+IEBAIC00Nzg3LDcgKzQ2NjksNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pbmZv X2xpc3QgaTkxNV9kZWJ1Z2ZzX2xpc3RbXSA9IHsKPiAgIAl7Imk5MTVfY29udGV4dF9zdGF0dXMi LCBpOTE1X2NvbnRleHRfc3RhdHVzLCAwfSwKPiAgIAl7Imk5MTVfZm9yY2V3YWtlX2RvbWFpbnMi LCBpOTE1X2ZvcmNld2FrZV9kb21haW5zLCAwfSwKPiAgIAl7Imk5MTVfc3dpenpsZV9pbmZvIiwg aTkxNV9zd2l6emxlX2luZm8sIDB9LAo+IC0JeyJpOTE1X3BwZ3R0X2luZm8iLCBpOTE1X3BwZ3R0 X2luZm8sIDB9LAo+ICAgCXsiaTkxNV9sbGMiLCBpOTE1X2xsYywgMH0sCj4gICAJeyJpOTE1X2Vk cF9wc3Jfc3RhdHVzIiwgaTkxNV9lZHBfcHNyX3N0YXR1cywgMH0sCj4gICAJeyJpOTE1X2VuZXJn eV91SiIsIGk5MTVfZW5lcmd5X3VKLCAwfSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu Ywo+IGluZGV4IGI3MTIwYmYwM2MzMS4uZGIzNzVjZGE2MjAzIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMKPiBAQCAtMTQ5MCw4NCArMTQ5MCw2IEBAIHN0YXRpYyBpbnQgZ2Vu OF9wcGd0dF9hbGxvY180bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+ICAgCXJl dHVybiAtRU5PTUVNOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB2b2lkIGdlbjhfZHVtcF9wZHAoc3Ry dWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAo+IC0JCQkgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0 b3J5X3BvaW50ZXIgKnBkcCwKPiAtCQkJICB1NjQgc3RhcnQsIHU2NCBsZW5ndGgsCj4gLQkJCSAg Z2VuOF9wdGVfdCBzY3JhdGNoX3B0ZSwKPiAtCQkJICBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCj4gLXsK PiAtCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtID0gJnBwZ3R0LT52bTsKPiAtCXN0cnVj dCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZDsKPiAtCXUzMiBwZHBlOwo+IC0KPiAtCWdlbjhfZm9y X2VhY2hfcGRwZShwZCwgcGRwLCBzdGFydCwgbGVuZ3RoLCBwZHBlKSB7Cj4gLQkJc3RydWN0IGk5 MTVfcGFnZV90YWJsZSAqcHQ7Cj4gLQkJdTY0IHBkX2xlbiA9IGxlbmd0aDsKPiAtCQl1NjQgcGRf c3RhcnQgPSBzdGFydDsKPiAtCQl1MzIgcGRlOwo+IC0KPiAtCQlpZiAocGRwLT5wYWdlX2RpcmVj dG9yeVtwZHBlXSA9PSBwcGd0dC0+dm0uc2NyYXRjaF9wZCkKPiAtCQkJY29udGludWU7Cj4gLQo+ IC0JCXNlcV9wcmludGYobSwgIlx0UERQRSAjJWRcbiIsIHBkcGUpOwo+IC0JCWdlbjhfZm9yX2Vh Y2hfcGRlKHB0LCBwZCwgcGRfc3RhcnQsIHBkX2xlbiwgcGRlKSB7Cj4gLQkJCXUzMiBwdGU7Cj4g LQkJCWdlbjhfcHRlX3QgKnB0X3ZhZGRyOwo+IC0KPiAtCQkJaWYgKHBkLT5wYWdlX3RhYmxlW3Bk ZV0gPT0gcHBndHQtPnZtLnNjcmF0Y2hfcHQpCj4gLQkJCQljb250aW51ZTsKPiAtCj4gLQkJCXB0 X3ZhZGRyID0ga21hcF9hdG9taWNfcHgocHQpOwo+IC0JCQlmb3IgKHB0ZSA9IDA7IHB0ZSA8IEdF TjhfUFRFUzsgcHRlICs9IDQpIHsKPiAtCQkJCXU2NCB2YSA9IChwZHBlIDw8IEdFTjhfUERQRV9T SElGVCB8Cj4gLQkJCQkJICBwZGUgPDwgR0VOOF9QREVfU0hJRlQgfAo+IC0JCQkJCSAgcHRlIDw8 IEdFTjhfUFRFX1NISUZUKTsKPiAtCQkJCWludCBpOwo+IC0JCQkJYm9vbCBmb3VuZCA9IGZhbHNl Owo+IC0KPiAtCQkJCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspCj4gLQkJCQkJaWYgKHB0X3ZhZGRy W3B0ZSArIGldICE9IHNjcmF0Y2hfcHRlKQo+IC0JCQkJCQlmb3VuZCA9IHRydWU7Cj4gLQkJCQlp ZiAoIWZvdW5kKQo+IC0JCQkJCWNvbnRpbnVlOwo+IC0KPiAtCQkJCXNlcV9wcmludGYobSwgIlx0 XHQweCVsbHggWyUwM2QsJTAzZCwlMDRkXTogPSIsIHZhLCBwZHBlLCBwZGUsIHB0ZSk7Cj4gLQkJ CQlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7Cj4gLQkJCQkJaWYgKHB0X3ZhZGRyW3B0ZSArIGld ICE9IHNjcmF0Y2hfcHRlKQo+IC0JCQkJCQlzZXFfcHJpbnRmKG0sICIgJWxseCIsIHB0X3ZhZGRy W3B0ZSArIGldKTsKPiAtCQkJCQllbHNlCj4gLQkJCQkJCXNlcV9wdXRzKG0sICIgIFNDUkFUQ0gg Iik7Cj4gLQkJCQl9Cj4gLQkJCQlzZXFfcHV0cyhtLCAiXG4iKTsKPiAtCQkJfQo+IC0JCQlrdW5t YXBfYXRvbWljKHB0X3ZhZGRyKTsKPiAtCQl9Cj4gLQl9Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lk IGdlbjhfZHVtcF9wcGd0dChzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQsIHN0cnVjdCBzZXFf ZmlsZSAqbSkKPiAtewo+IC0Jc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSAmcHBndHQt PnZtOwo+IC0JY29uc3QgZ2VuOF9wdGVfdCBzY3JhdGNoX3B0ZSA9IHZtLT5zY3JhdGNoX3B0ZTsK PiAtCXU2NCBzdGFydCA9IDAsIGxlbmd0aCA9IHBwZ3R0LT52bS50b3RhbDsKPiAtCj4gLQlpZiAo dXNlXzRsdmwodm0pKSB7Cj4gLQkJdTY0IHBtbDRlOwo+IC0JCXN0cnVjdCBpOTE1X3BtbDQgKnBt bDQgPSAmcHBndHQtPnBtbDQ7Cj4gLQkJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRl ciAqcGRwOwo+IC0KPiAtCQlnZW44X2Zvcl9lYWNoX3BtbDRlKHBkcCwgcG1sNCwgc3RhcnQsIGxl bmd0aCwgcG1sNGUpIHsKPiAtCQkJaWYgKHBtbDQtPnBkcHNbcG1sNGVdID09IHBwZ3R0LT52bS5z Y3JhdGNoX3BkcCkKPiAtCQkJCWNvbnRpbnVlOwo+IC0KPiAtCQkJc2VxX3ByaW50ZihtLCAiICAg IFBNTDRFICMlbGx1XG4iLCBwbWw0ZSk7Cj4gLQkJCWdlbjhfZHVtcF9wZHAocHBndHQsIHBkcCwg c3RhcnQsIGxlbmd0aCwgc2NyYXRjaF9wdGUsIG0pOwo+IC0JCX0KPiAtCX0gZWxzZSB7Cj4gLQkJ Z2VuOF9kdW1wX3BkcChwcGd0dCwgJnBwZ3R0LT5wZHAsIHN0YXJ0LCBsZW5ndGgsIHNjcmF0Y2hf cHRlLCBtKTsKPiAtCX0KPiAtfQo+IC0KPiAgIHN0YXRpYyBpbnQgZ2VuOF9wcmVhbGxvY2F0ZV90 b3BfbGV2ZWxfcGRwKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCkKPiAgIHsKPiAgIAlzdHJ1 Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9ICZwcGd0dC0+dm07Cj4gQEAgLTE2NzIsNyArMTU5 NCw2IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9od19wcGd0dCAqZ2VuOF9wcGd0dF9jcmVhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gICAJCWdlbjhfcHBndHRfbm90aWZ5X3ZndChw cGd0dCwgdHJ1ZSk7Cj4gICAKPiAgIAlwcGd0dC0+dm0uY2xlYW51cCA9IGdlbjhfcHBndHRfY2xl YW51cDsKPiAtCXBwZ3R0LT5kZWJ1Z19kdW1wID0gZ2VuOF9kdW1wX3BwZ3R0Owo+ICAgCj4gICAJ cHBndHQtPnZtLnZtYV9vcHMuYmluZF92bWEgICAgPSBwcGd0dF9iaW5kX3ZtYTsKPiAgIAlwcGd0 dC0+dm0udm1hX29wcy51bmJpbmRfdm1hICA9IHBwZ3R0X3VuYmluZF92bWE7Cj4gQEAgLTE2ODgs NjAgKzE2MDksNiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfaHdfcHBndHQgKmdlbjhfcHBndHRfY3Jl YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAgCXJldHVybiBFUlJfUFRSKGVy cik7Cj4gICB9Cj4gICAKPiAtc3RhdGljIHZvaWQgZ2VuNl9kdW1wX3BwZ3R0KHN0cnVjdCBpOTE1 X2h3X3BwZ3R0ICpiYXNlLCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCj4gLXsKPiAtCXN0cnVjdCBnZW42 X2h3X3BwZ3R0ICpwcGd0dCA9IHRvX2dlbjZfcHBndHQoYmFzZSk7Cj4gLQljb25zdCBnZW42X3B0 ZV90IHNjcmF0Y2hfcHRlID0gYmFzZS0+dm0uc2NyYXRjaF9wdGU7Cj4gLQlzdHJ1Y3QgaTkxNV9w YWdlX3RhYmxlICpwdDsKPiAtCXUzMiBwdGUsIHBkZTsKPiAtCj4gLQlnZW42X2Zvcl9hbGxfcGRl cyhwdCwgJmJhc2UtPnBkLCBwZGUpIHsKPiAtCQlnZW42X3B0ZV90ICp2YWRkcjsKPiAtCj4gLQkJ aWYgKHB0ID09IGJhc2UtPnZtLnNjcmF0Y2hfcHQpCj4gLQkJCWNvbnRpbnVlOwo+IC0KPiAtCQlp ZiAoaTkxNV92bWFfaXNfYm91bmQocHBndHQtPnZtYSwgSTkxNV9WTUFfR0xPQkFMX0JJTkQpKSB7 Cj4gLQkJCXUzMiBleHBlY3RlZCA9Cj4gLQkJCQlHRU42X1BERV9BRERSX0VOQ09ERShweF9kbWEo cHQpKSB8Cj4gLQkJCQlHRU42X1BERV9WQUxJRDsKPiAtCQkJdTMyIHBkX2VudHJ5ID0gcmVhZGwo cHBndHQtPnBkX2FkZHIgKyBwZGUpOwo+IC0KPiAtCQkJaWYgKHBkX2VudHJ5ICE9IGV4cGVjdGVk KQo+IC0JCQkJc2VxX3ByaW50ZihtLAo+IC0JCQkJCSAgICJcdFBERSAjJWQgbWlzbWF0Y2g6IEFj dHVhbCBQREU6ICV4IEV4cGVjdGVkIFBERTogJXhcbiIsCj4gLQkJCQkJICAgcGRlLAo+IC0JCQkJ CSAgIHBkX2VudHJ5LAo+IC0JCQkJCSAgIGV4cGVjdGVkKTsKPiAtCj4gLQkJCXNlcV9wcmludGYo bSwgIlx0UERFOiAleFxuIiwgcGRfZW50cnkpOwo+IC0JCX0KPiAtCj4gLQkJdmFkZHIgPSBrbWFw X2F0b21pY19weChiYXNlLT5wZC5wYWdlX3RhYmxlW3BkZV0pOwo+IC0JCWZvciAocHRlID0gMDsg cHRlIDwgR0VONl9QVEVTOyBwdGUgKz0gNCkgewo+IC0JCQlpbnQgaTsKPiAtCj4gLQkJCWZvciAo aSA9IDA7IGkgPCA0OyBpKyspCj4gLQkJCQlpZiAodmFkZHJbcHRlICsgaV0gIT0gc2NyYXRjaF9w dGUpCj4gLQkJCQkJYnJlYWs7Cj4gLQkJCWlmIChpID09IDQpCj4gLQkJCQljb250aW51ZTsKPiAt Cj4gLQkJCXNlcV9wcmludGYobSwgIlx0XHQoJTAzZCwgJTA0ZCkgJTA4bGx4OiAiLAo+IC0JCQkJ ICAgcGRlLCBwdGUsCj4gLQkJCQkgICAocGRlICogR0VONl9QVEVTICsgcHRlKSAqIEk5MTVfR1RU X1BBR0VfU0laRSk7Cj4gLQkJCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKPiAtCQkJCWlmICh2 YWRkcltwdGUgKyBpXSAhPSBzY3JhdGNoX3B0ZSkKPiAtCQkJCQlzZXFfcHJpbnRmKG0sICIgJTA4 eCIsIHZhZGRyW3B0ZSArIGldKTsKPiAtCQkJCWVsc2UKPiAtCQkJCQlzZXFfcHV0cyhtLCAiICBT Q1JBVENIIik7Cj4gLQkJCX0KPiAtCQkJc2VxX3B1dHMobSwgIlxuIik7Cj4gLQkJfQo+IC0JCWt1 bm1hcF9hdG9taWModmFkZHIpOwo+IC0JfQo+IC19Cj4gLQo+ICAgLyogV3JpdGUgcGRlIChpbmRl eCkgZnJvbSB0aGUgcGFnZSBkaXJlY3RvcnkgQHBkIHRvIHRoZSBwYWdlIHRhYmxlIEBwdCAqLwo+ ICAgc3RhdGljIGlubGluZSB2b2lkIGdlbjZfd3JpdGVfcGRlKGNvbnN0IHN0cnVjdCBnZW42X2h3 X3BwZ3R0ICpwcGd0dCwKPiAgIAkJCQkgIGNvbnN0IHVuc2lnbmVkIGludCBwZGUsCj4gQEAgLTIx MjksNyArMTk5Niw2IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9od19wcGd0dCAqZ2VuNl9wcGd0dF9j cmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gICAJcHBndHQtPmJhc2Uudm0u Y2xlYXJfcmFuZ2UgPSBnZW42X3BwZ3R0X2NsZWFyX3JhbmdlOwo+ICAgCXBwZ3R0LT5iYXNlLnZt Lmluc2VydF9lbnRyaWVzID0gZ2VuNl9wcGd0dF9pbnNlcnRfZW50cmllczsKPiAgIAlwcGd0dC0+ YmFzZS52bS5jbGVhbnVwID0gZ2VuNl9wcGd0dF9jbGVhbnVwOwo+IC0JcHBndHQtPmJhc2UuZGVi dWdfZHVtcCA9IGdlbjZfZHVtcF9wcGd0dDsKPiAgIAo+ICAgCXBwZ3R0LT5iYXNlLnZtLnZtYV9v cHMuYmluZF92bWEgICAgPSBwcGd0dF9iaW5kX3ZtYTsKPiAgIAlwcGd0dC0+YmFzZS52bS52bWFf b3BzLnVuYmluZF92bWEgID0gcHBndHRfdW5iaW5kX3ZtYTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuaAo+IGluZGV4IDQ4NzRkYTA5YTNjNC4uZTIzNjBmMTY0MjdhIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBAQCAtNDEzLDggKzQxMyw2IEBAIHN0cnVjdCBp OTE1X2h3X3BwZ3R0IHsKPiAgIAkJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciBw ZHA7CS8qIEdFTjgrICovCj4gICAJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5IHBkOwkJLyog R0VONi03ICovCj4gICAJfTsKPiAtCj4gLQl2b2lkICgqZGVidWdfZHVtcCkoc3RydWN0IGk5MTVf aHdfcHBndHQgKnBwZ3R0LCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pOwo+ICAgfTsKPiAgIAo+ICAgc3Ry dWN0IGdlbjZfaHdfcHBndHQgewo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK