From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 4/5] drm/i915/gtt: Rename i915_vm_is_48b to i915_vm_is_4lvl Date: Thu, 14 Mar 2019 15:52:40 -0700 Message-ID: <20190314225240.GA11873@intel.com> References: <20190314223839.28258-1-chris@chris-wilson.co.uk> <20190314223839.28258-4-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id D2B24895E1 for ; Thu, 14 Mar 2019 22:52:26 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190314223839.28258-4-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXIgMTQsIDIwMTkgYXQgMTA6Mzg6MzhQTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IExhcmdlIHBwR1RUIGFyZSBkaWZmZXJlbnRpYXRlZCBieSB0aGUgcmVxdWlyZW1lbnQg dG8gZ28gdG8gZm91ciBsZXZlbHMKPiB0byBhZGRyZXNzIG1vcmUgdGhhbiAzMmIuIEdpdmVuIHRo ZSBpbnRyb2R1Y3Rpb24gb2YgbW9yZSA0IGxldmVsIHBwR1RUCj4gd2l0aCBkaWZmZXJlbnQgc2l6 ZXMgb2YgYWRkcmVzc2FibGUgYml0cywgcmVuYW1lIGk5MTVfdm1faXNfNDhiKCkgdG8KPiBiZXR0 ZXIgcmVmbGVjdCB0aGUgY29tbW9uYWxpdHkgb2YgdXNpbmcgNCBsZXZlbHMuCj4gCj4gQmFzZWQg b24gYSBwYXRjaCBieSBCb2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgo+IAo+IFNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENj OiBCb2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgo+IENjOiBNYXR0aGV3IEF1bGQg PG1hdHRoZXcud2lsbGlhbS5hdWxkQGdtYWlsLmNvbT4KPiBDYzogSm9vbmFzIExhaHRpbmVuIDxq b29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IFJvZHJpZ28gVml2 aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d2dC9zY2hlZHVsZXIuYyAgICAgICAgfCAgNiArKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMgICAgICAgICB8IDI3ICsrKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgICAgIHwgIDQgKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICAgfCAgNCArLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyB8ICA0ICstLQo+ICA2IGZpbGVz IGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKPiBpbmRleCA3MDliY2FhZWQ3NjUuLjc1NTBlMDk5Mzlh ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKPiBAQCAtMTEwMSw5ICsx MTAxLDkgQEAgaTkxNV9jb250ZXh0X3BwZ3R0X3Jvb3RfcmVzdG9yZShzdHJ1Y3QgaW50ZWxfdmdw dV9zdWJtaXNzaW9uICpzKQo+ICAJc3RydWN0IGk5MTVfaHdfcHBndHQgKmk5MTVfcHBndHQgPSBz LT5zaGFkb3dfY3R4LT5wcGd0dDsKPiAgCWludCBpOwo+ICAKPiAtCWlmIChpOTE1X3ZtX2lzXzQ4 Yml0KCZpOTE1X3BwZ3R0LT52bSkpCj4gKwlpZiAoaTkxNV92bV9pc180bHZsKCZpOTE1X3BwZ3R0 LT52bSkpIHsKPiAgCQlweF9kbWEoJmk5MTVfcHBndHQtPnBtbDQpID0gcy0+aTkxNV9jb250ZXh0 X3BtbDQ7Cj4gLQllbHNlIHsKPiArCX0gZWxzZSB7Cj4gIAkJZm9yIChpID0gMDsgaSA8IEdFTjhf M0xWTF9QRFBFUzsgaSsrKQo+ICAJCQlweF9kbWEoaTkxNV9wcGd0dC0+cGRwLnBhZ2VfZGlyZWN0 b3J5W2ldKSA9Cj4gIAkJCQkJCXMtPmk5MTVfY29udGV4dF9wZHBzW2ldOwo+IEBAIC0xMTU0LDcg KzExNTQsNyBAQCBpOTE1X2NvbnRleHRfcHBndHRfcm9vdF9zYXZlKHN0cnVjdCBpbnRlbF92Z3B1 X3N1Ym1pc3Npb24gKnMpCj4gIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqaTkxNV9wcGd0dCA9IHMt PnNoYWRvd19jdHgtPnBwZ3R0Owo+ICAJaW50IGk7Cj4gIAo+IC0JaWYgKGk5MTVfdm1faXNfNDhi aXQoJmk5MTVfcHBndHQtPnZtKSkKPiArCWlmIChpOTE1X3ZtX2lzXzRsdmwoJmk5MTVfcHBndHQt PnZtKSkKPiAgCQlzLT5pOTE1X2NvbnRleHRfcG1sNCA9IHB4X2RtYSgmaTkxNV9wcGd0dC0+cG1s NCk7Cj4gIAllbHNlIHsKPiAgCQlmb3IgKGkgPSAwOyBpIDwgR0VOOF8zTFZMX1BEUEVTOyBpKysp Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IGluZGV4IGI2MzcwMjI1 ZGNiNS4uMjEyMDhhODY1MzgwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYwo+IEBAIC0zMjEsNyArMzIxLDcgQEAgc3RhdGljIHUzMiBkZWZhdWx0X2Rlc2NfdGVt cGxhdGUoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gIAlkZXNjID0gR0VO OF9DVFhfVkFMSUQgfCBHRU44X0NUWF9QUklWSUxFR0U7Cj4gIAo+ICAJYWRkcmVzc19tb2RlID0g SU5URUxfTEVHQUNZXzMyQl9DT05URVhUOwo+IC0JaWYgKHBwZ3R0ICYmIGk5MTVfdm1faXNfNDhi aXQoJnBwZ3R0LT52bSkpCj4gKwlpZiAocHBndHQgJiYgaTkxNV92bV9pc180bHZsKCZwcGd0dC0+ dm0pKQo+ICAJCWFkZHJlc3NfbW9kZSA9IElOVEVMX0xFR0FDWV82NEJfQ09OVEVYVDsKPiAgCWRl c2MgfD0gYWRkcmVzc19tb2RlIDw8IEdFTjhfQ1RYX0FERFJFU1NJTkdfTU9ERV9TSElGVDsKPiAg Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCA4NDVkMGVkNTc1NWIuLjgz MzYyYzhhYzExMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTU4 NCw3ICs1ODQsNyBAQCBzZXR1cF9zY3JhdGNoX3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sIGdmcF90IGdmcCkKPiAgCSAqIGZvciBhbGwuCj4gIAkgKi8KPiAgCXNpemUgPSBJOTE1 X0dUVF9QQUdFX1NJWkVfNEs7Cj4gLQlpZiAoaTkxNV92bV9pc180OGJpdCh2bSkgJiYKPiArCWlm IChpOTE1X3ZtX2lzXzRsdmwodm0pICYmCj4gIAkgICAgSEFTX1BBR0VfU0laRVModm0tPmk5MTUs IEk5MTVfR1RUX1BBR0VfU0laRV82NEspKSB7Cj4gIAkJc2l6ZSA9IEk5MTVfR1RUX1BBR0VfU0la RV82NEs7Cj4gIAkJZ2ZwIHw9IF9fR0ZQX05PV0FSTjsKPiBAQCAtNzI3LDE4ICs3MjcsMTMgQEAg c3RhdGljIHZvaWQgX19wZHBfZmluaShzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVy ICpwZHApCj4gIAlwZHAtPnBhZ2VfZGlyZWN0b3J5ID0gTlVMTDsKPiAgfQo+ICAKPiAtc3RhdGlj IGlubGluZSBib29sIHVzZV80bHZsKGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt KQo+IC17Cj4gLQlyZXR1cm4gaTkxNV92bV9pc180OGJpdCh2bSk7Cj4gLX0KPiAtCj4gIHN0YXRp YyBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyICoKPiAgYWxsb2NfcGRwKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQo+ICB7Cj4gIAlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVj dG9yeV9wb2ludGVyICpwZHA7Cj4gIAlpbnQgcmV0ID0gLUVOT01FTTsKPiAgCj4gLQlHRU1fQlVH X09OKCF1c2VfNGx2bCh2bSkpOwo+ICsJR0VNX0JVR19PTighaTkxNV92bV9pc180bHZsKHZtKSk7 Cj4gIAo+ICAJcGRwID0ga3phbGxvYyhzaXplb2YoKnBkcCksIEdGUF9LRVJORUwpOwo+ICAJaWYg KCFwZHApCj4gQEAgLTc2Nyw3ICs3NjIsNyBAQCBzdGF0aWMgdm9pZCBmcmVlX3BkcChzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgewo+ICAJX19wZHBfZmluaShwZHApOwo+ICAKPiAt CWlmICghdXNlXzRsdmwodm0pKQo+ICsJaWYgKCFpOTE1X3ZtX2lzXzRsdmwodm0pKQo+ICAJCXJl dHVybjsKPiAgCj4gIAljbGVhbnVwX3B4KHZtLCBwZHApOwo+IEBAIC04NzEsNyArODY2LDcgQEAg c3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9zZXRfcGRwZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSwKPiAgCWdlbjhfcHBndHRfcGRwZV90ICp2YWRkcjsKPiAgCj4gIAlwZHAtPnBhZ2VfZGly ZWN0b3J5W3BkcGVdID0gcGQ7Cj4gLQlpZiAoIXVzZV80bHZsKHZtKSkKPiArCWlmICghaTkxNV92 bV9pc180bHZsKHZtKSkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJdmFkZHIgPSBrbWFwX2F0b21pY19w eChwZHApOwo+IEBAIC05MzYsNyArOTMxLDcgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVh cl80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+ICAJc3RydWN0IGk5MTVfcGFn ZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRwOwo+ICAJdW5zaWduZWQgaW50IHBtbDRlOwo+ICAKPiAt CUdFTV9CVUdfT04oIXVzZV80bHZsKHZtKSk7Cj4gKwlHRU1fQlVHX09OKCFpOTE1X3ZtX2lzXzRs dmwodm0pKTsKPiAgCj4gIAlnZW44X2Zvcl9lYWNoX3BtbDRlKHBkcCwgcG1sNCwgc3RhcnQsIGxl bmd0aCwgcG1sNGUpIHsKPiAgCQlHRU1fQlVHX09OKHBkcCA9PSB2bS0+c2NyYXRjaF9wZHApOwo+ IEBAIC0xMjQ3LDcgKzEyNDIsNyBAQCBzdGF0aWMgaW50IGdlbjhfaW5pdF9zY3JhdGNoKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQo+ICAJCWdvdG8gZnJlZV9wdDsKPiAgCX0KPiAgCj4g LQlpZiAodXNlXzRsdmwodm0pKSB7Cj4gKwlpZiAoaTkxNV92bV9pc180bHZsKHZtKSkgewo+ICAJ CXZtLT5zY3JhdGNoX3BkcCA9IGFsbG9jX3BkcCh2bSk7Cj4gIAkJaWYgKElTX0VSUih2bS0+c2Ny YXRjaF9wZHApKSB7Cj4gIAkJCXJldCA9IFBUUl9FUlIodm0tPnNjcmF0Y2hfcGRwKTsKPiBAQCAt MTI1Nyw3ICsxMjUyLDcgQEAgc3RhdGljIGludCBnZW44X2luaXRfc2NyYXRjaChzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgCj4gIAlnZW44X2luaXRpYWxpemVfcHQodm0sIHZtLT5z Y3JhdGNoX3B0KTsKPiAgCWdlbjhfaW5pdGlhbGl6ZV9wZCh2bSwgdm0tPnNjcmF0Y2hfcGQpOwo+ IC0JaWYgKHVzZV80bHZsKHZtKSkKPiArCWlmIChpOTE1X3ZtX2lzXzRsdmwodm0pKQo+ICAJCWdl bjhfaW5pdGlhbGl6ZV9wZHAodm0sIHZtLT5zY3JhdGNoX3BkcCk7Cj4gIAo+ICAJcmV0dXJuIDA7 Cj4gQEAgLTEyNzksNyArMTI3NCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9wcGd0dF9ub3RpZnlfdmd0 KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwgYm9vbCBjcmVhdGUpCj4gIAllbnVtIHZndF9n MnZfdHlwZSBtc2c7Cj4gIAlpbnQgaTsKPiAgCj4gLQlpZiAodXNlXzRsdmwodm0pKSB7Cj4gKwlp ZiAoaTkxNV92bV9pc180bHZsKHZtKSkgewo+ICAJCWNvbnN0IHU2NCBkYWRkciA9IHB4X2RtYSgm cHBndHQtPnBtbDQpOwo+ICAKPiAgCQlJOTE1X1dSSVRFKHZndGlmX3JlZyhwZHBbMF0ubG8pLCBs b3dlcl8zMl9iaXRzKGRhZGRyKSk7Cj4gQEAgLTEzMDksNyArMTMwNCw3IEBAIHN0YXRpYyB2b2lk IGdlbjhfZnJlZV9zY3JhdGNoKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQo+ICAJaWYg KCF2bS0+c2NyYXRjaF9wYWdlLmRhZGRyKQo+ICAJCXJldHVybjsKPiAgCj4gLQlpZiAodXNlXzRs dmwodm0pKQo+ICsJaWYgKGk5MTVfdm1faXNfNGx2bCh2bSkpCj4gIAkJZnJlZV9wZHAodm0sIHZt LT5zY3JhdGNoX3BkcCk7Cj4gIAlmcmVlX3BkKHZtLCB2bS0+c2NyYXRjaF9wZCk7Cj4gIAlmcmVl X3B0KHZtLCB2bS0+c2NyYXRjaF9wdCk7Cj4gQEAgLTEzNTUsNyArMTM1MCw3IEBAIHN0YXRpYyB2 b2lkIGdlbjhfcHBndHRfY2xlYW51cChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAg CWlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXZfcHJpdikpCj4gIAkJZ2VuOF9wcGd0dF9ub3RpZnlf dmd0KHBwZ3R0LCBmYWxzZSk7Cj4gIAo+IC0JaWYgKHVzZV80bHZsKHZtKSkKPiArCWlmIChpOTE1 X3ZtX2lzXzRsdmwodm0pKQo+ICAJCWdlbjhfcHBndHRfY2xlYW51cF80bHZsKHBwZ3R0KTsKPiAg CWVsc2UKPiAgCQlnZW44X3BwZ3R0X2NsZWFudXBfM2x2bCgmcHBndHQtPnZtLCAmcHBndHQtPnBk cCk7Cj4gQEAgLTE1NTUsNyArMTU1MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9od19wcGd0dCAq Z2VuOF9wcGd0dF9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gIAlpZiAo ZXJyKQo+ICAJCWdvdG8gZXJyX2ZyZWU7Cj4gIAo+IC0JaWYgKHVzZV80bHZsKCZwcGd0dC0+dm0p KSB7Cj4gKwlpZiAoaTkxNV92bV9pc180bHZsKCZwcGd0dC0+dm0pKSB7Cj4gIAkJZXJyID0gc2V0 dXBfcHgoJnBwZ3R0LT52bSwgJnBwZ3R0LT5wbWw0KTsKPiAgCQlpZiAoZXJyKQo+ICAJCQlnb3Rv IGVycl9zY3JhdGNoOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gaW5kZXggYTQ3 ZTExZTZmYzFiLi4zNWYyMWEyYWUzNmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaAo+IEBAIC0zNDgsNyArMzQ4LDcgQEAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSB7Cj4g ICNkZWZpbmUgaTkxNV9pc19nZ3R0KHZtKSAoKHZtKS0+aXNfZ2d0dCkKPiAgCj4gIHN0YXRpYyBp bmxpbmUgYm9vbAo+IC1pOTE1X3ZtX2lzXzQ4Yml0KGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtKQo+ICtpOTE1X3ZtX2lzXzRsdmwoY29uc3Qgc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0pCj4gIHsKPiAgCXJldHVybiAodm0tPnRvdGFsIC0gMSkgPj4gMzI7Cj4gIH0KPiBA QCAtNDg4LDcgKzQ4OCw3IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGdlbjZfcGRlX2luZGV4KHUzMiBh ZGRyKQo+ICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludAo+ICBpOTE1X3BkcGVzX3Blcl9wZHAo Y29uc3Qgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gIHsKPiAtCWlmIChpOTE1X3Zt X2lzXzQ4Yml0KHZtKSkKPiArCWlmIChpOTE1X3ZtX2lzXzRsdmwodm0pKQo+ICAJCXJldHVybiBH RU44X1BNTDRFU19QRVJfUE1MNDsKPiAgCj4gIAlyZXR1cm4gR0VOOF8zTFZMX1BEUEVTOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggZGMzZGUwOWM3NTg2Li4xMWI4MWZkMTVmYWIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0xNDk5LDcgKzE0OTksNyBAQCBz dGF0aWMgaW50IGV4ZWNsaXN0c19yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJl cXVlc3QpCj4gIAkgKi8KPiAgCj4gIAkvKiBVbmNvbmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBHUFUg Y2FjaGVzIGFuZCBUTEJzLiAqLwo+IC0JaWYgKGk5MTVfdm1faXNfNDhiaXQoJnJlcXVlc3QtPmdl bV9jb250ZXh0LT5wcGd0dC0+dm0pKQo+ICsJaWYgKGk5MTVfdm1faXNfNGx2bCgmcmVxdWVzdC0+ Z2VtX2NvbnRleHQtPnBwZ3R0LT52bSkpCj4gIAkJcmV0ID0gcmVxdWVzdC0+ZW5naW5lLT5lbWl0 X2ZsdXNoKHJlcXVlc3QsIEVNSVRfSU5WQUxJREFURSk7Cj4gIAllbHNlCj4gIAkJcmV0ID0gZW1p dF9wZHBzKHJlcXVlc3QpOwo+IEBAIC0yNzE5LDcgKzI3MTksNyBAQCBzdGF0aWMgdm9pZCBleGVj bGlzdHNfaW5pdF9yZWdfc3RhdGUodTMyICpyZWdzLAo+ICAJQ1RYX1JFRyhyZWdzLCBDVFhfUERQ MF9VRFcsIEdFTjhfUklOR19QRFBfVURXKGVuZ2luZSwgMCksIDApOwo+ICAJQ1RYX1JFRyhyZWdz LCBDVFhfUERQMF9MRFcsIEdFTjhfUklOR19QRFBfTERXKGVuZ2luZSwgMCksIDApOwo+ICAKPiAt CWlmIChpOTE1X3ZtX2lzXzQ4Yml0KCZwcGd0dC0+dm0pKSB7Cj4gKwlpZiAoaTkxNV92bV9pc180 bHZsKCZwcGd0dC0+dm0pKSB7Cj4gIAkJLyogNjRiIFBQR1RUICg0OGJpdCBjYW5vbmljYWwpCj4g IAkJICogUERQMF9ERVNDUklQVE9SIGNvbnRhaW5zIHRoZSBiYXNlIGFkZHJlc3MgdG8gUE1MNCBh bmQKPiAgCQkgKiBvdGhlciBQRFAgRGVzY3JpcHRvcnMgYXJlIGlnbm9yZWQuCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCj4gaW5kZXggM2FkN2YwNDFhZTg0 Li4yZTFkYjMwYWY0NzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2h1Z2VfcGFnZXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9o dWdlX3BhZ2VzLmMKPiBAQCAtMTQ0OSw3ICsxNDQ5LDcgQEAgc3RhdGljIGludCBpZ3RfcHBndHRf cGluX3VwZGF0ZSh2b2lkICphcmcpCj4gIAkgKiBodWdlLWd0dC1wYWdlcy4KPiAgCSAqLwo+ICAK PiAtCWlmICghcHBndHQgfHwgIWk5MTVfdm1faXNfNDhiaXQoJnBwZ3R0LT52bSkpIHsKPiArCWlm ICghcHBndHQgfHwgIWk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkgewo+ICAJCXByX2luZm8o IjQ4YiBQUEdUVCBub3Qgc3VwcG9ydGVkLCBza2lwcGluZ1xuIik7Cj4gIAkJcmV0dXJuIDA7Cj4g IAl9Cj4gQEAgLTE3MTksNyArMTcxOSw3IEBAIGludCBpOTE1X2dlbV9odWdlX3BhZ2VfbW9ja19z ZWxmdGVzdHModm9pZCkKPiAgCQlnb3RvIG91dF91bmxvY2s7Cj4gIAl9Cj4gIAo+IC0JaWYgKCFp OTE1X3ZtX2lzXzQ4Yml0KCZwcGd0dC0+dm0pKSB7Cj4gKwlpZiAoIWk5MTVfdm1faXNfNGx2bCgm cHBndHQtPnZtKSkgewo+ICAJCXByX2VycigiZmFpbGVkIHRvIGNyZWF0ZSA0OGIgUFBHVFRcbiIp Owo+ICAJCWVyciA9IC1FSU5WQUw7Cj4gIAkJZ290byBvdXRfY2xvc2U7Cj4gLS0gCj4gMi4yMC4x Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==