From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: Re: [PATCH 10/15] drm/i915/guc: Get rid of GuC log runtime Date: Tue, 6 Mar 2018 15:00:22 +0530 Message-ID: References: <20180227125230.13000-1-michal.winiarski@intel.com> <20180227125230.13000-10-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 509436E5D5 for ; Tue, 6 Mar 2018 09:30:26 +0000 (UTC) In-Reply-To: <20180227125230.13000-10-michal.winiarski@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?Q?Micha=c5=82_Winiarski?= , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SSB0aGluayBrZWVwaW5nIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGJhc2UvbWFuZGF0b3J5IG1l bWJlcnMgYW5kIApydW50aW1lL29wdGlvbmFsIG1lbWJlcnMgaXMgb2theSBhcyB0aGV5IGFyZSBo YW5kbGVkIGRpZmZlcmVudGx5LgpXaGF0IGRvIG90aGVycyB0aGluaz8KCmFub3RoZXIgcmVsYXRl ZCBxdWVyeSwgc2hvdWxkIHdlIGFsbG9jL2RlYWxsb2MgZ3VjX2xvZyB3b3JrIHF1ZXVlIGluIApy ZWxheV9vcGVuL3JlbGVhc2U/CgpPbiAyLzI3LzIwMTggNjoyMiBQTSwgTWljaGHFgiBXaW5pYXJz a2kgd3JvdGU6Cj4gS2VlcGluZyBhIHNlcGFyYXRlIHJ1bnRpbWUgc3RydWN0IGlzIG9ubHkgbWFr aW5nIHRoZSBjb2RlIGRlYWxpbmcgd2l0aAo+IHJlbGF5IGxlc3MgY2xlYXIgdG8gcmVhZC4gTGV0 J3MgZ2V0IHJpZCBvZiBpdCwga2VlcGluZyBldmVyeXRoaW5nIGluIHRoZQo+IGxvZyBpbnN0ZWFk Lgo+Cj4gU2lnbmVkLW9mZi1ieTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lA aW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiBDYzogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVs LmNvbT4KPiBDYzogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4K PiBDYzogTWljaGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4gLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYyAgICAgfCAxNCArKysrLS0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jIHwgNjggKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWNfbG9nLmggfCAxMyArKystLS0tCj4gICAzIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMo KyksIDQ5IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKPiBpbmRleCA0 MWYyYzNiM2M0ODIuLmUzYjZhZTE1OGExMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5j Cj4gQEAgLTg3LDkgKzg3LDkgQEAgaW50IGludGVsX2d1Y19pbml0X3dxKHN0cnVjdCBpbnRlbF9n dWMgKmd1YykKPiAgIAkgKiBvciBzY2hlZHVsZWQgbGF0ZXIgb24gcmVzdW1lLiBUaGlzIHdheSB0 aGUgaGFuZGxpbmcgb2Ygd29yawo+ICAgCSAqIGl0ZW0gY2FuIGJlIGtlcHQgc2FtZSBiZXR3ZWVu IHN5c3RlbSBzdXNwZW5kICYgcnBtIHN1c3BlbmQuCj4gICAJICovCj4gLQlndWMtPmxvZy5ydW50 aW1lLmZsdXNoX3dxID0gYWxsb2Nfb3JkZXJlZF93b3JrcXVldWUoImk5MTUtZ3VjX2xvZyIsCj4g LQkJCQkJCVdRX0hJR0hQUkkgfCBXUV9GUkVFWkFCTEUpOwo+IC0JaWYgKCFndWMtPmxvZy5ydW50 aW1lLmZsdXNoX3dxKSB7Cj4gKwlndWMtPmxvZy5mbHVzaF93cSA9IGFsbG9jX29yZGVyZWRfd29y a3F1ZXVlKCJpOTE1LWd1Y19sb2ciLAo+ICsJCQkJCQkgICAgV1FfSElHSFBSSSB8IFdRX0ZSRUVa QUJMRSk7Cj4gKwlpZiAoIWd1Yy0+bG9nLmZsdXNoX3dxKSB7Cj4gICAJCURSTV9FUlJPUigiQ291 bGRuJ3QgYWxsb2NhdGUgd29ya3F1ZXVlIGZvciBHdUMgbG9nXG4iKTsKPiAgIAkJcmV0dXJuIC1F Tk9NRU07Cj4gICAJfQo+IEBAIC0xMTIsNyArMTEyLDcgQEAgaW50IGludGVsX2d1Y19pbml0X3dx KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAkJZ3VjLT5wcmVlbXB0X3dxID0gYWxsb2Nfb3Jk ZXJlZF93b3JrcXVldWUoImk5MTUtZ3VjX3ByZWVtcHQiLAo+ICAgCQkJCQkJCSAgV1FfSElHSFBS SSk7Cj4gICAJCWlmICghZ3VjLT5wcmVlbXB0X3dxKSB7Cj4gLQkJCWRlc3Ryb3lfd29ya3F1ZXVl KGd1Yy0+bG9nLnJ1bnRpbWUuZmx1c2hfd3EpOwo+ICsJCQlkZXN0cm95X3dvcmtxdWV1ZShndWMt PmxvZy5mbHVzaF93cSk7Cj4gICAJCQlEUk1fRVJST1IoIkNvdWxkbid0IGFsbG9jYXRlIHdvcmtx dWV1ZSBmb3IgR3VDICIKPiAgIAkJCQkgICJwcmVlbXB0aW9uXG4iKTsKPiAgIAkJCXJldHVybiAt RU5PTUVNOwo+IEBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBpbnRlbF9ndWNfZmluaV93cShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCj4gICAJICAgIFVTRVNfR1VDX1NVQk1JU1NJT04oZGV2X3ByaXYp KQo+ICAgCQlkZXN0cm95X3dvcmtxdWV1ZShndWMtPnByZWVtcHRfd3EpOwo+ICAgCj4gLQlkZXN0 cm95X3dvcmtxdWV1ZShndWMtPmxvZy5ydW50aW1lLmZsdXNoX3dxKTsKPiArCWRlc3Ryb3lfd29y a3F1ZXVlKGd1Yy0+bG9nLmZsdXNoX3dxKTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIGludCBndWNf c2hhcmVkX2RhdGFfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiBAQCAtMzg5LDggKzM4 OSw4IEBAIHZvaWQgaW50ZWxfZ3VjX25vdGlmaWNhdGlvbl9oYW5kbGVyKHN0cnVjdCBpbnRlbF9n dWMgKmd1YykKPiAgIAo+ICAgCWlmIChtc2cgJiAoSU5URUxfR1VDX1JFQ1ZfTVNHX0ZMVVNIX0xP R19CVUZGRVIgfAo+ICAgCQkgICBJTlRFTF9HVUNfUkVDVl9NU0dfQ1JBU0hfRFVNUF9QT1NURUQp KSB7Cj4gLQkJcXVldWVfd29yayhndWMtPmxvZy5ydW50aW1lLmZsdXNoX3dxLAo+IC0JCQkgICAm Z3VjLT5sb2cucnVudGltZS5mbHVzaF93b3JrKTsKPiArCQlxdWV1ZV93b3JrKGd1Yy0+bG9nLmZs dXNoX3dxLAo+ICsJCQkgICAmZ3VjLT5sb2cuZmx1c2hfd29yayk7Cj4gICAKPiAgIAkJZ3VjLT5s b2cuZmx1c2hfaW50ZXJydXB0X2NvdW50Kys7Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfbG9nLmMKPiBpbmRleCBkMmFjYTEwYWI5ODYuLmY5NWUxOGJlMWM1ZiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMKPiBAQCAtMTU2LDEwICsxNTYsMTAgQEAgc3Rh dGljIHZvaWQgZ3VjX21vdmVfdG9fbmV4dF9idWYoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAg CXNtcF93bWIoKTsKPiAgIAo+ICAgCS8qIEFsbCBkYXRhIGhhcyBiZWVuIHdyaXR0ZW4sIHNvIG5v dyBtb3ZlIHRoZSBvZmZzZXQgb2Ygc3ViIGJ1ZmZlci4gKi8KPiAtCXJlbGF5X3Jlc2VydmUoZ3Vj LT5sb2cucnVudGltZS5yZWxheV9jaGFuLCBndWMtPmxvZy52bWEtPm9iai0+YmFzZS5zaXplKTsK PiArCXJlbGF5X3Jlc2VydmUoZ3VjLT5sb2cucmVsYXlfY2hhbiwgZ3VjLT5sb2cudm1hLT5vYmot PmJhc2Uuc2l6ZSk7Cj4gICAKPiAgIAkvKiBTd2l0Y2ggdG8gdGhlIG5leHQgc3ViIGJ1ZmZlciAq Lwo+IC0JcmVsYXlfZmx1c2goZ3VjLT5sb2cucnVudGltZS5yZWxheV9jaGFuKTsKPiArCXJlbGF5 X2ZsdXNoKGd1Yy0+bG9nLnJlbGF5X2NoYW4pOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCAq Z3VjX2dldF93cml0ZV9idWZmZXIoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+IEBAIC0xNzMsNyAr MTczLDcgQEAgc3RhdGljIHZvaWQgKmd1Y19nZXRfd3JpdGVfYnVmZmVyKHN0cnVjdCBpbnRlbF9n dWMgKmd1YykKPiAgIAkgKiBkb25lIHdpdGhvdXQgdXNpbmcgcmVsYXlfcmVzZXJ2ZSgpIGFsb25n IHdpdGggcmVsYXlfd3JpdGUoKS4gU28gaXRzCj4gICAJICogYmV0dGVyIHRvIHVzZSByZWxheV9y ZXNlcnZlKCkgYWxvbmUuCj4gICAJICovCj4gLQlyZXR1cm4gcmVsYXlfcmVzZXJ2ZShndWMtPmxv Zy5ydW50aW1lLnJlbGF5X2NoYW4sIDApOwo+ICsJcmV0dXJuIHJlbGF5X3Jlc2VydmUoZ3VjLT5s b2cucmVsYXlfY2hhbiwgMCk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBib29sIGd1Y19jaGVja19s b2dfYnVmX292ZXJmbG93KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKPiBAQCAtMjI0LDExICsyMjQs MTEgQEAgc3RhdGljIHZvaWQgZ3VjX3JlYWRfdXBkYXRlX2xvZ19idWZmZXIoc3RydWN0IGludGVs X2d1YyAqZ3VjKQo+ICAgCXZvaWQgKnNyY19kYXRhLCAqZHN0X2RhdGE7Cj4gICAJYm9vbCBuZXdf b3ZlcmZsb3c7Cj4gICAKPiAtCWlmIChXQVJOX09OKCFndWMtPmxvZy5ydW50aW1lLmJ1Zl9hZGRy KSkKPiArCWlmIChXQVJOX09OKCFndWMtPmxvZy5idWZfYWRkcikpCj4gICAJCXJldHVybjsKPiAg IAo+ICAgCS8qIEdldCB0aGUgcG9pbnRlciB0byBzaGFyZWQgR3VDIGxvZyBidWZmZXIgKi8KPiAt CWxvZ19idWZfc3RhdGUgPSBzcmNfZGF0YSA9IGd1Yy0+bG9nLnJ1bnRpbWUuYnVmX2FkZHI7Cj4g Kwlsb2dfYnVmX3N0YXRlID0gc3JjX2RhdGEgPSBndWMtPmxvZy5idWZfYWRkcjsKPiAgIAo+ICAg CS8qIEdldCB0aGUgcG9pbnRlciB0byBsb2NhbCBidWZmZXIgdG8gc3RvcmUgdGhlIGxvZ3MgKi8K PiAgIAlsb2dfYnVmX3NuYXBzaG90X3N0YXRlID0gZHN0X2RhdGEgPSBndWNfZ2V0X3dyaXRlX2J1 ZmZlcihndWMpOwo+IEBAIC0zMTYsMTYgKzMxNiwxNiBAQCBzdGF0aWMgdm9pZCBndWNfcmVhZF91 cGRhdGVfbG9nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICBzdGF0aWMgdm9pZCBj YXB0dXJlX2xvZ3Nfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICB7Cj4gICAJc3Ry dWN0IGludGVsX2d1YyAqZ3VjID0KPiAtCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGludGVs X2d1YywgbG9nLnJ1bnRpbWUuZmx1c2hfd29yayk7Cj4gKwkJY29udGFpbmVyX29mKHdvcmssIHN0 cnVjdCBpbnRlbF9ndWMsIGxvZy5mbHVzaF93b3JrKTsKPiAgIAo+IC0JbXV0ZXhfbG9jaygmZ3Vj LT5sb2cucnVudGltZS5sb2NrKTsKPiArCW11dGV4X2xvY2soJmd1Yy0+bG9nLmxvY2spOwo+ICAg CWd1Y19sb2dfY2FwdHVyZV9sb2dzKGd1Yyk7Cj4gLQltdXRleF91bmxvY2soJmd1Yy0+bG9nLnJ1 bnRpbWUubG9jayk7Cj4gKwltdXRleF91bmxvY2soJmd1Yy0+bG9nLmxvY2spOwo+ICAgfQo+ICAg Cj4gLXN0YXRpYyBib29sIGd1Y19sb2dfaGFzX3J1bnRpbWUoc3RydWN0IGludGVsX2d1YyAqZ3Vj KQo+ICtzdGF0aWMgYm9vbCBndWNfbG9nX3JlbGF5X2VuYWJsZWQoc3RydWN0IGludGVsX2d1YyAq Z3VjKQo+ICAgewo+IC0JcmV0dXJuIGd1Yy0+bG9nLnJ1bnRpbWUuYnVmX2FkZHIgIT0gTlVMTDsK PiArCXJldHVybiBndWMtPmxvZy5idWZfYWRkciAhPSBOVUxMOwo+ICAgfQo+ICAgCj4gICBzdGF0 aWMgaW50IGd1Y19sb2dfbWFwKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiBAQCAtMzU0LDIzICsz NTQsMjMgQEAgc3RhdGljIGludCBndWNfbG9nX21hcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4g ICAJfQo+ICAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICAg Cj4gLQlndWMtPmxvZy5ydW50aW1lLmJ1Zl9hZGRyID0gdmFkZHI7Cj4gKwlndWMtPmxvZy5idWZf YWRkciA9IHZhZGRyOwo+ICAgCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2 b2lkIGd1Y19sb2dfdW5tYXAoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgewo+IC0JbG9ja2Rl cF9hc3NlcnRfaGVsZCgmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiArCWxvY2tkZXBfYXNzZXJ0 X2hlbGQoJmd1Yy0+bG9nLmxvY2spOwo+ICAgCj4gICAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21h cChndWMtPmxvZy52bWEtPm9iaik7Cj4gLQlndWMtPmxvZy5ydW50aW1lLmJ1Zl9hZGRyID0gTlVM TDsKPiArCWd1Yy0+bG9nLmJ1Zl9hZGRyID0gTlVMTDsKPiAgIH0KPiAgIAo+ICAgdm9pZCBpbnRl bF9ndWNfbG9nX2luaXRfZWFybHkoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgewo+IC0JbXV0 ZXhfaW5pdCgmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiAtCUlOSVRfV09SSygmZ3VjLT5sb2cu cnVudGltZS5mbHVzaF93b3JrLCBjYXB0dXJlX2xvZ3Nfd29yayk7Cj4gKwltdXRleF9pbml0KCZn dWMtPmxvZy5sb2NrKTsKPiArCUlOSVRfV09SSygmZ3VjLT5sb2cuZmx1c2hfd29yaywgY2FwdHVy ZV9sb2dzX3dvcmspOwo+ICAgfQo+ICAgCj4gICBpbnQgZ3VjX2xvZ19yZWxheV9jcmVhdGUoc3Ry dWN0IGludGVsX2d1YyAqZ3VjKQo+IEBAIC0zODAsNyArMzgwLDcgQEAgaW50IGd1Y19sb2dfcmVs YXlfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAlzaXplX3Qgbl9zdWJidWZzLCBz dWJidWZfc2l6ZTsKPiAgIAlpbnQgcmV0Owo+ICAgCj4gLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZn dWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZ3VjLT5sb2cu bG9jayk7Cj4gICAKPiAgIAkgLyogS2VlcCB0aGUgc2l6ZSBvZiBzdWIgYnVmZmVycyBzYW1lIGFz IHNoYXJlZCBsb2cgYnVmZmVyICovCj4gICAJc3ViYnVmX3NpemUgPSBHVUNfTE9HX1NJWkU7Cj4g QEAgLTQxMCw3ICs0MTAsNyBAQCBpbnQgZ3VjX2xvZ19yZWxheV9jcmVhdGUoc3RydWN0IGludGVs X2d1YyAqZ3VjKQo+ICAgCX0KPiAgIAo+ICAgCUdFTV9CVUdfT04oZ3VjX2xvZ19yZWxheV9jaGFu LT5zdWJidWZfc2l6ZSA8IHN1YmJ1Zl9zaXplKTsKPiAtCWd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlf Y2hhbiA9IGd1Y19sb2dfcmVsYXlfY2hhbjsKPiArCWd1Yy0+bG9nLnJlbGF5X2NoYW4gPSBndWNf bG9nX3JlbGF5X2NoYW47Cj4gICAKPiAgIAlyZXR1cm4gMDsKPiAgIAo+IEBAIC00MjIsMTAgKzQy MiwxMCBAQCBpbnQgZ3VjX2xvZ19yZWxheV9jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ ICAgCj4gICB2b2lkIGd1Y19sb2dfcmVsYXlfZGVzdHJveShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cj4gICB7Cj4gLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZ3VjLT5sb2cubG9jayk7Cj4gICAKPiAtCXJlbGF5X2Ns b3NlKGd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfY2hhbik7Cj4gLQlndWMtPmxvZy5ydW50aW1lLnJl bGF5X2NoYW4gPSBOVUxMOwo+ICsJcmVsYXlfY2xvc2UoZ3VjLT5sb2cucmVsYXlfY2hhbik7Cj4g KwlndWMtPmxvZy5yZWxheV9jaGFuID0gTlVMTDsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHZvaWQg Z3VjX2xvZ19jYXB0dXJlX2xvZ3Moc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+IEBAIC01MjUsNyAr NTI1LDcgQEAgaW50IGludGVsX2d1Y19sb2dfbGV2ZWxfc2V0KHN0cnVjdCBpbnRlbF9ndWMgKmd1 YywgdTY0IHZhbCkKPiAgIAkgICAgR1VDX0xPR19MRVZFTF9UT19WRVJCT1NJVFkodmFsKSA+IEdV Q19MT0dfVkVSQk9TSVRZX01BWCkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiAtCW11dGV4 X2xvY2soJmd1Yy0+bG9nLnJ1bnRpbWUubG9jayk7Cj4gKwltdXRleF9sb2NrKCZndWMtPmxvZy5s b2NrKTsKPiAgIAo+ICAgCWlmIChpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsID09IHZhbCkg ewo+ICAgCQlyZXQgPSAwOwo+IEBAIC01NDIsNyArNTQyLDcgQEAgaW50IGludGVsX2d1Y19sb2df bGV2ZWxfc2V0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTY0IHZhbCkKPiAgIAlpOTE1X21vZHBh cmFtcy5ndWNfbG9nX2xldmVsID0gdmFsOwo+ICAgCj4gICBvdXRfdW5sb2NrOgo+IC0JbXV0ZXhf dW5sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICsJbXV0ZXhfdW5sb2NrKCZndWMtPmxv Zy5sb2NrKTsKPiAgIAo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4gQEAgLTU1MSw5ICs1NTEsOSBA QCBpbnQgaW50ZWxfZ3VjX2xvZ19yZWxheV9vcGVuKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAg IHsKPiAgIAlpbnQgcmV0Owo+ICAgCj4gLQltdXRleF9sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxv Y2spOwo+ICsJbXV0ZXhfbG9jaygmZ3VjLT5sb2cubG9jayk7Cj4gICAKPiAtCWlmIChndWNfbG9n X2hhc19ydW50aW1lKGd1YykpIHsKPiArCWlmIChndWNfbG9nX3JlbGF5X2VuYWJsZWQoZ3VjKSkg ewo+ICAgCQlyZXQgPSAtRUVYSVNUOwo+ICAgCQlnb3RvIG91dF91bmxvY2s7Cj4gICAJfQo+IEBA IC01NzYsNyArNTc2LDcgQEAgaW50IGludGVsX2d1Y19sb2dfcmVsYXlfb3BlbihzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpCj4gICAJaWYgKHJldCkKPiAgIAkJZ290byBvdXRfcmVsYXk7Cj4gICAKPiAt CW11dGV4X3VubG9jaygmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiArCW11dGV4X3VubG9jaygm Z3VjLT5sb2cubG9jayk7Cj4gICAKPiAgIAlndWNfbG9nX2ZsdXNoX2lycV9lbmFibGUoZ3VjKTsK PiAgIAo+IEBAIC01ODUsMTQgKzU4NSwxNCBAQCBpbnQgaW50ZWxfZ3VjX2xvZ19yZWxheV9vcGVu KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAkgKiB0aGUgZmx1c2ggbm90aWZpY2F0aW9uLiBU aGlzIG1lYW5zIHRoYXQgd2UgbmVlZCB0byB1bmNvbmRpdGlvbmFsbHkKPiAgIAkgKiBmbHVzaCBv biByZWxheSBlbmFibGluZywgc2luY2UgR3VDIG9ubHkgbm90aWZpZXMgdXMgb25jZS4KPiAgIAkg Ki8KPiAtCXF1ZXVlX3dvcmsoZ3VjLT5sb2cucnVudGltZS5mbHVzaF93cSwgJmd1Yy0+bG9nLnJ1 bnRpbWUuZmx1c2hfd29yayk7Cj4gKwlxdWV1ZV93b3JrKGd1Yy0+bG9nLmZsdXNoX3dxLCAmZ3Vj LT5sb2cuZmx1c2hfd29yayk7Cj4gICAKPiAgIAlyZXR1cm4gMDsKPiAgIAo+ICAgb3V0X3JlbGF5 Ogo+ICAgCWd1Y19sb2dfcmVsYXlfZGVzdHJveShndWMpOwo+ICAgb3V0X3VubG9jazoKPiAtCW11 dGV4X3VubG9jaygmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiArCW11dGV4X3VubG9jaygmZ3Vj LT5sb2cubG9jayk7Cj4gICAKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+IEBAIC02MDUsMjcgKzYw NSwyNyBAQCB2b2lkIGludGVsX2d1Y19sb2dfcmVsYXlfZmx1c2goc3RydWN0IGludGVsX2d1YyAq Z3VjKQo+ICAgCSAqIEJlZm9yZSBpbml0aWF0aW5nIHRoZSBmb3JjZWZ1bCBmbHVzaCwgd2FpdCBm b3IgYW55IHBlbmRpbmcvb25nb2luZwo+ICAgCSAqIGZsdXNoIHRvIGNvbXBsZXRlIG90aGVyd2lz ZSBmb3JjZWZ1bCBmbHVzaCBtYXkgbm90IGFjdHVhbGx5IGhhcHBlbi4KPiAgIAkgKi8KPiAtCWZs dXNoX3dvcmsoJmd1Yy0+bG9nLnJ1bnRpbWUuZmx1c2hfd29yayk7Cj4gKwlmbHVzaF93b3JrKCZn dWMtPmxvZy5mbHVzaF93b3JrKTsKPiAgIAo+ICAgCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9w cml2KTsKPiAgIAlndWNfbG9nX2ZsdXNoKGd1Yyk7Cj4gICAJaW50ZWxfcnVudGltZV9wbV9wdXQo ZGV2X3ByaXYpOwo+ICAgCj4gLQltdXRleF9sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ ICsJbXV0ZXhfbG9jaygmZ3VjLT5sb2cubG9jayk7Cj4gICAJLyogR3VDIHdvdWxkIGhhdmUgdXBk YXRlZCBsb2cgYnVmZmVyIGJ5IG5vdywgc28gY2FwdHVyZSBpdCAqLwo+ICAgCWd1Y19sb2dfY2Fw dHVyZV9sb2dzKGd1Yyk7Cj4gLQltdXRleF91bmxvY2soJmd1Yy0+bG9nLnJ1bnRpbWUubG9jayk7 Cj4gKwltdXRleF91bmxvY2soJmd1Yy0+bG9nLmxvY2spOwo+ICAgfQo+ICAgCj4gICB2b2lkIGlu dGVsX2d1Y19sb2dfcmVsYXlfY2xvc2Uoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgewo+IC0J R0VNX0JVR19PTighZ3VjX2xvZ19oYXNfcnVudGltZShndWMpKTsKPiArCUdFTV9CVUdfT04oIWd1 Y19sb2dfcmVsYXlfZW5hYmxlZChndWMpKTsKPiAgIAo+ICAgCWd1Y19sb2dfZmx1c2hfaXJxX2Rp c2FibGUoZ3VjKTsKPiAtCWZsdXNoX3dvcmsoJmd1Yy0+bG9nLnJ1bnRpbWUuZmx1c2hfd29yayk7 Cj4gKwlmbHVzaF93b3JrKCZndWMtPmxvZy5mbHVzaF93b3JrKTsKPiAgIAo+IC0JbXV0ZXhfbG9j aygmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiArCW11dGV4X2xvY2soJmd1Yy0+bG9nLmxvY2sp Owo+ICAgCWd1Y19sb2dfdW5tYXAoZ3VjKTsKPiAgIAlndWNfbG9nX3JlbGF5X2Rlc3Ryb3koZ3Vj KTsKPiAtCW11dGV4X3VubG9jaygmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiArCW11dGV4X3Vu bG9jaygmZ3VjLT5sb2cubG9jayk7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Y19sb2cuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19s b2cuaAo+IGluZGV4IGRmOTFmMTJhMzZlZC4uMTFmNDllZjQxZjAxIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Y19sb2cuaAo+IEBAIC00MiwxNCArNDIsMTEgQEAgc3RydWN0IGludGVs X2d1YzsKPiAgIHN0cnVjdCBpbnRlbF9ndWNfbG9nIHsKPiAgIAl1MzIgZmxhZ3M7Cj4gICAJc3Ry dWN0IGk5MTVfdm1hICp2bWE7Cj4gLQkvKiBUaGUgcnVudGltZSBzdHVmZiBnZXRzIGNyZWF0ZWQg b25seSB3aGVuIEd1QyBsb2dnaW5nIGdldHMgZW5hYmxlZCAqLwo+IC0Jc3RydWN0IHsKPiAtCQl2 b2lkICpidWZfYWRkcjsKPiAtCQlzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqZmx1c2hfd3E7Cj4g LQkJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX3dvcms7Cj4gLQkJc3RydWN0IHJjaGFuICpyZWxh eV9jaGFuOwo+IC0JCXN0cnVjdCBtdXRleCBsb2NrOwo+IC0JfSBydW50aW1lOwo+ICsJdm9pZCAq YnVmX2FkZHI7Cj4gKwlzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqZmx1c2hfd3E7Cj4gKwlzdHJ1 Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfd29yazsKPiArCXN0cnVjdCByY2hhbiAqcmVsYXlfY2hhbjsK PiArCXN0cnVjdCBtdXRleCBsb2NrOwo+ICAgCS8qIGxvZ2dpbmcgcmVsYXRlZCBzdGF0cyAqLwo+ ICAgCXUzMiBjYXB0dXJlX21pc3NfY291bnQ7Cj4gICAJdTMyIGZsdXNoX2ludGVycnVwdF9jb3Vu dDsKCi0tIApUaGFua3MsClNhZ2FyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK