From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 1/2] drm/i915/guc: Implement reset locally Date: Thu, 11 Apr 2019 15:57:00 +0300 Message-ID: <875zrk1yzn.fsf@gaia.fi.intel.com> References: <20190408223857.7035-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5BDE9897D7 for ; Thu, 11 Apr 2019 12:57:20 +0000 (UTC) In-Reply-To: <20190408223857.7035-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: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gQmVmb3Jl IGNhdXNpbmcgZ3VjIGFuZCBleGVjbGlzdHMgdG8gZGl2ZXJnZSBmdXJ0aGVyIChicmVha2luZyBn dWMgaW4gdGhlCj4gcHJvY2VzcyksIHRha2UgYSBjb3B5IG9mIHRoZSBjdXJyZW50IHJlc2V0IHBy b2NlZHVyZSBhbmQgbWFrZSBpdCBsb2NhbCB0bwo+IHRoZSBndWMgc3VibWlzc2lvbiBiYWNrZW5k Cj4KCkkgYWdyZWUgc3Ryb25nbHkgb24gdGhlIHNlbnRpbWVudC4gVGhpcyBpcyBub3QgdGhlIHRp bWUgYW5kCmFyZWEgdG8gdHJ5IHRvIGhvbGQgb24gdG8gdGhlIGNvbnNvbGlkYXRpb24uCgpUaGUg cmVzZXQgZGFuY2UgaGFzIHByb3ZlbiB0byBiZSBoYXJkIGVub3VnaCBhbmQKZHVyaW5nIHRyeWlu ZyB0byBhdG9uZSB0byB0aGUgaHcncyBwZWN1bGlhcml0aWVzLApsYXN0IHRoaW5nIHdlIHdhbnQg aXMgdG8gc3RlcCBvbiBlYWNob3RoZXJzIHRvZXMuCgpSZXZpZXdlZC1ieTogTWlrYSBLdW9wcGFs YSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+Cgo+IFNpZ25lZC1vZmYtYnk6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jIHwgMTAyICsrKysrKysrKysrKysrKysrKysr Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICAgfCAgMzcgKysr KysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgICAgICAgIHwgICA1 ICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgICB8ICAgMiAr LQo+ICA0IGZpbGVzIGNoYW5nZWQsIDE0MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9u LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCj4gaW5kZXgg NDJmY2Q2MjJkN2EzLi42ZWJjMTI1NzEwY2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKPiBAQCAtODcyLDYgKzg3MiwxMDQgQEAgc3RhdGljIHZv aWQgZ3VjX3Jlc2V0X3ByZXBhcmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJ CWZsdXNoX3dvcmtxdWV1ZShlbmdpbmUtPmk5MTUtPmd1Yy5wcmVlbXB0X3dxKTsKPiAgfQo+ICAK PiArc3RhdGljIHZvaWQgZ3VjX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwg Ym9vbCBzdGFsbGVkKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNv bnN0IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKPiArCXN0cnVjdCBpOTE1X3JlcXVl c3QgKnJxOwo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCj4gKwlzcGluX2xvY2tfaXJxc2F2 ZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7Cj4gKwo+ICsJZXhlY2xpc3RzX2NhbmNl bF9wb3J0X3JlcXVlc3RzKGV4ZWNsaXN0cyk7Cj4gKwo+ICsJLyogUHVzaCBiYWNrIGFueSBpbmNv bXBsZXRlIHJlcXVlc3RzIGZvciByZXBsYXkgYWZ0ZXIgdGhlIHJlc2V0LiAqLwo+ICsJcnEgPSBl eGVjbGlzdHNfdW53aW5kX2luY29tcGxldGVfcmVxdWVzdHMoZXhlY2xpc3RzKTsKPiArCWlmICgh cnEpCj4gKwkJZ290byBvdXRfdW5sb2NrOwo+ICsKPiArCWlmICghaTkxNV9yZXF1ZXN0X3N0YXJ0 ZWQocnEpKQo+ICsJCXN0YWxsZWQgPSBmYWxzZTsKPiArCj4gKwlpOTE1X3Jlc2V0X3JlcXVlc3Qo cnEsIHN0YWxsZWQpOwo+ICsJaW50ZWxfbHJfY29udGV4dF9yZXNldChlbmdpbmUsIHJxLT5od19j b250ZXh0LCBycS0+aGVhZCwgc3RhbGxlZCk7Cj4gKwo+ICtvdXRfdW5sb2NrOgo+ICsJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIGd1Y19jYW5jZWxfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0 IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKPiArCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxLCAqcm47Cj4gKwlzdHJ1Y3QgcmJfbm9kZSAqcmI7Cj4gKwl1bnNpZ25lZCBsb25nIGZsYWdz Owo+ICsKPiArCUdFTV9UUkFDRSgiJXNcbiIsIGVuZ2luZS0+bmFtZSk7Cj4gKwo+ICsJLyoKPiAr CSAqIEJlZm9yZSB3ZSBjYWxsIGVuZ2luZS0+Y2FuY2VsX3JlcXVlc3RzKCksIHdlIHNob3VsZCBo YXZlIGV4Y2x1c2l2ZQo+ICsJICogYWNjZXNzIHRvIHRoZSBzdWJtaXNzaW9uIHN0YXRlLiBUaGlz IGlzIGFycmFuZ2VkIGZvciB1cyBieSB0aGUKPiArCSAqIGNhbGxlciBkaXNhYmxpbmcgdGhlIGlu dGVycnVwdCBnZW5lcmF0aW9uLCB0aGUgdGFza2xldCBhbmQgb3RoZXIKPiArCSAqIHRocmVhZHMg dGhhdCBtYXkgdGhlbiBhY2Nlc3MgdGhlIHNhbWUgc3RhdGUsIGdpdmluZyB1cyBhIGZyZWUgaGFu ZAo+ICsJICogdG8gcmVzZXQgc3RhdGUuIEhvd2V2ZXIsIHdlIHN0aWxsIG5lZWQgdG8gbGV0IGxv Y2tkZXAgYmUgYXdhcmUgdGhhdAo+ICsJICogd2Uga25vdyB0aGlzIHN0YXRlIG1heSBiZSBhY2Nl c3NlZCBpbiBoYXJkaXJxIGNvbnRleHQsIHNvIHdlCj4gKwkgKiBkaXNhYmxlIHRoZSBpcnEgYXJv dW5kIHRoaXMgbWFuaXB1bGF0aW9uIGFuZCB3ZSB3YW50IHRvIGtlZXAKPiArCSAqIHRoZSBzcGlu bG9jayBmb2N1c2VkIG9uIGl0cyBkdXRpZXMgYW5kIG5vdCBhY2NpZGVudGFsbHkgY29uZmxhdGUK PiArCSAqIGNvdmVyYWdlIHRvIHRoZSBzdWJtaXNzaW9uJ3MgaXJxIHN0YXRlLiAoU2ltaWxhcmx5 LCBhbHRob3VnaCB3ZQo+ICsJICogc2hvdWxkbid0IG5lZWQgdG8gZGlzYWJsZSBpcnEgYXJvdW5k IHRoZSBtYW5pcHVsYXRpb24gb2YgdGhlCj4gKwkgKiBzdWJtaXNzaW9uJ3MgaXJxIHN0YXRlLCB3 ZSBhbHNvIHdpc2ggdG8gcmVtaW5kIG91cnNlbHZlcyB0aGF0Cj4gKwkgKiBpdCBpcyBpcnEgc3Rh dGUuKQo+ICsJICovCj4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT50aW1lbGluZS5sb2Nr LCBmbGFncyk7Cj4gKwo+ICsJLyogQ2FuY2VsIHRoZSByZXF1ZXN0cyBvbiB0aGUgSFcgYW5kIGNs ZWFyIHRoZSBFTFNQIHRyYWNrZXIuICovCj4gKwlleGVjbGlzdHNfY2FuY2VsX3BvcnRfcmVxdWVz dHMoZXhlY2xpc3RzKTsKPiArCj4gKwkvKiBNYXJrIGFsbCBleGVjdXRpbmcgcmVxdWVzdHMgYXMg c2tpcHBlZC4gKi8KPiArCWxpc3RfZm9yX2VhY2hfZW50cnkocnEsICZlbmdpbmUtPnRpbWVsaW5l LnJlcXVlc3RzLCBsaW5rKSB7Cj4gKwkJaWYgKCFpOTE1X3JlcXVlc3Rfc2lnbmFsZWQocnEpKQo+ ICsJCQlkbWFfZmVuY2Vfc2V0X2Vycm9yKCZycS0+ZmVuY2UsIC1FSU8pOwo+ICsKPiArCQlpOTE1 X3JlcXVlc3RfbWFya19jb21wbGV0ZShycSk7Cj4gKwl9Cj4gKwo+ICsJLyogRmx1c2ggdGhlIHF1 ZXVlZCByZXF1ZXN0cyB0byB0aGUgdGltZWxpbmUgbGlzdCAoZm9yIHJldGlyaW5nKS4gKi8KPiAr CXdoaWxlICgocmIgPSByYl9maXJzdF9jYWNoZWQoJmV4ZWNsaXN0cy0+cXVldWUpKSkgewo+ICsJ CXN0cnVjdCBpOTE1X3ByaW9saXN0ICpwID0gdG9fcHJpb2xpc3QocmIpOwo+ICsJCWludCBpOwo+ ICsKPiArCQlwcmlvbGlzdF9mb3JfZWFjaF9yZXF1ZXN0X2NvbnN1bWUocnEsIHJuLCBwLCBpKSB7 Cj4gKwkJCWxpc3RfZGVsX2luaXQoJnJxLT5zY2hlZC5saW5rKTsKPiArCQkJX19pOTE1X3JlcXVl c3Rfc3VibWl0KHJxKTsKPiArCQkJZG1hX2ZlbmNlX3NldF9lcnJvcigmcnEtPmZlbmNlLCAtRUlP KTsKPiArCQkJaTkxNV9yZXF1ZXN0X21hcmtfY29tcGxldGUocnEpOwo+ICsJCX0KPiArCj4gKwkJ cmJfZXJhc2VfY2FjaGVkKCZwLT5ub2RlLCAmZXhlY2xpc3RzLT5xdWV1ZSk7Cj4gKwkJaTkxNV9w cmlvbGlzdF9mcmVlKHApOwo+ICsJfQo+ICsKPiArCS8qIFJlbWFpbmluZyBfdW5yZWFkeV8gcmVx dWVzdHMgd2lsbCBiZSBub3AnZWQgd2hlbiBzdWJtaXR0ZWQgKi8KPiArCj4gKwlleGVjbGlzdHMt PnF1ZXVlX3ByaW9yaXR5X2hpbnQgPSBJTlRfTUlOOwo+ICsJZXhlY2xpc3RzLT5xdWV1ZSA9IFJC X1JPT1RfQ0FDSEVEOwo+ICsJR0VNX0JVR19PTihwb3J0X2lzc2V0KGV4ZWNsaXN0cy0+cG9ydCkp Owo+ICsKPiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywg ZmxhZ3MpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBndWNfcmVzZXRfZmluaXNoKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiArewo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9leGVj bGlzdHMgKiBjb25zdCBleGVjbGlzdHMgPSAmZW5naW5lLT5leGVjbGlzdHM7Cj4gKwo+ICsJaWYg KF9fdGFza2xldF9lbmFibGUoJmV4ZWNsaXN0cy0+dGFza2xldCkpCj4gKwkJLyogQW5kIGtpY2sg aW4gY2FzZSB3ZSBtaXNzZWQgYSBuZXcgcmVxdWVzdCBzdWJtaXNzaW9uLiAqLwo+ICsJCXRhc2ts ZXRfaGlfc2NoZWR1bGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7Cj4gKwo+ICsJR0VNX1RSQUNFKCIl czogZGVwdGgtPiVkXG4iLCBlbmdpbmUtPm5hbWUsCj4gKwkJICBhdG9taWNfcmVhZCgmZXhlY2xp c3RzLT50YXNrbGV0LmNvdW50KSk7Cj4gK30KPiArCj4gIC8qCj4gICAqIEV2ZXJ5dGhpbmcgYmVs b3cgaGVyZSBpcyBjb25jZXJuZWQgd2l0aCBzZXR1cCAmIHRlYXJkb3duLCBhbmQgaXMKPiAgICog dGhlcmVmb3JlIG5vdCBwYXJ0IG9mIHRoZSBzb21ld2hhdCB0aW1lLWNyaXRpY2FsIGJhdGNoLXN1 Ym1pc3Npb24KPiBAQCAtMTI5Myw2ICsxMzkxLDEwIEBAIHN0YXRpYyB2b2lkIGd1Y19zZXRfZGVm YXVsdF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCWVuZ2lu ZS0+dW5wYXJrID0gZ3VjX3N1Ym1pc3Npb25fdW5wYXJrOwo+ICAKPiAgCWVuZ2luZS0+cmVzZXQu cHJlcGFyZSA9IGd1Y19yZXNldF9wcmVwYXJlOwo+ICsJZW5naW5lLT5yZXNldC5yZXNldCA9IGd1 Y19yZXNldDsKPiArCWVuZ2luZS0+cmVzZXQuZmluaXNoID0gZ3VjX3Jlc2V0X2ZpbmlzaDsKPiAr Cj4gKwllbmdpbmUtPmNhbmNlbF9yZXF1ZXN0cyA9IGd1Y19jYW5jZWxfcmVxdWVzdHM7Cj4gIAo+ ICAJZW5naW5lLT5mbGFncyAmPSB+STkxNV9FTkdJTkVfU1VQUE9SVFNfU1RBVFM7Cj4gIH0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IDY5MzFkYmIyODg4Yy4uZjA5NmJjN2JiZTM1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtNDI5LDEzICs0MjksMTMgQEAg X191bndpbmRfaW5jb21wbGV0ZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCj4gIAlyZXR1cm4gYWN0aXZlOwo+ICB9Cj4gIAo+IC12b2lkCj4gK3N0cnVjdCBpOTE1X3Jl cXVlc3QgKgo+ICBleGVjbGlzdHNfdW53aW5kX2luY29tcGxldGVfcmVxdWVzdHMoc3RydWN0IGlu dGVsX2VuZ2luZV9leGVjbGlzdHMgKmV4ZWNsaXN0cykKPiAgewo+ICAJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lID0KPiAgCQljb250YWluZXJfb2YoZXhlY2xpc3RzLCB0eXBlb2YoKmVu Z2luZSksIGV4ZWNsaXN0cyk7Cj4gIAo+IC0JX191bndpbmRfaW5jb21wbGV0ZV9yZXF1ZXN0cyhl bmdpbmUpOwo+ICsJcmV0dXJuIF9fdW53aW5kX2luY29tcGxldGVfcmVxdWVzdHMoZW5naW5lKTsK PiAgfQo+ICAKPiAgc3RhdGljIGlubGluZSB2b2lkCj4gQEAgLTIzMjgsNiArMjMyOCw4IEBAIHZv aWQgaW50ZWxfZXhlY2xpc3RzX3NldF9kZWZhdWx0X3N1Ym1pc3Npb24oc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQo+ICAJZW5naW5lLT5leGVjbGlzdHMudGFza2xldC5mdW5jID0gZXhl Y2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldDsKPiAgCj4gIAllbmdpbmUtPnJlc2V0LnByZXBhcmUg PSBleGVjbGlzdHNfcmVzZXRfcHJlcGFyZTsKPiArCWVuZ2luZS0+cmVzZXQucmVzZXQgPSBleGVj bGlzdHNfcmVzZXQ7Cj4gKwllbmdpbmUtPnJlc2V0LmZpbmlzaCA9IGV4ZWNsaXN0c19yZXNldF9m aW5pc2g7Cj4gIAo+ICAJZW5naW5lLT5wYXJrID0gTlVMTDsKPiAgCWVuZ2luZS0+dW5wYXJrID0g TlVMTDsKPiBAQCAtMjk4MCw2ICsyOTgyLDM3IEBAIHZvaWQgaW50ZWxfZXhlY2xpc3RzX3Nob3df cmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7Cj4gIH0KPiAgCj4gK3Zv aWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUs Cj4gKwkJCSAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCj4gKwkJCSAgICB1MzIgaGVhZCwK PiArCQkJICAgIGJvb2wgc2NydWIpCj4gK3sKPiArCS8qCj4gKwkgKiBXZSB3YW50IGEgc2ltcGxl IGNvbnRleHQgKyByaW5nIHRvIGV4ZWN1dGUgdGhlIGJyZWFkY3J1bWIgdXBkYXRlLgo+ICsJICog V2UgY2Fubm90IHJlbHkgb24gdGhlIGNvbnRleHQgYmVpbmcgaW50YWN0IGFjcm9zcyB0aGUgR1BV IGhhbmcsCj4gKwkgKiBzbyBjbGVhciBpdCBhbmQgcmVidWlsZCBqdXN0IHdoYXQgd2UgbmVlZCBm b3IgdGhlIGJyZWFkY3J1bWIuCj4gKwkgKiBBbGwgcGVuZGluZyByZXF1ZXN0cyBmb3IgdGhpcyBj b250ZXh0IHdpbGwgYmUgemFwcGVkLCBhbmQgYW55Cj4gKwkgKiBmdXR1cmUgcmVxdWVzdCB3aWxs IGJlIGFmdGVyIHVzZXJzcGFjZSBoYXMgaGFkIHRoZSBvcHBvcnR1bml0eQo+ICsJICogdG8gcmVj cmVhdGUgaXRzIG93biBzdGF0ZS4KPiArCSAqLwo+ICsJaWYgKHNjcnViKSB7Cj4gKwkJdTMyICpy ZWdzID0gY2UtPmxyY19yZWdfc3RhdGU7Cj4gKwo+ICsJCWlmIChlbmdpbmUtPnBpbm5lZF9kZWZh dWx0X3N0YXRlKSB7Cj4gKwkJCW1lbWNweShyZWdzLCAvKiBza2lwIHJlc3RvcmluZyB0aGUgdmFu aWxsYSBQUEhXU1AgKi8KPiArCQkJICAgICAgIGVuZ2luZS0+cGlubmVkX2RlZmF1bHRfc3RhdGUg KyBMUkNfU1RBVEVfUE4gKiBQQUdFX1NJWkUsCj4gKwkJCSAgICAgICBlbmdpbmUtPmNvbnRleHRf c2l6ZSAtIFBBR0VfU0laRSk7Cj4gKwkJfQo+ICsJCWV4ZWNsaXN0c19pbml0X3JlZ19zdGF0ZShy ZWdzLCBjZSwgZW5naW5lLCBjZS0+cmluZyk7Cj4gKwl9Cj4gKwo+ICsJLyogUmVydW4gdGhlIHJl cXVlc3Q7IGl0cyBwYXlsb2FkIGhhcyBiZWVuIG5ldXRlcmVkIChpZiBndWlsdHkpLiAqLwo+ICsJ Y2UtPnJpbmctPmhlYWQgPSBoZWFkOwo+ICsJaW50ZWxfcmluZ191cGRhdGVfc3BhY2UoY2UtPnJp bmcpOwo+ICsKPiArCV9fZXhlY2xpc3RzX3VwZGF0ZV9yZWdfc3RhdGUoY2UsIGVuZ2luZSk7Cj4g K30KPiArCj4gICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9TRUxGVEVTVCkKPiAgI2lu Y2x1ZGUgInNlbGZ0ZXN0cy9pbnRlbF9scmMuYyIKPiAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmgKPiBpbmRleCA5MjY0MmFiOTE0NzIuLjViMjBmMWE5ZWEwZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5oCj4gQEAgLTEwNSw2ICsxMDUsMTEgQEAgc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQ7Cj4gIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXN1bWUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBpbnRlbF9leGVjbGlzdHNfc2V0X2RlZmF1bHRf c3VibWlzc2lvbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICAKPiArdm9pZCBp bnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAr CQkJICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKPiArCQkJICAgIHUzMiBoZWFkLAo+ICsJ CQkgICAgYm9vbCBzY3J1Yik7Cj4gKwo+ICB2b2lkIGludGVsX2V4ZWNsaXN0c19zaG93X3JlcXVl c3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCQkJCSAgIHN0cnVjdCBkcm1f cHJpbnRlciAqbSwKPiAgCQkJCSAgIHZvaWQgKCpzaG93X3JlcXVlc3QpKHN0cnVjdCBkcm1fcHJp bnRlciAqbSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXgg ZTU4ZDZmMDQxNzdiLi5iYzFkNzQ0N2E2Y2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIGV4ZWNsaXN0c191c2Vy X2VuZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xpc3RzKTsKPiAgdm9pZAo+ ICBleGVjbGlzdHNfY2FuY2VsX3BvcnRfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9leGVj bGlzdHMgKiBjb25zdCBleGVjbGlzdHMpOwo+ICAKPiAtdm9pZAo+ICtzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICoKPiAgZXhlY2xpc3RzX3Vud2luZF9pbmNvbXBsZXRlX3JlcXVlc3RzKHN0cnVjdCBpbnRl bF9lbmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMpOwo+ICAKPiAgc3RhdGljIGlubGluZSB1bnNp Z25lZCBpbnQKPiAtLSAKPiAyLjIwLjEKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=