From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH v3 2/2] drm/i915: kill resource streamer Date: Thu, 19 Jul 2018 12:52:21 -0700 Message-ID: <20180719195221.GL31791@intel.com> References: <20180719170557.10729-1-lucas.demarchi@intel.com> <20180719170557.10729-2-lucas.demarchi@intel.com> <20180719171635.GE31791@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2CDF06EEAF for ; Thu, 19 Jul 2018 19:52:23 +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: Lucas De Marchi Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdWwgMTksIDIwMTggYXQgMTI6MTI6MDhQTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IE9uIFRodSwgSnVsIDE5LCAyMDE4IGF0IDEwOjE4IEFNIFJvZHJpZ28gVml2aSA8 cm9kcmlnby52aXZpQGludGVsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gVGh1LCBKdWwgMTksIDIw MTggYXQgMTA6MDU6NTdBTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hpIHdyb3RlOgo+ID4gPiBBZnRl ciBkaXNhYmxpbmcgcmVzb3VyY2Ugc3RyZWFtZXIgb24gSUNMIChkdWUgdG8gaXQgYWN0dWFsbHkg bm90Cj4gPiA+IGV4aXN0aW5nIHRoZXJlKSwgSSBnb3QgZmVlZGJhY2sgdGhhdCB0aGVyZSBoYXZl IGJlZW4gc29tZSBleHBlcmltZW50YWwKPiA+ID4gcGF0Y2hlcyBmb3IgbWVzYSB0byB1c2UgUlMg eWVhcnMgYWdvLCBidXQgbm90aGluZyBldmVyIGxhbmRlZCBvciBzaGlwcGVkCj4gPiA+IGJlY2F1 c2UgdGhlcmUgd2FzIG5vIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50Lgo+ID4gPgo+ID4gPiBUaGlz IHJlbW92ZXMgaXQgZnJvbSBrZXJuZWwga2VlcGluZyB0aGUgdWFwaSBkZWZpbmVzIGFyb3VuZCBm b3IKPiA+ID4gY29tcGF0aWJpbGl0eS4KPiA+ID4KPiA+ID4gdjI6IC0gcmUtYWRkIHRoZSBpbmFk dmVydGVudCByZW1vdmFsIG9mIENUWF9DVFJMX0lOSElCSVRfU1lOX0NUWF9TV0lUQ0gKPiA+ID4g ICAgIC0gZG9uJ3QgYm90aGVyIHRyeWluZyB0byBkb2N1bWVudCByZW1vdmVkIHBhcmFtcyBvbiB1 YXBpIGhlYWRlcjoKPiA+ID4gICAgICAgYXBwbGljYXRpb25zIHNob3VsZCBrbm93IHRoYXQgZnJv bSB0aGUgcXVlcnkuCj4gPiA+ICAgICAgIChmcm9tIENocmlzKQo+ID4gPgo+ID4gPiB2MzogLSBk aXNhYmxlIENUWF9DVFJMX1JTX0NUWF9FTkFCTEUgaXN0ZWFkIG9mIHJlbW92aW5nIGl0Cj4gPiA+ ICAgICAtIHJld29yZCBjb21taXQgbWVzc2FnZSBhZnRlciBEYW5pZWxlIGNvbmZpcm1lZCBubyBw ZXJmb3JtYW5jZQo+ID4gPiAgICAgICByZWdyZXNzaW9uIG9uIGhpcyBtYWNoaW5lCj4gPiA+ICAg ICAtIHJld29yZCBjb21taXQgbWVzc2FnZSB0byBtYWtlIGNsZWFyIFJTIGlzIGJlaW5nIHJlbW92 ZWQgZHVlIHRvCj4gPiA+ICAgICAgIG5ldmVyIGJlZW4gdXNlZAo+ID4KPiA+IHRoYW5rcwo+ID4K PiA+ID4KPiA+ID4gU2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNo aUBpbnRlbC5jb20+Cj4gPiA+IEFja2VkLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5p ZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+ID4KPiA+IFJldmlld2VkLWJ5OiBSb2RyaWdv IFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPgo+ID4gKEkgd2lsbCB3YWl0IENJIGFu ZCB0aGVuIEkgd2lsbCBwdXNoKQo+IAo+IHRoZXJlJ3MgYWxzbyB0aGUgaS1nLXQgcGF0Y2gsIG90 aGVyd2lzZSB0aGVyZSB3aWxsIGJlIHNvbWUgdGVzdHMgZmFpbGluZy4KCm9rLCBzbyB3ZSB3YWl0 IHRoZSBpZ3QgdG8gbGFuZCBhbmQgdHJpZ2dlciByZS10ZXN0IG9uIHRoaXMgd2hlbiB0aGF0IGhh cHBlbnMKYW5kIHdoZW4gQ0kgaXMgaGFwcHkgd2UgcHVzaCBpdC4KCj4gCj4gTHVjYXMgRGUgTWFy Y2hpCj4gCj4gPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMgICAgICAgICAgICB8ICAyICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgICAgICAgICAgfCAgMiAtLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIHwgMTUgKystLS0tLS0tLS0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BjaS5jICAgICAgICAgICAgfCAgNCAtLS0tCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oICAgfCAgMSAtCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAxMCArKysrLS0tLS0tCj4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgfCAgNCArLS0tCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAgMSAtCj4gPiA+ ICA4IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCj4gPiA+ Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gPiBpbmRleCAzODM0YmQ3NThhMmUuLmI0 YjQzNDAyY2MwYyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gPiA+IEBA IC0zNzMsNyArMzczLDcgQEAgc3RhdGljIGludCBpOTE1X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICB2 YWx1ZSA9IDI7Cj4gPiA+ICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiA+ICAgICAgIGNhc2UgSTkx NV9QQVJBTV9IQVNfUkVTT1VSQ0VfU1RSRUFNRVI6Cj4gPiA+IC0gICAgICAgICAgICAgdmFsdWUg PSBIQVNfUkVTT1VSQ0VfU1RSRUFNRVIoZGV2X3ByaXYpOwo+ID4gPiArICAgICAgICAgICAgIHZh bHVlID0gMDsKPiA+ID4gICAgICAgICAgICAgICBicmVhazsKPiA+ID4gICAgICAgY2FzZSBJOTE1 X1BBUkFNX0hBU19QT09MRURfRVU6Cj4gPiA+ICAgICAgICAgICAgICAgdmFsdWUgPSBIQVNfUE9P TEVEX0VVKGRldl9wcml2KTsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+IGluZGV4 IDRmYjkzNzM5OTQ0MC4uMGIyMmNhMGIyNGE4IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiA+ID4gQEAgLTI2MTIsOCArMjYxMiw2IEBAIGludGVsX2luZm8oY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAgI2RlZmluZSBVU0VTX0dVQ19T VUJNSVNTSU9OKGRldl9wcml2KSAgICAgICAgaW50ZWxfdWNfaXNfdXNpbmdfZ3VjX3N1Ym1pc3Np b24oKQo+ID4gPiAgI2RlZmluZSBVU0VTX0hVQyhkZXZfcHJpdikgICAgICAgICAgIGludGVsX3Vj X2lzX3VzaW5nX2h1YygpCj4gPiA+Cj4gPiA+IC0jZGVmaW5lIEhBU19SRVNPVVJDRV9TVFJFQU1F UihkZXZfcHJpdikgKChkZXZfcHJpdiktPmluZm8uaGFzX3Jlc291cmNlX3N0cmVhbWVyKQo+ID4g PiAtCj4gPiA+ICAjZGVmaW5lIEhBU19QT09MRURfRVUoZGV2X3ByaXYpICAgICAgKChkZXZfcHJp diktPmluZm8uaGFzX3Bvb2xlZF9ldSkKPiA+ID4KPiA+ID4gICNkZWZpbmUgSU5URUxfUENIX0RF VklDRV9JRF9NQVNLICAgICAgICAgICAgIDB4ZmY4MAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gPiA+IGluZGV4IDE5MzJiYzIyNzk0Mi4uY2EyMWEw OGIyYmU5IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jCj4gPiA+IEBAIC0yMjIxLDE5ICsyMjIxLDggQEAgaTkxNV9nZW1fZG9fZXhlY2J1 ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gPiAgICAgICBpZiAoIWViLmVuZ2luZSkK PiA+ID4gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+ID4KPiA+ID4gLSAgICAgaWYg KGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX1JFU09VUkNFX1NUUkVBTUVSKSB7Cj4gPiA+IC0gICAg ICAgICAgICAgaWYgKCFIQVNfUkVTT1VSQ0VfU1RSRUFNRVIoZWIuaTkxNSkpIHsKPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgIERSTV9ERUJVRygiUlMgaXMgb25seSBhbGxvd2VkIGZvciBIYXN3 ZWxsIGFuZCBHZW44IC0gR2VuMTBcbiIpOwo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIC1FSU5WQUw7Cj4gPiA+IC0gICAgICAgICAgICAgfQo+ID4gPiAtICAgICAgICAgICAgIGlm IChlYi5lbmdpbmUtPmlkICE9IFJDUykgewo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgRFJN X0RFQlVHKCJSUyBpcyBub3QgYXZhaWxhYmxlIG9uICVzXG4iLAo+ID4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZWIuZW5naW5lLT5uYW1lKTsKPiA+ID4gLSAgICAgICAgICAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gPiAtICAgICAgICAgICAgIH0KPiA+ID4gLQo+ID4g PiAtICAgICAgICAgICAgIGViLmJhdGNoX2ZsYWdzIHw9IEk5MTVfRElTUEFUQ0hfUlM7Cj4gPiA+ IC0gICAgIH0KPiA+ID4gKyAgICAgaWYgKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX1JFU09VUkNF X1NUUkVBTUVSKQo+ID4gPiArICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gPgo+ID4g PiAgICAgICBpZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfRkVOQ0VfSU4pIHsKPiA+ID4gICAg ICAgICAgICAgICBpbl9mZW5jZSA9IHN5bmNfZmlsZV9nZXRfZmVuY2UobG93ZXJfMzJfYml0cyhh cmdzLT5yc3ZkMikpOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKPiA+ID4gaW5kZXggM2E0 YmIwMTdkNjc2Li43YjU3MGJhOTBkOWYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w Y2kuYwo+ID4gPiBAQCAtMzYwLDcgKzM2MCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZGV2aWNlX2luZm8gaW50ZWxfdmFsbGV5dmlld19pbmZvID0gewo+ID4gPiAgICAgICAuaGFzX2Rk aSA9IDEsIFwKPiA+ID4gICAgICAgLmhhc19mcGdhX2RiZyA9IDEsIFwKPiA+ID4gICAgICAgLmhh c19wc3IgPSAxLCBcCj4gPiA+IC0gICAgIC5oYXNfcmVzb3VyY2Vfc3RyZWFtZXIgPSAxLCBcCj4g PiA+ICAgICAgIC5oYXNfZHBfbXN0ID0gMSwgXAo+ID4gPiAgICAgICAuaGFzX3JjNnAgPSAwIC8q IFJDNnAgcmVtb3ZlZC1ieSBIU1cgKi8sIFwKPiA+ID4gICAgICAgLmhhc19ydW50aW1lX3BtID0g MQo+ID4gPiBAQCAtNDMzLDcgKzQzMiw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2 aWNlX2luZm8gaW50ZWxfY2hlcnJ5dmlld19pbmZvID0gewo+ID4gPiAgICAgICAucmluZ19tYXNr ID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJMVF9SSU5HIHwgVkVCT1hfUklORywKPiA+ID4g ICAgICAgLmhhc182NGJpdF9yZWxvYyA9IDEsCj4gPiA+ICAgICAgIC5oYXNfcnVudGltZV9wbSA9 IDEsCj4gPiA+IC0gICAgIC5oYXNfcmVzb3VyY2Vfc3RyZWFtZXIgPSAxLAo+ID4gPiAgICAgICAu aGFzX3JjNiA9IDEsCj4gPiA+ICAgICAgIC5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzID0gMSwK PiA+ID4gICAgICAgLmhhc19nbWNoX2Rpc3BsYXkgPSAxLAo+ID4gPiBAQCAtNTA2LDcgKzUwNCw2 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfc2t5bGFrZV9n dDRfaW5mbyA9IHsKPiA+ID4gICAgICAgLmhhc19ydW50aW1lX3BtID0gMSwgXAo+ID4gPiAgICAg ICAuaGFzX3Bvb2xlZF9ldSA9IDAsIFwKPiA+ID4gICAgICAgLmhhc19jc3IgPSAxLCBcCj4gPiA+ IC0gICAgIC5oYXNfcmVzb3VyY2Vfc3RyZWFtZXIgPSAxLCBcCj4gPiA+ICAgICAgIC5oYXNfcmM2 ID0gMSwgXAo+ID4gPiAgICAgICAuaGFzX2RwX21zdCA9IDEsIFwKPiA+ID4gICAgICAgLmhhc19s b2dpY2FsX3JpbmdfY29udGV4dHMgPSAxLCBcCj4gPiA+IEBAIC01OTMsNyArNTkwLDYgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9jYW5ub25sYWtlX2luZm8g PSB7Cj4gPiA+ICAgICAgIEdFTigxMSksIFwKPiA+ID4gICAgICAgLmRkYl9zaXplID0gMjA0OCwg XAo+ID4gPiAgICAgICAuaGFzX2NzciA9IDAsIFwKPiA+ID4gLSAgICAgLmhhc19yZXNvdXJjZV9z dHJlYW1lciA9IDAsIFwKPiA+ID4gICAgICAgLmhhc19sb2dpY2FsX3JpbmdfZWxzcSA9IDEKPiA+ ID4KPiA+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaWNl bGFrZV8xMV9pbmZvID0gewo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmgKPiA+ID4gaW5kZXggNjMzZjlmYmY3MmVhLi42ODE0Y2M3ZGZjZDMgMTAwNjQ0Cj4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiA+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+ID4gPiBAQCAtMTAz LDcgKzEwMyw2IEBAIGVudW0gaW50ZWxfcGxhdGZvcm0gewo+ID4gPiAgICAgICBmdW5jKGhhc19w c3IpOyBcCj4gPiA+ICAgICAgIGZ1bmMoaGFzX3JjNik7IFwKPiA+ID4gICAgICAgZnVuYyhoYXNf cmM2cCk7IFwKPiA+ID4gLSAgICAgZnVuYyhoYXNfcmVzb3VyY2Vfc3RyZWFtZXIpOyBcCj4gPiA+ ICAgICAgIGZ1bmMoaGFzX3J1bnRpbWVfcG0pOyBcCj4gPiA+ICAgICAgIGZ1bmMoaGFzX3Nub29w KTsgXAo+ID4gPiAgICAgICBmdW5jKHVuZmVuY2VkX25lZWRzX2FsaWdubWVudCk7IFwKPiA+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiA+ID4gaW5kZXggMTc0NDc5MjMyZTk0Li4zNzI2NzA5 YjhkZjMgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j Cj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gPiA+IEBAIC0y MDY2LDggKzIwNjYsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9iYl9zdGFydChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwKPiA+ID4KPiA+ID4gICAgICAgLyogRklYTUUoQkRXKTogQWRkcmVzcyBz cGFjZSBhbmQgc2VjdXJpdHkgc2VsZWN0b3JzLiAqLwo+ID4gPiAgICAgICAqY3MrKyA9IE1JX0JB VENIX0JVRkZFUl9TVEFSVF9HRU44IHwKPiA+ID4gLSAgICAgICAgICAgICAoZmxhZ3MgJiBJOTE1 X0RJU1BBVENIX1NFQ1VSRSA/IDAgOiBCSVQoOCkpIHwKPiA+ID4gLSAgICAgICAgICAgICAoZmxh Z3MgJiBJOTE1X0RJU1BBVENIX1JTID8gTUlfQkFUQ0hfUkVTT1VSQ0VfU1RSRUFNRVIgOiAwKTsK PiA+ID4gKyAgICAgICAgICAgICAoZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSA/IDAgOiBC SVQoOCkpOwo+ID4gPiAgICAgICAqY3MrKyA9IGxvd2VyXzMyX2JpdHMob2Zmc2V0KTsKPiA+ID4g ICAgICAgKmNzKysgPSB1cHBlcl8zMl9iaXRzKG9mZnNldCk7Cj4gPiA+Cj4gPiA+IEBAIC0yNTg1 LDEwICsyNTg0LDkgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVnX3N0YXRlKHUzMiAq cmVncywKPiA+ID4KPiA+ID4gICAgICAgQ1RYX1JFRyhyZWdzLCBDVFhfQ09OVEVYVF9DT05UUk9M LCBSSU5HX0NPTlRFWFRfQ09OVFJPTChlbmdpbmUpLAo+ID4gPiAgICAgICAgICAgICAgIF9NQVNL RURfQklUX0RJU0FCTEUoQ1RYX0NUUkxfRU5HSU5FX0NUWF9SRVNUT1JFX0lOSElCSVQgfAo+ID4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1RYX0NUUkxfRU5HSU5FX0NUWF9T QVZFX0lOSElCSVQpIHwKPiA+ID4gLSAgICAgICAgICAgICBfTUFTS0VEX0JJVF9FTkFCTEUoQ1RY X0NUUkxfSU5ISUJJVF9TWU5fQ1RYX1NXSVRDSCB8Cj4gPiA+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChIQVNfUkVTT1VSQ0VfU1RSRUFNRVIoZGV2X3ByaXYpID8KPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1RYX0NUUkxfUlNfQ1RYX0VOQUJMRSA6IDAp KSk7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVFhfQ1RSTF9FTkdJ TkVfQ1RYX1NBVkVfSU5ISUJJVCB8Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDVFhfQ1RSTF9SU19DVFhfRU5BQkxFKSB8Cj4gPiA+ICsgICAgICAgICAgICAgX01BU0tF RF9CSVRfRU5BQkxFKENUWF9DVFJMX0lOSElCSVRfU1lOX0NUWF9TV0lUQ0gpKTsKPiA+ID4gICAg ICAgQ1RYX1JFRyhyZWdzLCBDVFhfUklOR19IRUFELCBSSU5HX0hFQUQoYmFzZSksIDApOwo+ID4g PiAgICAgICBDVFhfUkVHKHJlZ3MsIENUWF9SSU5HX1RBSUwsIFJJTkdfVEFJTChiYXNlKSwgMCk7 Cj4gPiA+ICAgICAgIENUWF9SRUcocmVncywgQ1RYX1JJTkdfQlVGRkVSX1NUQVJULCBSSU5HX1NU QVJUKGJhc2UpLCAwKTsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu Ywo+ID4gPiBpbmRleCAzM2ZhYWQzMTk3ZmUuLjc2M2Y1NjA3MjMwOCAxMDA2NDQKPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+ID4gPiBAQCAtMTk4Miw5ICsx OTgyLDcgQEAgaHN3X2VtaXRfYmJfc3RhcnQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gPiA+ ICAgICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIoY3MpOwo+ID4gPgo+ID4gPiAgICAgICAqY3Mr KyA9IE1JX0JBVENIX0JVRkZFUl9TVEFSVCB8IChkaXNwYXRjaF9mbGFncyAmIEk5MTVfRElTUEFU Q0hfU0VDVVJFID8KPiA+ID4gLSAgICAgICAgICAgICAwIDogTUlfQkFUQ0hfUFBHVFRfSFNXIHwg TUlfQkFUQ0hfTk9OX1NFQ1VSRV9IU1cpIHwKPiA+ID4gLSAgICAgICAgICAgICAoZGlzcGF0Y2hf ZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1JTID8KPiA+ID4gLSAgICAgICAgICAgICBNSV9CQVRDSF9S RVNPVVJDRV9TVFJFQU1FUiA6IDApOwo+ID4gPiArICAgICAgICAgICAgIDAgOiBNSV9CQVRDSF9Q UEdUVF9IU1cgfCBNSV9CQVRDSF9OT05fU0VDVVJFX0hTVyk7Cj4gPiA+ICAgICAgIC8qIGJpdDAt NyBpcyB0aGUgbGVuZ3RoIG9uIEdFTjYrICovCj4gPiA+ICAgICAgICpjcysrID0gb2Zmc2V0Owo+ ID4gPiAgICAgICBpbnRlbF9yaW5nX2FkdmFuY2UocnEsIGNzKTsKPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ID4gPiBpbmRleCBmNWZmYTZkMzFlODIuLjhjMTc0 ZTg3Njg2YiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuaAo+ID4gPiBAQCAtNDc0LDcgKzQ3NCw2IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mgewo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg ZGlzcGF0Y2hfZmxhZ3MpOwo+ID4gPiAgI2RlZmluZSBJOTE1X0RJU1BBVENIX1NFQ1VSRSBCSVQo MCkKPiA+ID4gICNkZWZpbmUgSTkxNV9ESVNQQVRDSF9QSU5ORUQgQklUKDEpCj4gPiA+IC0jZGVm aW5lIEk5MTVfRElTUEFUQ0hfUlMgICAgIEJJVCgyKQo+ID4gPiAgICAgICB2b2lkICAgICAgICAg ICAgKCplbWl0X2JyZWFkY3J1bWIpKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgKmNzKTsK PiA+ID4gICAgICAgaW50ICAgICAgICAgICAgIGVtaXRfYnJlYWRjcnVtYl9zejsKPiA+ID4KPiA+ ID4gLS0KPiA+ID4gMi4xNy4xCj4gPiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKPiAKPiAKPiAtLSAKPiBMdWNhcyBEZSBN YXJjaGkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==