From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH] drm/i915/execlists: Always reset the context's RING registers Date: Mon, 08 Apr 2019 16:38:59 +0100 Message-ID: <155473793425.26510.15452794957065692509@skylake-alporthouse-com> References: <20190408131506.1180-1-chris@chris-wilson.co.uk> <20190408134025.1381-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3D2289262 for ; Mon, 8 Apr 2019 15:39:09 +0000 (UTC) In-Reply-To: <20190408134025.1381-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UXVvdGluZyBDaHJpcyBXaWxzb24gKDIwMTktMDQtMDggMTQ6NDA6MjUpCj4gRHVyaW5nIHJlc2V0 LCB3ZSB0cnkgYW5kIHN0b3AgdGhlIGFjdGl2ZSByaW5nLiBUaGlzIGhhcyB0aGUgY29uc2VxdWVu Y2UKPiB0aGF0IHdlIG9mdGVuIGNsb2JiZXIgdGhlIFJJTkcgcmVnaXN0ZXJzIHdpdGhpbiB0aGUg Y29udGV4dCBpbWFnZS4gV2hlbgo+IHdlIGZpbmQgYW4gYWN0aXZlIHJlcXVlc3QsIHdlIHVwZGF0 ZSB0aGUgY29udGV4dCBpbWFnZSB0byByZXJ1biB0aGF0Cj4gcmVxdWVzdCAoaWYgaXQgd2FzIGd1 aWx0eSwgd2UgcmVwbGFjZSB0aGUgaGFuZ2luZyB1c2VyIHBheWxvYWQgd2l0aAo+IE5PUHMpLiBI b3dldmVyLCB3ZSB3ZXJlIGlnbm9yaW5nIGFuIGFjdGl2ZSBjb250ZXh0IGlmIHRoZSByZXF1ZXN0 IGhhZAo+IGNvbXBsZXRlZCwgd2l0aCB0aGUgY29uc2VxdWVuY2UgdGhhdCB0aGUgbmV4dCBzdWJt aXNzaW9uIG9uIHRoYXQgcmVxdWVzdAo+IHdvdWxkIHN0YXJ0IHdpdGggUklOR19IRUFEPT0wIGFu ZCBub3QgdGhlIHRhaWwgb2YgdGhlIHByZXZpb3VzIHJlcXVlc3QsCj4gY2F1c2luZyBhbGwgcmVx dWVzdHMgc3RpbGwgaW4gdGhlIHJpbmcgdG8gYmUgcmVydW4uIFJhcmUsIGJ1dAo+IG9jY2FzaW9u YWxseSBzZWVuIHdpdGhpbiBDSSB3aGVyZSB3ZSB3b3VsZCBzcG90IHRoYXQgdGhlIGNvbnRleHQg c2Vxbm8KPiB3b3VsZCByZXZlcnNlIGFuZCBjb21wbGFpbiB0aGF0IHdlIHdlcmUgcmV0aXJpbmcg YW4gaW5jb21wbGV0ZSByZXF1ZXN0Lgo+IAo+ICAgICA8MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+ LTAgICAgICAgM2QuczIgNDA4MzczMzUydXMgOiBfX2k5MTVfcmVxdWVzdF9zdWJtaXQ6IHJjczAg ZmVuY2UgMWU5NWI6MzY0MCAtPiBjdXJyZW50IDM2MzgKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSAg IDxpZGxlPi0wICAgICAgIDNkLnMyIDQwODM3MzM1M3VzIDogX19pOTE1X3JlcXVlc3Rfc3VibWl0 OiByY3MwIGZlbmNlIDFlOTViOjM2NDIgLT4gY3VycmVudCAzNjM4Cj4gICAgIDwwPiBbNDEyLjM5 MDM1MF0gICA8aWRsZT4tMCAgICAgICAzZC5zMiA0MDgzNzMzNTR1cyA6IF9faTkxNV9yZXF1ZXN0 X3N1Ym1pdDogcmNzMCBmZW5jZSAxZTk1YjozNjQ0IC0+IGN1cnJlbnQgMzYzOAo+ICAgICA8MD4g WzQxMi4zOTAzNTBdICAgPGlkbGU+LTAgICAgICAgM2QuczIgNDA4MzczMzU0dXMgOiBfX2k5MTVf cmVxdWVzdF9zdWJtaXQ6IHJjczAgZmVuY2UgMWU5NWI6MzY0NiAtPiBjdXJyZW50IDM2MzgKPiAg ICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0wICAgICAgIDNkLnMyIDQwODM3MzM1NnVzIDog X19leGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0OiByY3MwIGluWzBdOiAgY3R4PTIuMSwgZmVu Y2UgMWU5NWI6MzY0NiAoY3VycmVudCAzNjM4KSwgcHJpbz00Cj4gICAgIDwwPiBbNDEyLjM5MDM1 MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzMzNzR1cyA6IF9faTkxNV9yZXF1ZXN0X2Nv bW1pdDogcmNzMCBmZW5jZSAxZTk1YjozNjQ4Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9z ZWwtNDYxMyAgICAwZC4uMSA0MDgzNzMzNzd1cyA6IHByb2Nlc3NfY3NiOiByY3MwIGNzLWlycSBo ZWFkPTIsIHRhaWw9Mwo+ICAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAgMGQu LjEgNDA4MzczMzc3dXMgOiBwcm9jZXNzX2NzYjogcmNzMCBjc2JbM106IHN0YXR1cz0weDAwMDAw MDAxOjB4MDAwMDAwMDAsIGFjdGl2ZT0weDEKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3Nl bC00NjEzICAgIDBkLi4xIDQwODM3MzM3OHVzIDogX19pOTE1X3JlcXVlc3Rfc3VibWl0OiByY3Mw IGZlbmNlIDFlOTViOjM2NDggLT4gY3VycmVudCAzNjM4Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0g ICA8aWRsZT4tMCAgICAgICAzLi5zMSA0MDgzNzMzNzh1cyA6IGV4ZWNsaXN0c19zdWJtaXNzaW9u X3Rhc2tsZXQ6IHJjczAgYXdha2U/PTEsIGFjdGl2ZT01Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0g aTkxNV9zZWwtNDYxMyAgICAwZC4uMSA0MDgzNzMzNzl1cyA6IF9fZXhlY2xpc3RzX3N1Ym1pc3Np b25fdGFza2xldDogcmNzMCBpblswXTogIGN0eD0yLjIsIGZlbmNlIDFlOTViOjM2NDggKGN1cnJl bnQgMzYzOCksIHByaW89NAo+ICAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAg MC4uLi4gNDA4MzczMzgxdXMgOiBpOTE1X3Jlc2V0X2VuZ2luZTogcmNzMCBmbGFncz00Cj4gICAg IDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzMzODJ1cyA6IGV4 ZWNsaXN0c19yZXNldF9wcmVwYXJlOiByY3MwOiBkZXB0aDwtMAo+ICAgICA8MD4gWzQxMi4zOTAz NTBdICAgPGlkbGU+LTAgICAgICAgM2QuczIgNDA4MzczMzkwdXMgOiBwcm9jZXNzX2NzYjogcmNz MCBjcy1pcnEgaGVhZD0zLCB0YWlsPTQKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0w ICAgICAgIDNkLnMyIDQwODM3MzM5MHVzIDogcHJvY2Vzc19jc2I6IHJjczAgY3NiWzRdOiBzdGF0 dXM9MHgwMDAwODAwMjoweDAwMDAwMDAyLCBhY3RpdmU9MHgxCj4gICAgIDwwPiBbNDEyLjM5MDM1 MF0gICA8aWRsZT4tMCAgICAgICAzZC5zMiA0MDgzNzMzOTB1cyA6IHByb2Nlc3NfY3NiOiByY3Mw IG91dFswXTogY3R4PTIuMiwgZmVuY2UgMWU5NWI6MzY0OCAoY3VycmVudCAzNjQwKSwgcHJpbz00 Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzM0MDF1 cyA6IGludGVsX2VuZ2luZV9zdG9wX2NzOiByY3MwCj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkx NV9zZWwtNDYxMyAgICAwZC4uMSA0MDgzNzM0MDJ1cyA6IHByb2Nlc3NfY3NiOiByY3MwIGNzLWly cSBoZWFkPTQsIHRhaWw9NAo+ICAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAg MC4uLi4gNDA4MzczNDAzdXMgOiBpbnRlbF9ncHVfcmVzZXQ6IGVuZ2luZV9tYXNrPTEKPiAgICAg PDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDBkLi4xIDQwODM3MzQwOHVzIDogZXhl Y2xpc3RzX2NhbmNlbF9wb3J0X3JlcXVlc3RzOiByY3MwOnBvcnQwIGZlbmNlIDFlOTViOjM2NDgs IChjdXJyZW50IDM2NDgpCj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAw Li4uLiA0MDgzNzM0NDJ1cyA6IGludGVsX2VuZ2luZV9jYW5jZWxfc3RvcF9jczogcmNzMAo+ICAg ICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAgMC4uLi4gNDA4MzczNDQydXMgOiBl eGVjbGlzdHNfcmVzZXRfZmluaXNoOiByY3MwOiBkZXB0aC0+MAo+ICAgICA8MD4gWzQxMi4zOTAz NTBdIGtzb2Z0aXJxLTI2ICAgICAgMy4ucy4gNDA4MzczNDQydXMgOiBleGVjbGlzdHNfc3VibWlz c2lvbl90YXNrbGV0OiByY3MwIGF3YWtlPz0xLCBhY3RpdmU9MAo+ICAgICA8MD4gWzQxMi4zOTAz NTBdIGtzb2Z0aXJxLTI2ICAgICAgM2QuczEgNDA4MzczNDQzdXMgOiBwcm9jZXNzX2NzYjogcmNz MCBjcy1pcnEgaGVhZD01LCB0YWlsPTUKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00 NjEzICAgIDAuLi4uIDQwODM3MzQ3NXVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTogcmNzMCBmZW5j ZSAxZTk1YjozNjQwLCBjdXJyZW50IDM2NDgKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3Nl bC00NjEzICAgIDAuLi4uIDQwODM3MzQ3NnVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTogX19yZXRp cmVfZW5naW5lX3JlcXVlc3QocmNzMCkgZmVuY2UgMWU5NWI6MzY0MCwgY3VycmVudCAzNjQ4Cj4g ICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzM0OTR1cyA6 IF9faTkxNV9yZXF1ZXN0X2NvbW1pdDogcmNzMCBmZW5jZSAxZTk1YjozNjUwCj4gICAgIDwwPiBb NDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwZC4uMSA0MDgzNzM0OTZ1cyA6IHByb2Nlc3Nf Y3NiOiByY3MwIGNzLWlycSBoZWFkPTUsIHRhaWw9NQo+ICAgICA8MD4gWzQxMi4zOTAzNTBdIGk5 MTVfc2VsLTQ2MTMgICAgMGQuLjEgNDA4MzczNDk2dXMgOiBfX2k5MTVfcmVxdWVzdF9zdWJtaXQ6 IHJjczAgZmVuY2UgMWU5NWI6MzY1MCAtPiBjdXJyZW50IDM2NDgKPiAgICAgPDA+IFs0MTIuMzkw MzUwXSBpOTE1X3NlbC00NjEzICAgIDBkLi4xIDQwODM3MzQ5OHVzIDogX19leGVjbGlzdHNfc3Vi bWlzc2lvbl90YXNrbGV0OiByY3MwIGluWzBdOiAgY3R4PTIuMSwgZmVuY2UgMWU5NWI6MzY1MCAo Y3VycmVudCAzNjQ4KSwgcHJpbz02Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYx MyAgICAwLi4uLiA0MDgzNzM1MDB1cyA6IGk5MTVfcmVxdWVzdF9yZXRpcmVfdXB0bzogcmNzMCBm ZW5jZSAxZTk1YjozNjQ4LCBjdXJyZW50IDM2NDgKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1 X3NlbC00NjEzICAgIDAuLi4uIDQwODM3MzUwMHVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTogcmNz MCBmZW5jZSAxZTk1YjozNjQyLCBjdXJyZW50IDM2NDgKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSBp OTE1X3NlbC00NjEzICAgIDAuLi4uIDQwODM3MzUwMXVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTog X19yZXRpcmVfZW5naW5lX3JlcXVlc3QocmNzMCkgZmVuY2UgMWU5NWI6MzY0MiwgY3VycmVudCAz NjQ4Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzM1 MTR1cyA6IGk5MTVfcmVxdWVzdF9yZXRpcmU6IHJjczAgZmVuY2UgMWU5NWI6MzY0NCwgY3VycmVu dCAzNjQ4Cj4gICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgz NzM1MTV1cyA6IGk5MTVfcmVxdWVzdF9yZXRpcmU6IF9fcmV0aXJlX2VuZ2luZV9yZXF1ZXN0KHJj czApIGZlbmNlIDFlOTViOjM2NDQsIGN1cnJlbnQgMzY0OAo+ICAgICA8MD4gWzQxMi4zOTAzNTBd IGk5MTVfc2VsLTQ2MTMgICAgMC4uLi4gNDA4MzczNTI3dXMgOiBpOTE1X3JlcXVlc3RfcmV0aXJl OiByY3MwIGZlbmNlIDFlOTViOjM2NDYsIGN1cnJlbnQgMzY0MAo+ICAgICA8MD4gWzQxMi4zOTAz NTBdICAgPGlkbGU+LTAgICAgICAgMy4uczEgNDA4MzczNTY5dXMgOiBleGVjbGlzdHNfc3VibWlz c2lvbl90YXNrbGV0OiByY3MwIGF3YWtlPz0xLCBhY3RpdmU9MQo+ICAgICA8MD4gWzQxMi4zOTAz NTBdICAgPGlkbGU+LTAgICAgICAgM2QuczIgNDA4MzczNTY5dXMgOiBwcm9jZXNzX2NzYjogcmNz MCBjcy1pcnEgaGVhZD01LCB0YWlsPTEKPiAgICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0w ICAgICAgIDNkLnMyIDQwODM3MzU3MHVzIDogcHJvY2Vzc19jc2I6IHJjczAgY3NiWzBdOiBzdGF0 dXM9MHgwMDAwMDAwMToweDAwMDAwMDAwLCBhY3RpdmU9MHgxCj4gICAgIDwwPiBbNDEyLjM5MDM1 MF0gICA8aWRsZT4tMCAgICAgICAzZC5zMiA0MDgzNzM1NzB1cyA6IHByb2Nlc3NfY3NiOiByY3Mw IGNzYlsxXTogc3RhdHVzPTB4MDAwMDAwMTg6MHgwMDAwMDAwMiwgYWN0aXZlPTB4NQo+ICAgICA8 MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+LTAgICAgICAgM2QuczIgNDA4MzczNTcwdXMgOiBwcm9j ZXNzX2NzYjogcmNzMCBvdXRbMF06IGN0eD0yLjEsIGZlbmNlIDFlOTViOjM2NTAgKGN1cnJlbnQg MzY1MCksIHByaW89Ngo+ICAgICA8MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+LTAgICAgICAgM2Qu czIgNDA4MzczNTcxdXMgOiBwcm9jZXNzX2NzYjogcmNzMCBjb21wbGV0ZWQgY3R4PTIKPiAgICAg PDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDAuLi4uIDQwODM3MzYyMXVzIDogaTkx NV9yZXF1ZXN0X3JldGlyZTogaTkxNV9yZXF1ZXN0X3JldGlyZToyNTMgR0VNX0JVR19PTighaTkx NV9yZXF1ZXN0X2NvbXBsZXRlZChyZXF1ZXN0KSkKPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogTWlrYSBLdW9wcGFsYSA8bWlr YS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jIHwgNDYgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggNjkzMWRiYjI4ODhjLi5kMTk1YjdhMWRjY2YgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0xOTA0LDcgKzE5MDQsNiBAQCBzdGF0 aWMgdm9pZCBleGVjbGlzdHNfcmVzZXRfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCj4gIAo+ICAgICAgICAgLyogQW5kIGZsdXNoIGFueSBjdXJyZW50IGRpcmVjdCBzdWJt aXNzaW9uLiAqLwo+ICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+dGltZWxpbmUu bG9jaywgZmxhZ3MpOwo+IC0gICAgICAgcHJvY2Vzc19jc2IoZW5naW5lKTsgLyogZHJhaW4gcHJl ZW1wdGlvbiBldmVudHMgKi8KPiAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2lu ZS0+dGltZWxpbmUubG9jaywgZmxhZ3MpOwo+ICB9Cj4gIAo+IEBAIC0xOTI4LDEyICsxOTI3LDI5 IEBAIHN0YXRpYyBib29sIGxyY19yZWdzX29rKGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx KQo+ICBzdGF0aWMgdm9pZCBleGVjbGlzdHNfcmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLCBib29sIHN0YWxsZWQpCj4gIHsKPiAgICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVf ZXhlY2xpc3RzICogY29uc3QgZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwo+IC0gICAg ICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7Cj4gKyAgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSA9IE5VTEw7Cj4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7Cj4gICAgICAg ICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAgICAgICAgdTMyICpyZWdzOwo+ICAKPiAgICAgICAg IHNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPnRpbWVsaW5lLmxvY2ssIGZsYWdzKTsKPiAgCj4g KyAgICAgICBHRU1fVFJBQ0UoIiVzXG4iLCBlbmdpbmUtPm5hbWUpOwo+ICsgICAgICAgcHJvY2Vz c19jc2IoZW5naW5lKTsgLyogZHJhaW4gcHJlZW1wdGlvbiBldmVudHMgKi8KPiArCj4gKyAgICAg ICAvKiBGb2xsb3dpbmcgdGhlIHJlc2V0LCB3ZSBuZWVkIHRvIHJlbG9hZCB0aGUgQ1NCIHJlYWQv d3JpdGUgcG9pbnRlcnMgKi8KPiArICAgICAgIHJlc2V0X2NzYl9wb2ludGVycygmZW5naW5lLT5l eGVjbGlzdHMpOwo+ICsKPiArICAgICAgIC8qCj4gKyAgICAgICAgKiBTYXZlIHRoZSBjdXJyZW50 bHkgZXhlY3V0aW5nIGNvbnRleHQsIGV2ZW4gaWYgd2UgY29tcGxldGVkCj4gKyAgICAgICAgKiBp dHMgcmVxdWVzdCwgaXQgd2FzIHN0aWxsIHJ1bm5pbmcgYXQgdGhlIHRpbWUgb2YgdGhlCj4gKyAg ICAgICAgKiByZXNldCBhbmQgd2lsbCBoYXZlIGJlZW4gY2xvYmJlcmVkLgo+ICsgICAgICAgICov Cj4gKyAgICAgICBpZiAoIXBvcnRfaXNzZXQoZXhlY2xpc3RzLT5wb3J0KSkKPiArICAgICAgICAg ICAgICAgZ290byBvdXRfdW5sb2NrOwo+ICsKPiArICAgICAgIGNlID0gcG9ydF9yZXF1ZXN0KGV4 ZWNsaXN0cy0+cG9ydCktPmh3X2NvbnRleHQ7Cj4gKwo+ICAgICAgICAgLyoKPiAgICAgICAgICAq IENhdGNoIHVwIHdpdGggYW55IG1pc3NlZCBjb250ZXh0LXN3aXRjaCBpbnRlcnJ1cHRzLgo+ICAg ICAgICAgICoKPiBAQCAtMTk0NywxMiArMTk2MywxMCBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNf cmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBib29sIHN0YWxsZWQpCj4gIAo+ ICAgICAgICAgLyogUHVzaCBiYWNrIGFueSBpbmNvbXBsZXRlIHJlcXVlc3RzIGZvciByZXBsYXkg YWZ0ZXIgdGhlIHJlc2V0LiAqLwo+ICAgICAgICAgcnEgPSBfX3Vud2luZF9pbmNvbXBsZXRlX3Jl cXVlc3RzKGVuZ2luZSk7Cj4gLQo+IC0gICAgICAgLyogRm9sbG93aW5nIHRoZSByZXNldCwgd2Ug bmVlZCB0byByZWxvYWQgdGhlIENTQiByZWFkL3dyaXRlIHBvaW50ZXJzICovCj4gLSAgICAgICBy ZXNldF9jc2JfcG9pbnRlcnMoJmVuZ2luZS0+ZXhlY2xpc3RzKTsKPiAtCj4gICAgICAgICBpZiAo IXJxKQo+IC0gICAgICAgICAgICAgICBnb3RvIG91dF91bmxvY2s7Cj4gKyAgICAgICAgICAgICAg IGdvdG8gb3V0X3JlcGxheTsKPiArCj4gKyAgICAgICBHRU1fQlVHX09OKHJxLT5od19jb250ZXh0 ICE9IGNlKTsKCkl0IHRvb2sgYSBmZXcgaG91cnMsIGJ1dCBJIGV2ZW50dWFsbHkgaGl0IHRoaXMu IFdoaWNoIGNhbiBiZSBpZiB3ZSByZXNldApqdXN0IGJlZm9yZSBhIGNvbnRleHQgc3dpdGNoIC0t IEkgdGhpbmsgY2UgaXMgdGhlIGFjY3VyYXRlIG9uZSBoZXJlLCBhbmQKd2Ugc2hvdWxkIGRpc3Jl Z2FyZCBycS4KLUNocmlzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeA==