From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: Re: [PATCH 4/5] drm/msm: Pass mmu features to generic layers Date: Thu, 5 Apr 2018 12:17:06 +0530 Message-ID: <7e227625-a966-f021-5e1e-e4c8b41eb65a@codeaurora.org> References: <1521789591-28628-1-git-send-email-smasetty@codeaurora.org> <1521789591-28628-5-git-send-email-smasetty@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1521789591-28628-5-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sharat Masetty , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org SGkgU2hhcmF0LAoKCk9uIDMvMjMvMjAxOCAxMjo0OSBQTSwgU2hhcmF0IE1hc2V0dHkgd3JvdGU6 Cj4gQWxsb3cgZGlmZmVyZW50IEFkcmVubyB0YXJnZXRzIHRoZSBhYmlsaXR5IHRvIHBhc3MKPiBz cGVjaWZpYyBtbXUgZmVhdHVyZXMgdG8gdGhlIGdlbmVyaWMgbGF5ZXJzLiBUaGlzIHdpbGwKPiBo ZWxwIGNvbmRpdGlvbmFsbHkgY29uZmlndXJlIGNlcnRhaW4gaW9tbXUgZmVhdHVyZXMgZm9yCj4g Y2VydGFpbiBBZHJlbm8gdGFyZ2V0cy4KPgo+IEFsc28gQWRkIGEgZmV3IHNpbXBsZSBzdXBwb3J0 IGZ1bmN0aW9ucyB0byBzdXBwb3J0IGEgYml0bWFzayBvZgo+IGZlYXR1cmVzIHRoYXQgYSBzcGVj aWZpYyBNTVUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFy YXQgTWFzZXR0eSA8c21hc2V0dHlAY29kZWF1cm9yYS5vcmc+CgpKdXN0IGEgbml0OyBwbGVhc2Ug c2VlIG15IGNvbW1lbnQgYmVsb3cuCgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTN4eF9ncHUuYyAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E0 eHhfZ3B1LmMgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2dw dS5jICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuYyAg IHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyB8ICA0 ICsrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuaCB8ICAyICst Cj4gICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuYyAgICAgICAgICAgfCAgNiArKysrLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oICAgICAgICAgICB8ICAxICsKPiAgIGRy aXZlcnMvZ3B1L2RybS9tc20vbXNtX21tdS5oICAgICAgICAgICB8IDEzICsrKysrKysrKysrKysK PiAgIDkgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hM3h4X2dwdS5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTN4eF9ncHUuYwo+IGluZGV4IDFkZDg0ZDMuLmE3YTg1 NzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTN4eF9ncHUuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2EzeHhfZ3B1LmMKPiBAQCAtNDkyLDcg KzQ5Miw3IEBAIHN0cnVjdCBtc21fZ3B1ICphM3h4X2dwdV9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gICAJYWRyZW5vX2dwdS0+cmVnaXN0ZXJzID0gYTN4eF9yZWdpc3RlcnM7Cj4gICAJ YWRyZW5vX2dwdS0+cmVnX29mZnNldHMgPSBhM3h4X3JlZ2lzdGVyX29mZnNldHM7Cj4gICAKPiAt CXJldCA9IGFkcmVub19ncHVfaW5pdChkZXYsIHBkZXYsIGFkcmVub19ncHUsICZmdW5jcywgMSk7 Cj4gKwlyZXQgPSBhZHJlbm9fZ3B1X2luaXQoZGV2LCBwZGV2LCBhZHJlbm9fZ3B1LCAmZnVuY3Ms IDEsIDApOwo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gZmFpbDsKPiAgIAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9hZHJlbm8vYTR4eF9ncHUuYwo+IGluZGV4IDI4ODRiMWIuLjVlN2UxNWQ2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E0eHhfZ3B1LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jCj4gQEAgLTU3NCw3ICs1NzQsNyBAQCBz dHJ1Y3QgbXNtX2dwdSAqYTR4eF9ncHVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAg CWFkcmVub19ncHUtPnJlZ2lzdGVycyA9IGE0eHhfcmVnaXN0ZXJzOwo+ICAgCWFkcmVub19ncHUt PnJlZ19vZmZzZXRzID0gYTR4eF9yZWdpc3Rlcl9vZmZzZXRzOwo+ICAgCj4gLQlyZXQgPSBhZHJl bm9fZ3B1X2luaXQoZGV2LCBwZGV2LCBhZHJlbm9fZ3B1LCAmZnVuY3MsIDEpOwo+ICsJcmV0ID0g YWRyZW5vX2dwdV9pbml0KGRldiwgcGRldiwgYWRyZW5vX2dwdSwgJmZ1bmNzLCAxLCAwKTsKPiAg IAlpZiAocmV0KQo+ICAgCQlnb3RvIGZhaWw7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5v L2E1eHhfZ3B1LmMKPiBpbmRleCBhNGY2OGFmLi5jOWUwNmZmIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2FkcmVuby9hNXh4X2dwdS5jCj4gQEAgLTEyOTUsNyArMTI5NSw3IEBAIHN0cnVjdCBtc21f Z3B1ICphNXh4X2dwdV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAKPiAgIAljaGVj a19zcGVlZF9iaW4oJnBkZXYtPmRldik7Cj4gICAKPiAtCXJldCA9IGFkcmVub19ncHVfaW5pdChk ZXYsIHBkZXYsIGFkcmVub19ncHUsICZmdW5jcywgNCk7Cj4gKwlyZXQgPSBhZHJlbm9fZ3B1X2lu aXQoZGV2LCBwZGV2LCBhZHJlbm9fZ3B1LCAmZnVuY3MsIDQsIDApOwo+ICAgCWlmIChyZXQpIHsK PiAgIAkJYTV4eF9kZXN0cm95KCYoYTV4eF9ncHUtPmJhc2UuYmFzZSkpOwo+ICAgCQlyZXR1cm4g RVJSX1BUUihyZXQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9h Nnh4X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuYwo+IGluZGV4 IGU4M2IwNjYuLmJkNTA2NzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTZ4eF9ncHUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1 LmMKPiBAQCAtMTA0MCw3ICsxMDQwLDcgQEAgc3RydWN0IG1zbV9ncHUgKmE2eHhfZ3B1X2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlhZHJlbm9fZ3B1LT5yZWdpc3RlcnMgPSBhNnh4 X3JlZ2lzdGVyczsKPiAgIAlhZHJlbm9fZ3B1LT5yZWdfb2Zmc2V0cyA9IGE2eHhfcmVnaXN0ZXJf b2Zmc2V0czsKPiAgIAo+IC0JcmV0ID0gYWRyZW5vX2dwdV9pbml0KGRldiwgcGRldiwgYWRyZW5v X2dwdSwgJmZ1bmNzLCA0KTsKPiArCXJldCA9IGFkcmVub19ncHVfaW5pdChkZXYsIHBkZXYsIGFk cmVub19ncHUsICZmdW5jcywgNCwgMCk7Cj4gICAJaWYgKHJldCkgewo+ICAgCQlhNnh4X2Rlc3Ry b3koJihhNnh4X2dwdS0+YmFzZS5iYXNlKSk7Cj4gICAJCXJldHVybiBFUlJfUFRSKHJldCk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYwo+IGluZGV4IDY2NTc0NjEuLmE4 N2VjNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dw dS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jCj4gQEAg LTU1Nyw3ICs1NTcsOCBAQCBzdGF0aWMgaW50IGFkcmVub19nZXRfcHdybGV2ZWxzKHN0cnVjdCBk ZXZpY2UgKmRldiwKPiAgIAo+ICAgaW50IGFkcmVub19ncHVfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtLCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ICAgCQlzdHJ1Y3QgYWRyZW5v X2dwdSAqYWRyZW5vX2dwdSwKPiAtCQljb25zdCBzdHJ1Y3QgYWRyZW5vX2dwdV9mdW5jcyAqZnVu Y3MsIGludCBucl9yaW5ncykKPiArCQljb25zdCBzdHJ1Y3QgYWRyZW5vX2dwdV9mdW5jcyAqZnVu Y3MsIGludCBucl9yaW5ncywKPiArCQl1bnNpZ25lZCBsb25nIG1tdV9mZWF0dXJlcykKPiAgIHsK PiAgIAlzdHJ1Y3QgYWRyZW5vX3BsYXRmb3JtX2NvbmZpZyAqY29uZmlnID0gcGRldi0+ZGV2LnBs YXRmb3JtX2RhdGE7Cj4gICAJc3RydWN0IG1zbV9ncHVfY29uZmlnIGFkcmVub19ncHVfY29uZmln ICA9IHsgMCB9Owo+IEBAIC01NzYsNiArNTc3LDcgQEAgaW50IGFkcmVub19ncHVfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ICAgCWFk cmVub19ncHVfY29uZmlnLnZhX2VuZCA9IDB4ZmZmZmZmZmY7Cj4gICAKPiAgIAlhZHJlbm9fZ3B1 X2NvbmZpZy5ucl9yaW5ncyA9IG5yX3JpbmdzOwo+ICsJYWRyZW5vX2dwdV9jb25maWcubW11X2Zl YXR1cmVzID0gbW11X2ZlYXR1cmVzOwo+ICAgCj4gICAJYWRyZW5vX2dldF9wd3JsZXZlbHMoJnBk ZXYtPmRldiwgZ3B1KTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Fk cmVuby9hZHJlbm9fZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1 LmgKPiBpbmRleCBiYjlhZmZkLi4xOWVkYTY1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2FkcmVub19ncHUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRy ZW5vL2FkcmVub19ncHUuaAo+IEBAIC0yMjUsNyArMjI1LDcgQEAgdm9pZCBhZHJlbm9fc3VibWl0 KHN0cnVjdCBtc21fZ3B1ICpncHUsIHN0cnVjdCBtc21fZ2VtX3N1Ym1pdCAqc3VibWl0LAo+ICAg Cj4gICBpbnQgYWRyZW5vX2dwdV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gICAJCXN0cnVjdCBhZHJlbm9fZ3B1ICpncHUsIGNvbnN0 IHN0cnVjdCBhZHJlbm9fZ3B1X2Z1bmNzICpmdW5jcywKPiAtCQlpbnQgbnJfcmluZ3MpOwo+ICsJ CWludCBucl9yaW5ncywgdW5zaWduZWQgbG9uZyBtbXVfZmVhdHVyZXMpOwo+ICAgdm9pZCBhZHJl bm9fZ3B1X2NsZWFudXAoc3RydWN0IGFkcmVub19ncHUgKmdwdSk7Cj4gICBpbnQgYWRyZW5vX2xv YWRfZncoc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUpOwo+ICAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f Z3B1LmMKPiBpbmRleCBjZThlNzgxLi5jN2Y2MTZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2dwdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmMK PiBAQCAtNzA0LDcgKzcwNCw3IEBAIHN0YXRpYyBpbnQgZ2V0X2Nsb2NrcyhzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2LCBzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQo+ICAgCj4gICBzdGF0aWMgc3Ry dWN0IG1zbV9nZW1fYWRkcmVzc19zcGFjZSAqCj4gICBtc21fZ3B1X2NyZWF0ZV9hZGRyZXNzX3Nw YWNlKHN0cnVjdCBtc21fZ3B1ICpncHUsIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4g LQkJdWludDY0X3QgdmFfc3RhcnQsIHVpbnQ2NF90IHZhX2VuZCkKPiArCQl1aW50NjRfdCB2YV9z dGFydCwgdWludDY0X3QgdmFfZW5kLCB1bnNpZ25lZCBsb25nIG1tdV9mZWF0dXJlcykKPiAgIHsK PiAgIAlzdHJ1Y3QgaW9tbXVfZG9tYWluICppb21tdTsKPiAgIAlzdHJ1Y3QgbXNtX2dlbV9hZGRy ZXNzX3NwYWNlICphc3BhY2U7Cj4gQEAgLTczMiw2ICs3MzIsOCBAQCBzdGF0aWMgaW50IGdldF9j bG9ja3Moc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3RydWN0IG1zbV9ncHUgKmdwdSkK PiAgIAkJcmV0dXJuIEVSUl9DQVNUKGFzcGFjZSk7Cj4gICAJfQo+ICAgCj4gKwltc21fbW11X3Nl dF9mZWF0dXJlKGFzcGFjZS0+bW11LCBtbXVfZmVhdHVyZXMpOwo+ICsKPiAgIAlyZXQgPSBhc3Bh Y2UtPm1tdS0+ZnVuY3MtPmF0dGFjaChhc3BhY2UtPm1tdSwgTlVMTCwgMCk7Cj4gICAJaWYgKHJl dCkgewo+ICAgCQltc21fZ2VtX2FkZHJlc3Nfc3BhY2VfcHV0KGFzcGFjZSk7Cj4gQEAgLTgxNSw3 ICs4MTcsNyBAQCBpbnQgbXNtX2dwdV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gICAJbXNtX2RldmZyZXFfaW5pdChncHUpOwo+ICAg Cj4gICAJZ3B1LT5hc3BhY2UgPSBtc21fZ3B1X2NyZWF0ZV9hZGRyZXNzX3NwYWNlKGdwdSwgcGRl diwKPiAtCQljb25maWctPnZhX3N0YXJ0LCBjb25maWctPnZhX2VuZCk7Cj4gKwkJY29uZmlnLT52 YV9zdGFydCwgY29uZmlnLT52YV9lbmQsIGNvbmZpZy0+bW11X2ZlYXR1cmVzKTsKPiAgIAo+ICAg CWlmIChncHUtPmFzcGFjZSA9PSBOVUxMKQo+ICAgCQlkZXZfaW5mbyhkcm0tPmRldiwgIiVzOiBu byBJT01NVSwgZmFsbGJhY2sgdG8gVlJBTSBjYXJ2ZW91dCFcbiIsIG5hbWUpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2dwdS5oCj4gaW5kZXggOTYwNThkMi4uZGZmOTk3MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9ncHUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dw dS5oCj4gQEAgLTM0LDYgKzM0LDcgQEAgc3RydWN0IG1zbV9ncHVfY29uZmlnIHsKPiAgIAl1aW50 NjRfdCB2YV9zdGFydDsKPiAgIAl1aW50NjRfdCB2YV9lbmQ7Cj4gICAJdW5zaWduZWQgaW50IG5y X3JpbmdzOwo+ICsJdW5zaWduZWQgbG9uZyBtbXVfZmVhdHVyZXM7Cj4gICB9Owo+ICAgCj4gICAv KiBTbyBmYXIsIHdpdGggaGFyZHdhcmUgdGhhdCBJJ3ZlIHNlZW4gdG8gZGF0ZSwgd2UgY2FuIGhh dmU6Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX21tdS5oIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fbW11LmgKPiBpbmRleCBhYTJjNWQ0Li44NWRmNzhkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX21tdS5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fbW11LmgKPiBAQCAtMzUsNiArMzUsNyBAQCBzdHJ1Y3QgbXNtX21tdSB7Cj4g ICAJc3RydWN0IGRldmljZSAqZGV2Owo+ICAgCWludCAoKmhhbmRsZXIpKHZvaWQgKmFyZywgdW5z aWduZWQgbG9uZyBpb3ZhLCBpbnQgZmxhZ3MpOwo+ICAgCXZvaWQgKmFyZzsKPiArCXVuc2lnbmVk IGxvbmcgZmVhdHVyZXM7CldoeSBkbyB5b3UgbmVlZCBhIGxvbmcgaGVyZT8gSSBndWVzcyAnaW50 JyBzaG91bGQgc3VmZmljZS4KCkJlc3QgcmVnYXJkcwpWaXZlawoKPiAgIH07Cj4gICAKPiAgIHN0 YXRpYyBpbmxpbmUgdm9pZCBtc21fbW11X2luaXQoc3RydWN0IG1zbV9tbXUgKm1tdSwgc3RydWN0 IGRldmljZSAqZGV2LAo+IEBAIC01NCw0ICs1NSwxNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbXNt X21tdV9zZXRfZmF1bHRfaGFuZGxlcihzdHJ1Y3QgbXNtX21tdSAqbW11LCB2b2lkICphcmcsCj4g ICAJbW11LT5oYW5kbGVyID0gaGFuZGxlcjsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgaW5saW5lIHZv aWQgbXNtX21tdV9zZXRfZmVhdHVyZShzdHJ1Y3QgbXNtX21tdSAqbW11LAo+ICsJCXVuc2lnbmVk IGxvbmcgZmVhdHVyZSkKPiArewo+ICsJbW11LT5mZWF0dXJlcyB8PSBmZWF0dXJlOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgbXNtX21tdV9oYXNfZmVhdHVyZShzdHJ1Y3QgbXNtX21t dSAqbW11LAo+ICsJCXVuc2lnbmVkIGxvbmcgZmVhdHVyZSkKPiArewo+ICsJcmV0dXJuIChtbXUt PmZlYXR1cmVzICYgZmVhdHVyZSkgPyB0cnVlIDogZmFsc2U7Cj4gK30KPiArCj4gICAjZW5kaWYg LyogX19NU01fTU1VX0hfXyAqLwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZnJlZWRyZW5vCg==