From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [PATCH 4/5] drm/i915: Track page table reload need Date: Thu, 19 Mar 2015 11:26:13 +0000 Message-ID: <550AB255.5050709@intel.com> References: <1426521658-28408-1-git-send-email-michel.thierry@intel.com> <1426521658-28408-5-git-send-email-michel.thierry@intel.com> <873851mkcv.fsf@gaia.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 87ADF6E9C8 for ; Thu, 19 Mar 2015 04:26:15 -0700 (PDT) In-Reply-To: <873851mkcv.fsf@gaia.fi.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 List-Id: intel-gfx@lists.freedesktop.org T24gMy8xOS8yMDE1IDk6MDEgQU0sIE1pa2EgS3VvcHBhbGEgd3JvdGU6Cj4gTWljaGVsIFRoaWVy cnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4gd3JpdGVzOgo+Cj4+IEZyb206IEJlbiBXaWRh d3NreSA8YmVuamFtaW4ud2lkYXdza3lAaW50ZWwuY29tPgo+Pgo+PiBUaGlzIHBhdGNoIHdhcyBm b3JtZXJseSBrbm93biBhcywgIkZvcmNlIHBkIHJlc3RvcmUgd2hlbiBQREVzIGNoYW5nZSwKPj4g Z2VuNi03LiIgSSBoYWQgdG8gY2hhbmdlIHRoZSBuYW1lIGJlY2F1c2UgaXQgaXMgbmVlZGVkIGZv ciBHRU44IHRvby4KPj4KPj4gVGhlIHJlYWwgaXNzdWUgdGhpcyBpcyB0cnlpbmcgdG8gc29sdmUg aXMgd2hlbiBhIG5ldyBvYmplY3QgaXMgbWFwcGVkCj4+IGludG8gdGhlIGN1cnJlbnQgYWRkcmVz cyBzcGFjZS4gVGhlIEdQVSBkb2VzIG5vdCBzbm9vcCB0aGUgbmV3IG1hcHBpbmcKPj4gc28gd2Ug bXVzdCBkbyB0aGUgZ2VuIHNwZWNpZmljIGFjdGlvbiB0byByZWxvYWQgdGhlIHBhZ2UgdGFibGVz Lgo+Pgo+PiBHRU44IGFuZCBHRU43IGRvIGRpZmZlciBpbiB0aGUgd2F5IHRoZXkgbG9hZCBwYWdl IHRhYmxlcyBmb3IgdGhlIFJDUy4KPj4gR0VOOCBkb2VzIHNvIHdpdGggdGhlIGNvbnRleHQgcmVz dG9yZSwgd2hpbGUgR0VONyByZXF1aXJlcyB0aGUgcHJvcGVyCj4+IGxvYWQgY29tbWFuZHMgaW4g dGhlIGNvbW1hbmQgc3RyZWFtZXIuIE5vbi1yZW5kZXIgaXMgc2ltaWxhciBmb3IgYm90aC4KPj4K Pj4gQ2F2ZWF0IGZvciBHRU43Cj4+IFRoZSBkb2NzIHNheSB5b3UgY2Fubm90IGNoYW5nZSB0aGUg UERFcyBvZiBhIGN1cnJlbnRseSBydW5uaW5nIGNvbnRleHQuCj4+IFdlIG5ldmVyIG1hcCBuZXcg UERFcyBvZiBhIHJ1bm5pbmcgY29udGV4dCwgYW5kIGV4cGVjdCB0aGVtIHRvIGJlCj4+IHByZXNl bnQgLSBzbyBJIHRoaW5rIHRoaXMgaXMgb2theS4gKFdlIGNhbiB1bm1hcCwgYnV0IHRoaXMgc2hv dWxkIGFsc28KPj4gYmUgb2theSBzaW5jZSB3ZSBvbmx5IHVubWFwIHVucmVmZXJlbmNlZCBvYmpl Y3RzIHRoYXQgdGhlIEdQVSBzaG91bGRuJ3QKPj4gYmUgdHJ5aW5ndG8gdmEtPnBhIHhsYXRlLikg VGhlIE1JX1NFVF9DT05URVhUIGNvbW1hbmQgZG9lcyBoYXZlIGEgZmxhZwo+PiB0byBzaWduYWwg dGhhdCBldmVuIGlmIHRoZSBjb250ZXh0IGlzIHRoZSBzYW1lLCBmb3JjZSBhIHJlbG9hZC4gSXQn cwo+PiB1bmNsZWFyIGV4YWN0bHkgd2hhdCB0aGlzIGRvZXMsIGJ1dCBJIGhhdmUgYSBodW5jaCBp dCdzIHRoZSByaWdodCB0aGluZwo+PiB0byBkby4KPj4KPj4gVGhlIGxvZ2ljIGFzc3VtZXMgdGhh dCB3ZSBhbHdheXMgZW1pdCBhIGNvbnRleHQgc3dpdGNoIGFmdGVyIG1hcHBpbmcgbmV3Cj4+IFBE RXMsIGFuZCBiZWZvcmUgd2Ugc3VibWl0IGEgYmF0Y2guIFRoaXMgaXMgdGhlIGNhc2UgdG9kYXks IGFuZCBoYXMgYmVlbgo+PiB0aGUgY2FzZSBzaW5jZSB0aGUgaW5jZXB0aW9uIG9mIGhhcmR3YXJl IGNvbnRleHRzLiBBIG5vdGUgaW4gdGhlIGNvbW1lbnQKPj4gbGV0J3MgdGhlIHVzZXIga25vdy4K Pj4KPj4gSXQncyBub3QganVzdCBmb3IgZ2VuOC4gSWYgdGhlIGN1cnJlbnQgY29udGV4dCBoYXMg bWFwcGluZ3MgY2hhbmdlLCB3ZQo+PiBuZWVkIGEgY29udGV4dCByZWxvYWQgdG8gc3dpdGNoCj4+ Cj4+IHYyOiBSZWJhc2VkIGFmdGVyIHBwZ3R0IGNsZWFuIHVwIHBhdGNoZXMuIFNwbGl0IHRoZSB3 YXJuaW5nIGZvciBhbGlhc2luZwo+PiBhbmQgdHJ1ZSBwcGd0dCBvcHRpb25zLiBBbmQgZG8gbm90 IGJyZWFrIGFsaWFzaW5nIHBwZ3R0LCB3aGVyZSB0by0+cHBndHQKPj4gaXMgYWx3YXlzIG51bGwu Cj4+Cj4+IHYzOiBJbnZhbGlkYXRlIFBQR1RUIFRMQnMgaW5zaWRlIGFsbG9jX3ZhX3JhbmdlLgo+ Pgo+PiB2NDogUmVuYW1lIHBwZ3R0X2ludmFsaWRhdGVfdGxicyB0byBtYXJrX3RsYnNfZGlydHkg YW5kIG1vdmUKPj4gcGRfZGlydHlfcmluZ3MgZnJvbSBpOTE1X2FkZHJlc3Nfc3BhY2UgdG8gaTkx NV9od19wcGd0dC4gRml4ZXMgd2hlbgo+PiBuZWl0aGVyIGN0eC0+cHBndHQgYW5kIGFsaWFzaW5n X3BwZ3R0IGV4aXN0Lgo+Pgo+PiB2NTogUmVtb3ZlZCByZWZlcmVuY2VzIHRvIHRlYXJkb3duX3Zh X3JhbmdlLgo+Pgo+PiB2NjogVXBkYXRlZCBuZWVkc19wZF9sb2FkX3ByZS9wb3N0Lgo+Pgo+PiBT aWduZWQtb2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+Cj4+IFNpZ25lZC1v ZmYtYnk6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+ICh2MispCj4+ IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICB8IDI2 ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jIHwgMTEgKysrKysrKysrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgICAgfCAxMSArKysrKysrKysrKwo+PiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICAgICB8ICAxICsKPj4gICA0IGZpbGVzIGNo YW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPj4gaW5kZXggYjZlYTg1ZC4uOTE5N2ZmNCAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+PiBAQCAtNTczLDgg KzU3MywyMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkX3NraXBfc3dpdGNoKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+ICAgCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpmcm9tLAo+PiAgIAkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqdG8pCj4+ICAgewo+ PiAtCWlmIChmcm9tID09IHRvICYmICF0by0+cmVtYXBfc2xpY2UpCj4+IC0JCXJldHVybiB0cnVl Owo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2 X3ByaXZhdGU7Cj4+ICsKPj4gKwlpZiAodG8tPnJlbWFwX3NsaWNlKQo+PiArCQlyZXR1cm4gZmFs c2U7Cj4+ICsKPj4gKwlpZiAodG8tPnBwZ3R0KSB7Cj4+ICsJCWlmIChmcm9tID09IHRvICYmICF0 ZXN0X2JpdChyaW5nLT5pZCwKPj4gKwkJCQkmdG8tPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncykpCj4+ ICsJCQlyZXR1cm4gdHJ1ZTsKPj4gKwl9IGVsc2UgaWYgKGRldl9wcml2LT5tbS5hbGlhc2luZ19w cGd0dCkgewo+PiArCQlpZiAoZnJvbSA9PSB0byAmJiAhdGVzdF9iaXQocmluZy0+aWQsCj4+ICsJ CQkJJmRldl9wcml2LT5tbS5hbGlhc2luZ19wcGd0dC0+cGRfZGlydHlfcmluZ3MpKQo+PiArCQkJ cmV0dXJuIHRydWU7Cj4+ICsJfQo+PiAgIAo+PiAgIAlyZXR1cm4gZmFsc2U7Cj4+ICAgfQo+PiBA QCAtNjEwLDEwICs2MjIsNyBAQCBuZWVkc19wZF9sb2FkX3Bvc3Qoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywgc3RydWN0IGludGVsX2NvbnRleHQgKnRvKQo+PiAgIAlpZiAocmluZyAhPSAm ZGV2X3ByaXYtPnJpbmdbUkNTXSkKPj4gICAJCXJldHVybiBmYWxzZTsKPj4gICAKPj4gLQlpZiAo IXRvLT5sZWdhY3lfaHdfY3R4LmluaXRpYWxpemVkKQo+PiAtCQlyZXR1cm4gdHJ1ZTsKPj4gLQo+ PiAtCWlmIChpOTE1X2dlbV9jb250ZXh0X2lzX2RlZmF1bHQodG8pKQo+PiArCWlmICgmdG8tPnBw Z3R0LT5wZF9kaXJ0eV9yaW5ncykKPiBpZiAodG8tPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncykgPwpT b3JyeSwgd3JvbmcgY29weS9wYXN0ZSBmcm9tIHRlc3QvY2xlYXJfYml0IGZ1bmN0aW9ucy4KCj4+ ICAgCQlyZXR1cm4gdHJ1ZTsKPj4gICAKPj4gICAJcmV0dXJuIGZhbHNlOwo+PiBAQCAtNjY0LDYg KzY3Myw5IEBAIHN0YXRpYyBpbnQgZG9fc3dpdGNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCj4+ICAgCQlyZXQgPSB0by0+cHBndHQtPnN3aXRjaF9tbSh0by0+cHBndHQsIHJpbmcpOwo+ PiAgIAkJaWYgKHJldCkKPj4gICAJCQlnb3RvIHVucGluX291dDsKPj4gKwo+PiArCQkvKiBEb2lu ZyBhIFBEIGxvYWQgYWx3YXlzIHJlbG9hZHMgdGhlIHBhZ2UgZGlycyAqLwo+PiArCQljbGVhcl9i aXQocmluZy0+aWQsICZ0by0+cHBndHQtPnBkX2RpcnR5X3JpbmdzKTsKPj4gICAJfQo+PiAgIAo+ PiAgIAlpZiAocmluZyAhPSAmZGV2X3ByaXYtPnJpbmdbUkNTXSkgewo+PiBAQCAtNjk2LDYgKzcw OCw4IEBAIHN0YXRpYyBpbnQgZG9fc3dpdGNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcs Cj4+ICAgCj4+ICAgCWlmICghdG8tPmxlZ2FjeV9od19jdHguaW5pdGlhbGl6ZWQgfHwgaTkxNV9n ZW1fY29udGV4dF9pc19kZWZhdWx0KHRvKSkKPj4gICAJCWh3X2ZsYWdzIHw9IE1JX1JFU1RPUkVf SU5ISUJJVDsKPj4gKwllbHNlIGlmICh0by0+cHBndHQgJiYgdGVzdF9hbmRfY2xlYXJfYml0KHJp bmctPmlkLCAmdG8tPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncykpCj4+ICsJCWh3X2ZsYWdzIHw9IE1J X0ZPUkNFX1JFU1RPUkU7Cj4+ICAgCj4+ICAgCXJldCA9IG1pX3NldF9jb250ZXh0KHJpbmcsIHRv LCBod19mbGFncyk7Cj4+ICAgCWlmIChyZXQpCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMKPj4gaW5kZXggZGMxMGJjNC4uZmQwMjQxYSAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+PiBAQCAtMTE4Nyw2ICsx MTg3LDEzIEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+ICAgCWlmIChyZXQpCj4+ICAgCQlnb3Rv IGVycm9yOwo+PiAgIAo+PiArCWlmIChjdHgtPnBwZ3R0KQo+PiArCQlXQVJOKGN0eC0+cHBndHQt PnBkX2RpcnR5X3JpbmdzICYgKDE8PHJpbmctPmlkKSwKPj4gKwkJCSIlcyBkaWRuJ3QgY2xlYXIg cmVsb2FkXG4iLCByaW5nLT5uYW1lKTsKPj4gKwllbHNlIGlmIChkZXZfcHJpdi0+bW0uYWxpYXNp bmdfcHBndHQpCj4+ICsJCVdBUk4oZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0LT5wZF9kaXJ0 eV9yaW5ncyAmCj4+ICsJCQkoMTw8cmluZy0+aWQpLCAiJXMgZGlkbid0IGNsZWFyIHJlbG9hZFxu IiwgcmluZy0+bmFtZSk7Cj4+ICsKPj4gICAJaW5zdHBfbW9kZSA9IGFyZ3MtPmZsYWdzICYgSTkx NV9FWEVDX0NPTlNUQU5UU19NQVNLOwo+PiAgIAlpbnN0cF9tYXNrID0gSTkxNV9FWEVDX0NPTlNU QU5UU19NQVNLOwo+PiAgIAlzd2l0Y2ggKGluc3RwX21vZGUpIHsKPj4gQEAgLTE0NTYsNiArMTQ2 MywxMCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4+ICAgCWlmIChyZXQpCj4+ICAgCQlnb3RvIGVycjsKPj4gICAKPj4gKwkvKiBY WFg6IFJlc2VydmUgaGFzIHBvc3NpYmx5IGNoYW5nZSBQREVzIHdoaWNoIG1lYW5zIHdlIG11c3Qg ZG8gYQo+PiArCSAqIGNvbnRleHQgc3dpdGNoIGJlZm9yZSB3ZSBjYW4gY29oZXJlbnRseSByZWFk IHNvbWUgb2YgdGhlIHJlc2VydmVkCj4+ICsJICogVk1Bcy4gKi8KPj4gKwo+IFdpdGggZ2d0dCB3 ZSBzaG91bGQgYmUgYWx3YXlzIGJlIHNhZmUgYXMgdGhlIHB0ZXMgYXJlIHNub29wZWQuIEFuZCB3 ZQo+IGRvbid0IGRvIGR5bmFtaWMgYWxsb2NhdGlvbiBvbiB0aGUgZ2d0dCBhbnl3YXlzLiBTbyB3 aHkgd2UgbmVlZCB0aGUKPiBjdHggc3dpdGNoPwo+Cj4gQXMgSSBmYWlsIHRvIGNvbm5lY3QgdGhl IGRvdHMsIGNvdWxkIHlvdSBwbGVhc2UgZWxhYm9yYXRlIHRoZSBjb21tZW50Cj4gc2VjdGlvbi4K UmlnaHQsIHRoaXMgY29tbWVudCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gZnVsbCBQUEdUVCwgd2hp Y2ggd29uJ3QgaGFwcGVuIApoZXJlOgppOTE1X2dlbV9leGVjYnVmZmVyX3Jlc2VydmUoKQotPmk5 MTVfZ2VtX2V4ZWNidWZmZXJfcmVzZXJ2ZV92bWEoKQotLT5pOTE1X2dlbV9vYmplY3RfcGluKCkg KHZtYSA9PSBOVUxMIHx8ICFkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCi0tLT5p OTE1X2dlbV9vYmplY3RfYmluZF90b192bSAoYWxsb2NhdGUgYmVmb3JlIGluc2VydCAvIGJpbmQp Ci0tLS0+Z2VuNl9hbGxvY192YV9yYW5nZQoKPgo+IC0tTWlrYQo+Cj4+ICAgCS8qIFRoZSBvYmpl Y3RzIGFyZSBpbiB0aGVpciBmaW5hbCBsb2NhdGlvbnMsIGFwcGx5IHRoZSByZWxvY2F0aW9ucy4g Ki8KPj4gICAJaWYgKG5lZWRfcmVsb2NzKQo+PiAgIAkJcmV0ID0gaTkxNV9nZW1fZXhlY2J1ZmZl cl9yZWxvY2F0ZShlYik7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4+IGluZGV4 IGM1MGI0YWIuLjE3NThmZDkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j Cj4+IEBAIC0xMTYxLDYgKzExNjEsMTYgQEAgc3RhdGljIHZvaWQgZ2VuNl9wcGd0dF91bm1hcF9w YWdlcyhzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQpCj4+ICAgCQkJICAgICAgIDQwOTYsIFBD SV9ETUFfQklESVJFQ1RJT05BTCk7Cj4+ICAgfQo+PiAgIAo+PiArLyogUERFIFRMQnMgYXJlIGEg cGFpbiBpbnZhbGlkYXRlIHByZSBHRU44LiBJdCByZXF1aXJlcyBhIGNvbnRleHQgcmVsb2FkLiBJ ZiB3ZQo+PiArICogYXJlIHN3aXRjaGluZyBiZXR3ZWVuIGNvbnRleHRzIHdpdGggdGhlIHNhbWUg TFJDQSwgd2UgYWxzbyBtdXN0IGRvIGEgZm9yY2UKPj4gKyAqIHJlc3RvcmUuCj4+ICsgKi8KPj4g K3N0YXRpYyBpbmxpbmUgdm9pZCBtYXJrX3RsYnNfZGlydHkoc3RydWN0IGk5MTVfaHdfcHBndHQg KnBwZ3R0KQo+PiArewo+PiArCS8qIElmIGN1cnJlbnQgdm0gIT0gdm0sICovCj4+ICsJcHBndHQt PnBkX2RpcnR5X3JpbmdzID0gSU5URUxfSU5GTyhwcGd0dC0+YmFzZS5kZXYpLT5yaW5nX21hc2s7 Cj4+ICt9Cj4+ICsKPj4gICBzdGF0aWMgaW50IGdlbjZfYWxsb2NfdmFfcmFuZ2Uoc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqdm0sCj4+ICAgCQkJICAgICAgIHVpbnQ2NF90IHN0YXJ0LCB1aW50 NjRfdCBsZW5ndGgpCj4+ICAgewo+PiBAQCAtMTE4MCw2ICsxMTkwLDcgQEAgc3RhdGljIGludCBn ZW42X2FsbG9jX3ZhX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+PiAgIAkJ CQlHRU42X1BURVMpOwo+PiAgIAl9Cj4+ICAgCj4+ICsJbWFya190bGJzX2RpcnR5KHBwZ3R0KTsK Pj4gICAJcmV0dXJuIDA7Cj4+ICAgfQo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaAo+PiBpbmRleCBjMzBhZjYyLi4wNzRiMWZjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaAo+PiBAQCAtMzAwLDYgKzMwMCw3IEBAIHN0cnVjdCBpOTE1X2h3X3BwZ3R0 IHsKPj4gICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSBiYXNlOwo+PiAgIAlzdHJ1Y3Qga3Jl ZiByZWY7Cj4+ICAgCXN0cnVjdCBkcm1fbW1fbm9kZSBub2RlOwo+PiArCXVuc2lnbmVkIGxvbmcg cGRfZGlydHlfcmluZ3M7Cj4+ICAgCXVuc2lnbmVkIG51bV9wZF9lbnRyaWVzOwo+PiAgIAl1bnNp Z25lZCBudW1fcGRfcGFnZXM7IC8qIGdlbjgrICovCj4+ICAgCXVuaW9uIHsKPj4gLS0gCj4+IDIu MS4xCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==