From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3 1/2] drm/i915: Make sandybridge_pcode_read() deal with the second data register Date: Tue, 7 May 2019 13:15:13 +0300 Message-ID: <20190507101513.GE24299@intel.com> References: <20190503190831.1759-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31EB96E215 for ; Tue, 7 May 2019 10:15:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Clinton Taylor Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXkgMDYsIDIwMTkgYXQgMDM6MDE6NTlQTSAtMDcwMCwgQ2xpbnRvbiBUYXlsb3Ig d3JvdGU6Cj4gVmVyeSBzdHJhaWdodCBmb3J3YXJkLiBOaXQgdmFyaWFibGUgbmFtZXMgdmFsIGFu ZCB2YWwxLCBtYXliZSB2YWwwIGFuZCB2YWwxLgoKVGhlIHJlZ2lzdGVycyBhcmUgbmFtZWQgREFU QSBhbmQgREFUQTEsIHNvIEkgY2FsbGVkIHRoZSB2YXJpYWJsZXMgdmFsCmFuZCB2YWwxLiBJIGd1 ZXNzIEkgY291bGQgaGF2ZSByZW5hbWVkIHRoZW0gdG8gZGF0YSBhbmQgZGF0YTEgdG8gbWFrZQp0 aGUgcmVsYXRpb25zaGlwIGV2ZW4gbW9yZSBleHBsaWNpdC4KCj4gCj4gUmV2aWV3ZWQtYnk6IENs aW50IFRheWxvciA8Q2xpbnRvbi5BLlRheWxvckBpbnRlbC5jb20+Cj4gCj4gLUNsaW50Cj4gCj4g Cj4gT24gNS8zLzE5IDEyOjA4IFBNLCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Cj4gPiBUaGUg cGNvZGUgbWFpbGJveCBoYXMgdHdvIGRhdGEgcmVnaXN0ZXJzLiBTbyBmYXIgd2UndmUgb25seSBl dmVyIHVzZWQKPiA+IHRoZSBvbmUsIGJ1dCB0aGF0J3MgYWJvdXQgdG8gY2hhbmdlLiBFeHBvc2Ug dGhlIHNlY29uZCBkYXRhIHJlZ2lzdGVyIHRvCj4gPiB0aGUgY2FsbGVycyBvZiBzYW5keWJyaWRn ZV9wY29kZV9yZWFkKCkuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgIHwgIDQgKystLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jICAgICAgIHwgMTIgKysrKysrKy0tLS0tCj4gPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3NpZGViYW5kLmMgfCAxNSArKysrKysrKystLS0tLS0KPiA+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuaCB8ICAzICsrLQo+ID4gICA0IGZpbGVz IGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiBpbmRleCAxNGNkODNlOWVhOGIuLjIwMzA4OGY2 ZjI2OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4gQEAgLTE0 OTQsNyArMTQ5NCw3IEBAIHN0YXRpYyBpbnQgZ2VuNl9kcnBjX2luZm8oc3RydWN0IHNlcV9maWxl ICptKQo+ID4gICAKPiA+ICAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDcpCj4gPiAgIAkJ c2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwgR0VONl9QQ09ERV9SRUFEX1JDNlZJRFMs Cj4gPiAtCQkJCSAgICAgICAmcmM2dmlkcyk7Cj4gPiArCQkJCSAgICAgICAmcmM2dmlkcywgTlVM TCk7Cj4gPiAgIAo+ID4gICAJc2VxX3ByaW50ZihtLCAiUkMxZSBFbmFibGVkOiAlc1xuIiwKPiA+ ICAgCQkgICB5ZXNubyhyY2N0bDEgJiBHRU42X1JDX0NUTF9SQzFlX0VOQUJMRSkpOwo+ID4gQEAg LTE3NzcsNyArMTc3Nyw3IEBAIHN0YXRpYyBpbnQgaTkxNV9yaW5nX2ZyZXFfdGFibGUoc3RydWN0 IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gPiAgIAkJaWFfZnJlcSA9IGdwdV9mcmVxOwo+ ID4gICAJCXNhbmR5YnJpZGdlX3Bjb2RlX3JlYWQoZGV2X3ByaXYsCj4gPiAgIAkJCQkgICAgICAg R0VONl9QQ09ERV9SRUFEX01JTl9GUkVRX1RBQkxFLAo+ID4gLQkJCQkgICAgICAgJmlhX2ZyZXEp Owo+ID4gKwkJCQkgICAgICAgJmlhX2ZyZXEsIE5VTEwpOwo+ID4gICAJCXNlcV9wcmludGYobSwg IiVkXHRcdCVkXHRcdFx0XHQlZFxuIiwKPiA+ICAgCQkJICAgaW50ZWxfZ3B1X2ZyZXEoZGV2X3By aXYsIChncHVfZnJlcSAqCj4gPiAgIAkJCQkJCSAgICAgKElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+IGluZGV4IGVmOWZjNzdmODE2Mi4uYjA0M2E5 NmUxMjNjIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gQEAgLTI4MjIsNyAr MjgyMiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3JlYWRfd21fbGF0ZW5jeShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgIAkJdmFsID0gMDsgLyogZGF0YTAgdG8gYmUgcHJv Z3JhbW1lZCB0byAwIGZvciBmaXJzdCBzZXQgKi8KPiA+ICAgCQlyZXQgPSBzYW5keWJyaWRnZV9w Y29kZV9yZWFkKGRldl9wcml2LAo+ID4gICAJCQkJCSAgICAgR0VOOV9QQ09ERV9SRUFEX01FTV9M QVRFTkNZLAo+ID4gLQkJCQkJICAgICAmdmFsKTsKPiA+ICsJCQkJCSAgICAgJnZhbCwgTlVMTCk7 Cj4gPiAgIAo+ID4gICAJCWlmIChyZXQpIHsKPiA+ICAgCQkJRFJNX0VSUk9SKCJTS0wgTWFpbGJv eCByZWFkIGVycm9yID0gJWRcbiIsIHJldCk7Cj4gPiBAQCAtMjg0MSw3ICsyODQxLDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfcmVhZF93bV9sYXRlbmN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiA+ICAgCQl2YWwgPSAxOyAvKiBkYXRhMCB0byBiZSBwcm9ncmFtbWVkIHRvIDEg Zm9yIHNlY29uZCBzZXQgKi8KPiA+ICAgCQlyZXQgPSBzYW5keWJyaWRnZV9wY29kZV9yZWFkKGRl dl9wcml2LAo+ID4gICAJCQkJCSAgICAgR0VOOV9QQ09ERV9SRUFEX01FTV9MQVRFTkNZLAo+ID4g LQkJCQkJICAgICAmdmFsKTsKPiA+ICsJCQkJCSAgICAgJnZhbCwgTlVMTCk7Cj4gPiAgIAkJaWYg KHJldCkgewo+ID4gICAJCQlEUk1fRVJST1IoIlNLTCBNYWlsYm94IHJlYWQgZXJyb3IgPSAlZFxu IiwgcmV0KTsKPiA+ICAgCQkJcmV0dXJuOwo+ID4gQEAgLTcwNjEsNyArNzA2MSw3IEBAIHN0YXRp YyB2b2lkIGdlbjZfaW5pdF9ycHNfZnJlcXVlbmNpZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ID4gICAKPiA+ICAgCQlpZiAoc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZf cHJpdiwKPiA+ICAgCQkJCQkgICBIU1dfUENPREVfRFlOQU1JQ19EVVRZX0NZQ0xFX0NPTlRST0ws Cj4gPiAtCQkJCQkgICAmZGRjY19zdGF0dXMpID09IDApCj4gPiArCQkJCQkgICAmZGRjY19zdGF0 dXMsIE5VTEwpID09IDApCj4gPiAgIAkJCXJwcy0+ZWZmaWNpZW50X2ZyZXEgPQo+ID4gICAJCQkJ Y2xhbXBfdCh1OCwKPiA+ICAgCQkJCQkoKGRkY2Nfc3RhdHVzID4+IDgpICYgMHhmZiksCj4gPiBA QCAtNzQwOCw3ICs3NDA4LDggQEAgc3RhdGljIHZvaWQgZ2VuNl9lbmFibGVfcmM2KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAgCQkgICBHRU42X1JDX0NUTF9IV19FTkFC TEUpOwo+ID4gICAKPiA+ICAgCXJjNnZpZHMgPSAwOwo+ID4gLQlyZXQgPSBzYW5keWJyaWRnZV9w Y29kZV9yZWFkKGRldl9wcml2LCBHRU42X1BDT0RFX1JFQURfUkM2VklEUywgJnJjNnZpZHMpOwo+ ID4gKwlyZXQgPSBzYW5keWJyaWRnZV9wY29kZV9yZWFkKGRldl9wcml2LCBHRU42X1BDT0RFX1JF QURfUkM2VklEUywKPiA+ICsJCQkJICAgICAmcmM2dmlkcywgTlVMTCk7Cj4gPiAgIAlpZiAoSVNf R0VOKGRldl9wcml2LCA2KSAmJiByZXQpIHsKPiA+ICAgCQlEUk1fREVCVUdfRFJJVkVSKCJDb3Vs ZG4ndCBjaGVjayBmb3IgQklPUyB3b3JrYXJvdW5kXG4iKTsKPiA+ICAgCX0gZWxzZSBpZiAoSVNf R0VOKGRldl9wcml2LCA2KSAmJiAoR0VONl9ERUNPREVfUkM2X1ZJRChyYzZ2aWRzICYgMHhmZikg PCA0NTApKSB7Cj4gPiBAQCAtODU1NSw3ICs4NTU2LDggQEAgdm9pZCBpbnRlbF9pbml0X2d0X3Bv d2Vyc2F2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiAgIAkgICAgSVNf SVZZQlJJREdFKGRldl9wcml2KSB8fCBJU19IQVNXRUxMKGRldl9wcml2KSkgewo+ID4gICAJCXUz MiBwYXJhbXMgPSAwOwo+ID4gICAKPiA+IC0JCXNhbmR5YnJpZGdlX3Bjb2RlX3JlYWQoZGV2X3By aXYsIEdFTjZfUkVBRF9PQ19QQVJBTVMsICZwYXJhbXMpOwo+ID4gKwkJc2FuZHlicmlkZ2VfcGNv ZGVfcmVhZChkZXZfcHJpdiwgR0VONl9SRUFEX09DX1BBUkFNUywKPiA+ICsJCQkJICAgICAgICZw YXJhbXMsIE5VTEwpOwo+ID4gICAJCWlmIChwYXJhbXMgJiBCSVQoMzEpKSB7IC8qIE9DIHN1cHBv cnRlZCAqLwo+ID4gICAJCQlEUk1fREVCVUdfRFJJVkVSKCJPdmVyY2xvY2tpbmcgc3VwcG9ydGVk LCBtYXg6ICVkTUh6LCBvdmVyY2xvY2s6ICVkTUh6XG4iLAo+ID4gICAJCQkJCSAocnBzLT5tYXhf ZnJlcSAmIDB4ZmYpICogNTAsCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc2lkZWJhbmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NpZGViYW5kLmMK PiA+IGluZGV4IDg3YjVhMTRjN2NhOC4uYTExNTYyNWU5ODBjIDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYwo+ID4gQEAgLTM3NCw3ICszNzQsNyBAQCBzdGF0aWMg aW5saW5lIGludCBnZW43X2NoZWNrX21haWxib3hfc3RhdHVzKHUzMiBtYm94KQo+ID4gICB9Cj4g PiAgIAo+ID4gICBzdGF0aWMgaW50IF9fc2FuZHlicmlkZ2VfcGNvZGVfcncoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsCj4gPiAtCQkJCSAgdTMyIG1ib3gsIHUzMiAqdmFsLAo+ID4gKwkJ CQkgIHUzMiBtYm94LCB1MzIgKnZhbCwgdTMyICp2YWwxLAo+ID4gICAJCQkJICBpbnQgZmFzdF90 aW1lb3V0X3VzLAo+ID4gICAJCQkJICBpbnQgc2xvd190aW1lb3V0X21zLAo+ID4gICAJCQkJICBi b29sIGlzX3JlYWQpCj4gPiBAQCAtMzkzLDcgKzM5Myw3IEBAIHN0YXRpYyBpbnQgX19zYW5keWJy aWRnZV9wY29kZV9ydyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiA+ICAgCQlyZXR1 cm4gLUVBR0FJTjsKPiA+ICAgCj4gPiAgIAlpbnRlbF91bmNvcmVfd3JpdGVfZncodW5jb3JlLCBH RU42X1BDT0RFX0RBVEEsICp2YWwpOwo+ID4gLQlpbnRlbF91bmNvcmVfd3JpdGVfZncodW5jb3Jl LCBHRU42X1BDT0RFX0RBVEExLCAwKTsKPiA+ICsJaW50ZWxfdW5jb3JlX3dyaXRlX2Z3KHVuY29y ZSwgR0VONl9QQ09ERV9EQVRBMSwgdmFsMSA/ICp2YWwxIDogMCk7Cj4gPiAgIAlpbnRlbF91bmNv cmVfd3JpdGVfZncodW5jb3JlLAo+ID4gICAJCQkgICAgICBHRU42X1BDT0RFX01BSUxCT1gsIEdF TjZfUENPREVfUkVBRFkgfCBtYm94KTsKPiA+ICAgCj4gPiBAQCAtNDA3LDYgKzQwNyw4IEBAIHN0 YXRpYyBpbnQgX19zYW5keWJyaWRnZV9wY29kZV9ydyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKPiA+ICAgCj4gPiAgIAlpZiAoaXNfcmVhZCkKPiA+ICAgCQkqdmFsID0gaW50ZWxfdW5j b3JlX3JlYWRfZncodW5jb3JlLCBHRU42X1BDT0RFX0RBVEEpOwo+ID4gKwlpZiAoaXNfcmVhZCAm JiB2YWwxKQo+ID4gKwkJKnZhbDEgPSBpbnRlbF91bmNvcmVfcmVhZF9mdyh1bmNvcmUsIEdFTjZf UENPREVfREFUQTEpOwo+ID4gICAKPiA+ICAgCWlmIChJTlRFTF9HRU4oaTkxNSkgPiA2KQo+ID4g ICAJCXJldHVybiBnZW43X2NoZWNrX21haWxib3hfc3RhdHVzKG1ib3gpOwo+ID4gQEAgLTQxNCwx MiArNDE2LDEzIEBAIHN0YXRpYyBpbnQgX19zYW5keWJyaWRnZV9wY29kZV9ydyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiA+ICAgCQlyZXR1cm4gZ2VuNl9jaGVja19tYWlsYm94X3N0 YXR1cyhtYm94KTsKPiA+ICAgfQo+ID4gICAKPiA+IC1pbnQgc2FuZHlicmlkZ2VfcGNvZGVfcmVh ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTMyIG1ib3gsIHUzMiAqdmFsKQo+ID4g K2ludCBzYW5keWJyaWRnZV9wY29kZV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LCB1MzIgbWJveCwKPiA+ICsJCQkgICB1MzIgKnZhbCwgdTMyICp2YWwxKQo+ID4gICB7Cj4gPiAg IAlpbnQgZXJyOwo+ID4gICAKPiA+ICAgCW11dGV4X2xvY2soJmk5MTUtPnNiX2xvY2spOwo+ID4g LQllcnIgPSBfX3NhbmR5YnJpZGdlX3Bjb2RlX3J3KGk5MTUsIG1ib3gsIHZhbCwKPiA+ICsJZXJy ID0gX19zYW5keWJyaWRnZV9wY29kZV9ydyhpOTE1LCBtYm94LCB2YWwsIHZhbDEsCj4gPiAgIAkJ CQkgICAgIDUwMCwgMCwKPiA+ICAgCQkJCSAgICAgdHJ1ZSk7Cj4gPiAgIAltdXRleF91bmxvY2so Jmk5MTUtPnNiX2xvY2spOwo+ID4gQEAgLTQ0MCw3ICs0NDMsNyBAQCBpbnQgc2FuZHlicmlkZ2Vf cGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiA+ICAg CWludCBlcnI7Cj4gPiAgIAo+ID4gICAJbXV0ZXhfbG9jaygmaTkxNS0+c2JfbG9jayk7Cj4gPiAt CWVyciA9IF9fc2FuZHlicmlkZ2VfcGNvZGVfcncoaTkxNSwgbWJveCwgJnZhbCwKPiA+ICsJZXJy ID0gX19zYW5keWJyaWRnZV9wY29kZV9ydyhpOTE1LCBtYm94LCAmdmFsLCBOVUxMLAo+ID4gICAJ CQkJICAgICBmYXN0X3RpbWVvdXRfdXMsIHNsb3dfdGltZW91dF9tcywKPiA+ICAgCQkJCSAgICAg ZmFsc2UpOwo+ID4gICAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5zYl9sb2NrKTsKPiA+IEBAIC00NTcs NyArNDYwLDcgQEAgc3RhdGljIGJvb2wgc2tsX3Bjb2RlX3RyeV9yZXF1ZXN0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1LCB1MzIgbWJveCwKPiA+ICAgCQkJCSAgdTMyIHJlcXVlc3QsIHUz MiByZXBseV9tYXNrLCB1MzIgcmVwbHksCj4gPiAgIAkJCQkgIHUzMiAqc3RhdHVzKQo+ID4gICB7 Cj4gPiAtCSpzdGF0dXMgPSBfX3NhbmR5YnJpZGdlX3Bjb2RlX3J3KGk5MTUsIG1ib3gsICZyZXF1 ZXN0LAo+ID4gKwkqc3RhdHVzID0gX19zYW5keWJyaWRnZV9wY29kZV9ydyhpOTE1LCBtYm94LCAm cmVxdWVzdCwgTlVMTCwKPiA+ICAgCQkJCQkgNTAwLCAwLAo+ID4gICAJCQkJCSB0cnVlKTsKPiA+ ICAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NpZGViYW5kLmgKPiA+IGluZGV4IGEwOTA3 ZTJjNDk5Mi4uN2ZiOTU3NDVhNDQ0IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc2lkZWJhbmQuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2lkZWJhbmQuaAo+ID4gQEAgLTEyNyw3ICsxMjcsOCBAQCB1MzIgaW50ZWxfc2JpX3JlYWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHUxNiByZWcsCj4gPiAgIHZvaWQgaW50ZWxfc2Jp X3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1MTYgcmVnLCB1MzIgdmFsdWUs Cj4gPiAgIAkJICAgICBlbnVtIGludGVsX3NiaV9kZXN0aW5hdGlvbiBkZXN0aW5hdGlvbik7Cj4g PiAgIAo+ID4gLWludCBzYW5keWJyaWRnZV9wY29kZV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LCB1MzIgbWJveCwgdTMyICp2YWwpOwo+ID4gK2ludCBzYW5keWJyaWRnZV9wY29k ZV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1MzIgbWJveCwKPiA+ICsJCQkg ICB1MzIgKnZhbCwgdTMyICp2YWwxKTsKPiA+ICAgaW50IHNhbmR5YnJpZGdlX3Bjb2RlX3dyaXRl X3RpbWVvdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHUzMiBtYm94LAo+ID4gICAJ CQkJICAgIHUzMiB2YWwsIGludCBmYXN0X3RpbWVvdXRfdXMsCj4gPiAgIAkJCQkgICAgaW50IHNs b3dfdGltZW91dF9tcyk7CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==